aboutsummaryrefslogtreecommitdiff
path: root/src/org
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 /src/org
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
Diffstat (limited to 'src/org')
-rw-r--r--src/org/traccar/FilterHandler.java7
-rw-r--r--src/org/traccar/protocol/WondexProtocolDecoder.java3
2 files changed, 7 insertions, 3 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());