diff options
author | Anton Tananaev <anton@traccar.org> | 2022-07-09 16:56:36 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2022-07-09 16:56:36 -0700 |
commit | 6bf82f7e29e78c9ef4eab22530749991f420b2aa (patch) | |
tree | 03c6d6803d6367220fc78d554f7bd990577d427a /src/main/java | |
parent | 80b3af98806f9e837f65e8074882a97b22d65427 (diff) | |
download | trackermap-server-6bf82f7e29e78c9ef4eab22530749991f420b2aa.tar.gz trackermap-server-6bf82f7e29e78c9ef4eab22530749991f420b2aa.tar.bz2 trackermap-server-6bf82f7e29e78c9ef4eab22530749991f420b2aa.zip |
Filter null unique ids
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/traccar/protocol/WialonProtocolDecoder.java | 2 | ||||
-rw-r--r-- | src/main/java/org/traccar/session/ConnectionManager.java | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/org/traccar/protocol/WialonProtocolDecoder.java b/src/main/java/org/traccar/protocol/WialonProtocolDecoder.java index 8dd7aab24..3d57525b7 100644 --- a/src/main/java/org/traccar/protocol/WialonProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/WialonProtocolDecoder.java @@ -39,7 +39,7 @@ public class WialonProtocolDecoder extends BaseProtocolDecoder { } private static final Pattern PATTERN_ANY = new PatternBuilder() - .expression("([^#]*)?") // imei + .expression("([^#]+)?") // imei .text("#") // start byte .expression("([^#]+)") // type .text("#") // separator diff --git a/src/main/java/org/traccar/session/ConnectionManager.java b/src/main/java/org/traccar/session/ConnectionManager.java index abc13988d..ad02c591b 100644 --- a/src/main/java/org/traccar/session/ConnectionManager.java +++ b/src/main/java/org/traccar/session/ConnectionManager.java @@ -47,11 +47,13 @@ import javax.inject.Inject; import javax.inject.Singleton; import java.net.InetSocketAddress; import java.net.SocketAddress; +import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; @@ -114,6 +116,8 @@ public class ConnectionManager implements BroadcastInterface { Endpoint endpoint = new Endpoint(channel, remoteAddress); Map<String, DeviceSession> endpointSessions = sessionsByEndpoint.getOrDefault( endpoint, new ConcurrentHashMap<>()); + + uniqueIds = Arrays.stream(uniqueIds).filter(Objects::nonNull).toArray(String[]::new); if (uniqueIds.length > 0) { for (String uniqueId : uniqueIds) { DeviceSession deviceSession = endpointSessions.get(uniqueId); |