aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2024-07-07 12:48:35 -0700
committerAnton Tananaev <anton@traccar.org>2024-07-07 12:48:35 -0700
commitcf6aa038b7514201ffb89fa26a4ba7d921b8f16f (patch)
tree671cf39466dfe8bb7f837c25f4d52d3362b19575
parentd0536ccbc1b7234784c5e48288bbac00a60ef821 (diff)
downloadtrackermap-server-cf6aa038b7514201ffb89fa26a4ba7d921b8f16f.tar.gz
trackermap-server-cf6aa038b7514201ffb89fa26a4ba7d921b8f16f.tar.bz2
trackermap-server-cf6aa038b7514201ffb89fa26a4ba7d921b8f16f.zip
Migrate to records
-rw-r--r--src/main/java/org/traccar/api/resource/NotificationResource.java4
-rw-r--r--src/main/java/org/traccar/helper/Log.java4
-rw-r--r--src/main/java/org/traccar/model/Pair.java56
-rw-r--r--src/main/java/org/traccar/model/Typed.java36
-rw-r--r--src/main/java/org/traccar/session/ConnectionKey.java30
-rw-r--r--src/main/java/org/traccar/session/cache/CacheGraph.java2
-rw-r--r--src/main/java/org/traccar/session/cache/CacheKey.java41
-rw-r--r--src/main/java/org/traccar/storage/MemoryStorage.java10
8 files changed, 31 insertions, 152 deletions
diff --git a/src/main/java/org/traccar/api/resource/NotificationResource.java b/src/main/java/org/traccar/api/resource/NotificationResource.java
index a41d00cf3..8bc81a3a4 100644
--- a/src/main/java/org/traccar/api/resource/NotificationResource.java
+++ b/src/main/java/org/traccar/api/resource/NotificationResource.java
@@ -85,7 +85,7 @@ public class NotificationResource extends ExtendedObjectResource<Notification> {
public Collection<Typed> getNotificators(@QueryParam("announcement") boolean announcement) {
Set<String> announcementsUnsupported = Set.of("command", "web");
return notificatorManager.getAllNotificatorTypes().stream()
- .filter(typed -> !announcement || !announcementsUnsupported.contains(typed.getType()))
+ .filter(typed -> !announcement || !announcementsUnsupported.contains(typed.type()))
.collect(Collectors.toUnmodifiableSet());
}
@@ -94,7 +94,7 @@ public class NotificationResource extends ExtendedObjectResource<Notification> {
public Response testMessage() throws MessageException, StorageException {
User user = permissionsService.getUser(getUserId());
for (Typed method : notificatorManager.getAllNotificatorTypes()) {
- notificatorManager.getNotificator(method.getType()).send(null, user, new Event("test", 0), null);
+ notificatorManager.getNotificator(method.type()).send(null, user, new Event("test", 0), null);
}
return Response.noContent().build();
}
diff --git a/src/main/java/org/traccar/helper/Log.java b/src/main/java/org/traccar/helper/Log.java
index c68198542..d01d70559 100644
--- a/src/main/java/org/traccar/helper/Log.java
+++ b/src/main/java/org/traccar/helper/Log.java
@@ -284,8 +284,8 @@ public final class Log {
}
}
return stores.stream()
- .sorted(Comparator.comparingDouble(p -> p.getFirst() / (double) p.getSecond()))
- .flatMap(p -> Stream.of(p.getFirst(), p.getSecond()))
+ .sorted(Comparator.comparingDouble(p -> p.first() / (double) p.second()))
+ .flatMap(p -> Stream.of(p.first(), p.second()))
.mapToLong(Long::longValue)
.toArray();
}
diff --git a/src/main/java/org/traccar/model/Pair.java b/src/main/java/org/traccar/model/Pair.java
index b679de57b..90b82d577 100644
--- a/src/main/java/org/traccar/model/Pair.java
+++ b/src/main/java/org/traccar/model/Pair.java
@@ -1,43 +1,19 @@
+/*
+ * Copyright 2024 Anton Tananaev (anton@traccar.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.traccar.model;
-import java.util.Objects;
-
-public class Pair<K, V> {
-
- private final K first;
- private final V second;
-
- public Pair(K first, V second) {
- this.first = first;
- this.second = second;
- }
-
- public K getFirst() {
- return first;
- }
-
- public V getSecond() {
- return second;
- }
-
- @SuppressWarnings("rawtypes")
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
-
- Pair pair = (Pair) o;
-
- return Objects.equals(first, pair.first) && Objects.equals(second, pair.second);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(first, second);
- }
-
+public record Pair<K, V>(K first, V second) {
}
diff --git a/src/main/java/org/traccar/model/Typed.java b/src/main/java/org/traccar/model/Typed.java
index fc671ac70..0476fdc4b 100644
--- a/src/main/java/org/traccar/model/Typed.java
+++ b/src/main/java/org/traccar/model/Typed.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 Anton Tananaev (anton@traccar.org)
+ * Copyright 2020 - 2024 Anton Tananaev (anton@traccar.org)
* Copyright 2016 Gabor Somogyi (gabor.g.somogyi@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,37 +16,5 @@
*/
package org.traccar.model;
-import java.util.Objects;
-
-public class Typed {
-
- private String type;
-
- public Typed(String type) {
- this.type = type;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- return Objects.equals(type, ((Typed) o).type);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(type);
- }
+public record Typed(String type) {
}
diff --git a/src/main/java/org/traccar/session/ConnectionKey.java b/src/main/java/org/traccar/session/ConnectionKey.java
index 3b7e2ebf8..807e68776 100644
--- a/src/main/java/org/traccar/session/ConnectionKey.java
+++ b/src/main/java/org/traccar/session/ConnectionKey.java
@@ -18,37 +18,9 @@ package org.traccar.session;
import io.netty.channel.Channel;
import java.net.SocketAddress;
-import java.util.Objects;
-
-public class ConnectionKey {
-
- private final SocketAddress localAddress;
- private final SocketAddress remoteAddress;
+public record ConnectionKey(SocketAddress localAddress, SocketAddress remoteAddress) {
public ConnectionKey(Channel channel, SocketAddress remoteAddress) {
this(channel.localAddress(), remoteAddress);
}
-
- public ConnectionKey(SocketAddress localAddress, SocketAddress remoteAddress) {
- this.localAddress = localAddress;
- this.remoteAddress = remoteAddress;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- ConnectionKey that = (ConnectionKey) o;
- return Objects.equals(localAddress, that.localAddress) && Objects.equals(remoteAddress, that.remoteAddress);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(localAddress, remoteAddress);
- }
-
}
diff --git a/src/main/java/org/traccar/session/cache/CacheGraph.java b/src/main/java/org/traccar/session/cache/CacheGraph.java
index c99997288..a4c2ce61b 100644
--- a/src/main/java/org/traccar/session/cache/CacheGraph.java
+++ b/src/main/java/org/traccar/session/cache/CacheGraph.java
@@ -38,7 +38,7 @@ public class CacheGraph {
CacheKey key = new CacheKey(clazz, id);
CacheNode node = nodes.remove(key);
if (node != null) {
- node.getAllLinks(false).forEach(child -> child.getLinks(key.getClazz(), true).remove(node));
+ node.getAllLinks(false).forEach(child -> child.getLinks(key.clazz(), true).remove(node));
}
roots.remove(key);
}
diff --git a/src/main/java/org/traccar/session/cache/CacheKey.java b/src/main/java/org/traccar/session/cache/CacheKey.java
index f27d5fbf5..001058e4c 100644
--- a/src/main/java/org/traccar/session/cache/CacheKey.java
+++ b/src/main/java/org/traccar/session/cache/CacheKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Anton Tananaev (anton@traccar.org)
+ * Copyright 2022 - 2024 Anton Tananaev (anton@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,45 +17,8 @@ package org.traccar.session.cache;
import org.traccar.model.BaseModel;
-import java.util.Objects;
-
-class CacheKey {
-
- private final Class<? extends BaseModel> clazz;
- private final long id;
-
+record CacheKey(Class<? extends BaseModel> clazz, long id) {
CacheKey(BaseModel object) {
this(object.getClass(), object.getId());
}
-
- CacheKey(Class<? extends BaseModel> clazz, long id) {
- this.clazz = clazz;
- this.id = id;
- }
-
- public Class<? extends BaseModel> getClazz() {
- return clazz;
- }
-
- public boolean classIs(Class<? extends BaseModel> clazz) {
- return clazz.equals(this.clazz);
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- CacheKey cacheKey = (CacheKey) o;
- return id == cacheKey.id && Objects.equals(clazz, cacheKey.clazz);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(clazz, id);
- }
-
}
diff --git a/src/main/java/org/traccar/storage/MemoryStorage.java b/src/main/java/org/traccar/storage/MemoryStorage.java
index 18cb6a294..1ec8bfe57 100644
--- a/src/main/java/org/traccar/storage/MemoryStorage.java
+++ b/src/main/java/org/traccar/storage/MemoryStorage.java
@@ -95,9 +95,9 @@ public class MemoryStorage extends Storage {
return getPermissionsSet(condition.getOwnerClass(), condition.getPropertyClass()).stream()
.anyMatch(pair -> {
if (condition.getOwnerId() > 0) {
- return pair.getFirst() == condition.getOwnerId() && pair.getSecond() == id;
+ return pair.first() == condition.getOwnerId() && pair.second() == id;
} else {
- return pair.getFirst() == id && pair.getSecond() == condition.getPropertyId();
+ return pair.first() == id && pair.second() == condition.getPropertyId();
}
});
@@ -168,9 +168,9 @@ public class MemoryStorage extends Storage {
Class<? extends BaseModel> ownerClass, long ownerId,
Class<? extends BaseModel> propertyClass, long propertyId) {
return getPermissionsSet(ownerClass, propertyClass).stream()
- .filter(pair -> ownerId == 0 || pair.getFirst().equals(ownerId))
- .filter(pair -> propertyId == 0 || pair.getSecond().equals(propertyId))
- .map(pair -> new Permission(ownerClass, pair.getFirst(), propertyClass, pair.getSecond()))
+ .filter(pair -> ownerId == 0 || pair.first().equals(ownerId))
+ .filter(pair -> propertyId == 0 || pair.second().equals(propertyId))
+ .map(pair -> new Permission(ownerClass, pair.first(), propertyClass, pair.second()))
.collect(Collectors.toList());
}