From 36788f4eb8ef055c8409d744515de3ef4ef037c2 Mon Sep 17 00:00:00 2001 From: Florian Date: Wed, 14 Jun 2017 20:59:05 +0200 Subject: Filter Invalid upgrade and Wondex fix Filter invalid filters now impossible positions. And in Wondex protocol answers to messages are no longer marked as invalid and Sat over 2 check removed. Wondex decoder test changed because of the removed Sat over 2 check --- src/org/traccar/FilterHandler.java | 7 ++++++- src/org/traccar/protocol/WondexProtocolDecoder.java | 3 +-- test/org/traccar/protocol/WondexProtocolDecoderTest.java | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/org/traccar/FilterHandler.java b/src/org/traccar/FilterHandler.java index 5e1214aba..da2562955 100644 --- a/src/org/traccar/FilterHandler.java +++ b/src/org/traccar/FilterHandler.java @@ -84,7 +84,12 @@ public class FilterHandler extends BaseDataHandler { } private boolean filterInvalid(Position position) { - return filterInvalid && !position.getValid(); + if (filterInvalid) { + return !position.getValid() || position.getLatitude() > 90 + || position.getLongitude() > 180 || position.getLatitude() < -90 + || position.getLongitude() < -180; + } + return false; } private boolean filterZero(Position position) { diff --git a/src/org/traccar/protocol/WondexProtocolDecoder.java b/src/org/traccar/protocol/WondexProtocolDecoder.java index 8249d2c68..b1e63e154 100644 --- a/src/org/traccar/protocol/WondexProtocolDecoder.java +++ b/src/org/traccar/protocol/WondexProtocolDecoder.java @@ -78,7 +78,6 @@ public class WondexProtocolDecoder extends BaseProtocolDecoder { position.setProtocol(getProtocolName()); position.setDeviceId(deviceSession.getDeviceId()); getLastLocation(position, new Date()); - position.setValid(false); position.set(Position.KEY_RESULT, buf.toString(StandardCharsets.US_ASCII)); return position; @@ -107,7 +106,7 @@ public class WondexProtocolDecoder extends BaseProtocolDecoder { position.setAltitude(parser.nextDouble(0)); int satellites = parser.nextInt(0); - position.setValid(satellites >= 3); + position.setValid(true); position.set(Position.KEY_SATELLITES, satellites); position.set(Position.KEY_EVENT, parser.next()); diff --git a/test/org/traccar/protocol/WondexProtocolDecoderTest.java b/test/org/traccar/protocol/WondexProtocolDecoderTest.java index c68b41671..c7ccfb457 100644 --- a/test/org/traccar/protocol/WondexProtocolDecoderTest.java +++ b/test/org/traccar/protocol/WondexProtocolDecoderTest.java @@ -16,7 +16,7 @@ public class WondexProtocolDecoderTest extends ProtocolTest { verifyPosition(decoder, buffer( "2000000257,20151030145351,69.379976,53.283905,0,0,16,2,0,0,469.1,58.9,0.0"), - position("2015-10-30 14:53:51.000", false, 53.28390, 69.37998)); + position("2015-10-30 14:53:51.000", true, 53.28390, 69.37998)); verifyPosition(decoder, buffer( "2000000232,20151030145206,51.166900,43.651353,0,132,11,2,0,0,0.0,0.0,0.0")); -- cgit v1.2.3