aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-06-16 14:03:08 +0500
committerAbyss777 <abyss@fox5.ru>2017-06-16 14:05:26 +0500
commit2149abd164b56c028072ef5f6ea8cdd11a905985 (patch)
treed773cae3f1712a39011076393f331af1eff36733
parentfe4ea97dabc55c4585d8b32bd4dae32cd255add3 (diff)
downloadtrackermap-server-2149abd164b56c028072ef5f6ea8cdd11a905985.tar.gz
trackermap-server-2149abd164b56c028072ef5f6ea8cdd11a905985.tar.bz2
trackermap-server-2149abd164b56c028072ef5f6ea8cdd11a905985.zip
- Test 'archive' attribute for boolean
- Add 'archive' attribute for wialon and granit - Reverted check satellites in wondex
-rw-r--r--src/org/traccar/protocol/GranitProtocolDecoder.java1
-rw-r--r--src/org/traccar/protocol/WialonProtocolDecoder.java1
-rw-r--r--src/org/traccar/protocol/WondexProtocolDecoder.java7
-rw-r--r--test/org/traccar/ProtocolTest.java4
4 files changed, 10 insertions, 3 deletions
diff --git a/src/org/traccar/protocol/GranitProtocolDecoder.java b/src/org/traccar/protocol/GranitProtocolDecoder.java
index 7518eee1f..8e935ae9e 100644
--- a/src/org/traccar/protocol/GranitProtocolDecoder.java
+++ b/src/org/traccar/protocol/GranitProtocolDecoder.java
@@ -224,6 +224,7 @@ public class GranitProtocolDecoder extends BaseProtocolDecoder {
position.setDeviceId(deviceSession.getDeviceId());
position.setTime(new Date((unixTime + i * timeIncrement) * 1000));
decodeStructure(buf, position);
+ position.set(Position.KEY_ARCHIVE, true);
positions.add(position);
} else {
buf.skipBytes(20); // skip filled 0xFE structure
diff --git a/src/org/traccar/protocol/WialonProtocolDecoder.java b/src/org/traccar/protocol/WialonProtocolDecoder.java
index 72bf51862..82098413b 100644
--- a/src/org/traccar/protocol/WialonProtocolDecoder.java
+++ b/src/org/traccar/protocol/WialonProtocolDecoder.java
@@ -166,6 +166,7 @@ public class WialonProtocolDecoder extends BaseProtocolDecoder {
for (String message : messages) {
Position position = decodePosition(channel, remoteAddress, message);
if (position != null) {
+ position.set(Position.KEY_ARCHIVE, true);
positions.add(position);
}
}
diff --git a/src/org/traccar/protocol/WondexProtocolDecoder.java b/src/org/traccar/protocol/WondexProtocolDecoder.java
index 8be5e09b8..e27745f38 100644
--- a/src/org/traccar/protocol/WondexProtocolDecoder.java
+++ b/src/org/traccar/protocol/WondexProtocolDecoder.java
@@ -36,7 +36,7 @@ public class WondexProtocolDecoder extends BaseProtocolDecoder {
}
private static final Pattern PATTERN = new PatternBuilder()
- .number("[^d]*") // deader
+ .number("[^d]*") // header
.number("(d+),") // device identifier
.number("(dddd)(dd)(dd)") // date (yyyymmdd)
.number("(dd)(dd)(dd),") // time (hhmmss)
@@ -105,8 +105,9 @@ public class WondexProtocolDecoder extends BaseProtocolDecoder {
position.setCourse(parser.nextDouble(0));
position.setAltitude(parser.nextDouble(0));
- position.setValid(true);
- position.set(Position.KEY_SATELLITES, parser.nextInt(0));
+ int satellites = parser.nextInt(0);
+ position.setValid(satellites != 0);
+ position.set(Position.KEY_SATELLITES, satellites);
position.set(Position.KEY_EVENT, parser.next());
position.set(Position.KEY_BATTERY, parser.nextDouble());
diff --git a/test/org/traccar/ProtocolTest.java b/test/org/traccar/ProtocolTest.java
index eaecfab0b..3b801c6eb 100644
--- a/test/org/traccar/ProtocolTest.java
+++ b/test/org/traccar/ProtocolTest.java
@@ -241,6 +241,10 @@ public class ProtocolTest extends BaseTest {
Assert.assertTrue(attributes.get(Position.KEY_MOTION) instanceof Boolean);
}
+ if (attributes.containsKey(Position.KEY_ARCHIVE)) {
+ Assert.assertTrue(attributes.get(Position.KEY_ARCHIVE) instanceof Boolean);
+ }
+
if (position.getNetwork() != null && position.getNetwork().getCellTowers() != null) {
for (CellTower cellTower : position.getNetwork().getCellTowers()) {
checkInteger(cellTower.getMobileCountryCode(), 0, 999);