aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2018-09-18 10:17:02 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2018-09-18 10:17:02 +1200
commit3afd999252dc3dc085304d85d911aabc40175ec4 (patch)
tree947a909daccc3bd05e2ac00d3ed087d9b10c6a49
parent1432d04a7be8397becd5c88f9e1f075861acbfdc (diff)
downloadtrackermap-server-3afd999252dc3dc085304d85d911aabc40175ec4.tar.gz
trackermap-server-3afd999252dc3dc085304d85d911aabc40175ec4.tar.bz2
trackermap-server-3afd999252dc3dc085304d85d911aabc40175ec4.zip
Fix OpenGTS time decoding (fix #4057)
-rw-r--r--src/org/traccar/protocol/OpenGtsProtocolDecoder.java2
-rw-r--r--test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/OpenGtsProtocolDecoder.java b/src/org/traccar/protocol/OpenGtsProtocolDecoder.java
index 6ae3dc3ad..c1967917f 100644
--- a/src/org/traccar/protocol/OpenGtsProtocolDecoder.java
+++ b/src/org/traccar/protocol/OpenGtsProtocolDecoder.java
@@ -35,7 +35,7 @@ public class OpenGtsProtocolDecoder extends BaseHttpProtocolDecoder {
private static final Pattern PATTERN = new PatternBuilder()
.text("$GPRMC,")
- .number("(dd)(dd)(dd),") // time (hhmmss)
+ .number("(dd)(dd)(dd)(?:.d+)?,") // time (hhmmss)
.expression("([AV]),") // validity
.number("(d+)(dd.d+),") // latitude
.expression("([NS]),")
diff --git a/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java b/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java
index 0e6be8d10..5942f38d0 100644
--- a/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java
@@ -11,6 +11,9 @@ public class OpenGtsProtocolDecoderTest extends ProtocolTest {
OpenGtsProtocolDecoder decoder = new OpenGtsProtocolDecoder(new OpenGtsProtocol());
verifyPosition(decoder, request(
+ "/?id=gprmc_999000000000003&gprmc=$GPRMC,143013.0,A,5006.728217,N,01416.437869,E,0.0,329.6,281017,1.2,E,A*0E"));
+
+ verifyPosition(decoder, request(
"/?id=123456789012345&dev=dev_name&acct=account&batt=0&code=0xF020&alt=160.5&gprmc=$GPRMC,191555,A,5025.46624,N,3030.39937,E,0.000000,0.000000,200218,,*2F"));
}