aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-06-17 00:03:21 +1200
committerGitHub <noreply@github.com>2017-06-17 00:03:21 +1200
commit9f4e34dd799187b32226652fdea9868c4ef5ddb4 (patch)
tree8a3709270f34a639275ef83fc2ec26d0b3897708
parentafacdd300924af3a0362a14c02db2212f8da147a (diff)
parent2149abd164b56c028072ef5f6ea8cdd11a905985 (diff)
downloadtraccar-server-9f4e34dd799187b32226652fdea9868c4ef5ddb4.tar.gz
traccar-server-9f4e34dd799187b32226652fdea9868c4ef5ddb4.tar.bz2
traccar-server-9f4e34dd799187b32226652fdea9868c4ef5ddb4.zip
Merge pull request #3258 from Abyss777/archive_attribute
Revert satellites check in wondex and add 'archive' in wialon and granit
-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);