From 9b4b52b42d9b6537e2e526ebdb93fe036475c9cb Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Fri, 17 Jul 2015 10:48:08 +1200 Subject: Correct GPS Marker decoder --- src/org/traccar/protocol/GpsMarkerProtocolDecoder.java | 6 ++---- test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java | 7 +++++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java b/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java index 0c1bba84c..3c095853f 100644 --- a/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java +++ b/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java @@ -32,12 +32,10 @@ public class GpsMarkerProtocolDecoder extends BaseProtocolDecoder { super(protocol); } - //  DDMMYYHHMM GGMMmmmm GGGMMmmmm - //$GM 1 350123456789012 T1005111233 N55516789 E037561234 000 000 3 52 00298 - //$GM 203 863071014445404 T150715202258 N55481576 E037292753 000 000 4 05 30301 private static final Pattern pattern = Pattern.compile( "\\$GM" + - "\\d+" + // Type + "\\d" + // Type + "(?:\\p{XDigit}{2})?" + // Index "(\\d{15})" + // IMEI "T(\\d{2})(\\d{2})(\\d{2})" + // Date "(\\d{2})(\\d{2})(\\d{2})?" + // Time diff --git a/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java b/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java index eb3ccfdb7..6e3ef6c8a 100644 --- a/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java +++ b/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java @@ -12,6 +12,13 @@ public class GpsMarkerProtocolDecoderTest extends ProtocolDecoderTest { GpsMarkerProtocolDecoder decoder = new GpsMarkerProtocolDecoder(new GpsMarkerProtocol()); + + assertNull(decoder.decode(null, null, + "$GM300350123456789012T100511123300G25000001772F185200000000000000005230298#")); + + verify(decoder.decode(null, null, + "$GM200350123456789012T100511123300N55516789E03756123400000035230298#")); + verify(decoder.decode(null, null, "$GM1350123456789012T1005111233N55516789E03756123400000035200298#")); -- cgit v1.2.3