aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian <florian@voit.li>2017-06-14 20:59:05 +0200
committerFlorian <florian@voit.li>2017-06-15 10:04:56 +0200
commit36788f4eb8ef055c8409d744515de3ef4ef037c2 (patch)
treee16437d3e68e66c1689d9a6ed257e45a6f86671e
parente10e10fee9c96cbcd4e79d8616632654df2eed97 (diff)
downloadtraccar-server-36788f4eb8ef055c8409d744515de3ef4ef037c2.tar.gz
traccar-server-36788f4eb8ef055c8409d744515de3ef4ef037c2.tar.bz2
traccar-server-36788f4eb8ef055c8409d744515de3ef4ef037c2.zip
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
-rw-r--r--src/org/traccar/FilterHandler.java7
-rw-r--r--src/org/traccar/protocol/WondexProtocolDecoder.java3
-rw-r--r--test/org/traccar/protocol/WondexProtocolDecoderTest.java2
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"));