aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-02-27 10:03:45 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2016-02-27 10:03:45 +1300
commit04dd07ab82e8af604fe66df7bc92e59d45c0c916 (patch)
tree8eecc27ee047b5d8683749516bf95600220c3e9f
parent70642da680096f52fe1478690cd7816f41e18c74 (diff)
downloadtraccar-server-04dd07ab82e8af604fe66df7bc92e59d45c0c916.tar.gz
traccar-server-04dd07ab82e8af604fe66df7bc92e59d45c0c916.tar.bz2
traccar-server-04dd07ab82e8af604fe66df7bc92e59d45c0c916.zip
Handle empty values in parser
-rw-r--r--src/org/traccar/helper/Parser.java3
-rw-r--r--test/org/traccar/protocol/XexunProtocolDecoderTest.java3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/org/traccar/helper/Parser.java b/src/org/traccar/helper/Parser.java
index 73713c51c..dcea1c8f7 100644
--- a/src/org/traccar/helper/Parser.java
+++ b/src/org/traccar/helper/Parser.java
@@ -46,7 +46,8 @@ public class Parser {
}
public boolean hasNext(int number) {
- if (matcher.group(position) != null) {
+ String value = matcher.group(position);
+ if (value != null && !value.isEmpty()) {
return true;
} else {
position += number;
diff --git a/test/org/traccar/protocol/XexunProtocolDecoderTest.java b/test/org/traccar/protocol/XexunProtocolDecoderTest.java
index 96560fd03..770c4071d 100644
--- a/test/org/traccar/protocol/XexunProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/XexunProtocolDecoderTest.java
@@ -12,6 +12,9 @@ public class XexunProtocolDecoderTest extends ProtocolTest {
XexunProtocolDecoder decoder = new XexunProtocolDecoder(new XexunProtocol(), false);
verifyPosition(decoder, text(
+ "GPRMC,215853.000,A,5304.9600,N,10.7907,E,1.43,80.67,250216,00,0000.0,A*47,F,,imei:351525018007873,"));
+
+ verifyPosition(decoder, text(
"GPRMC,215853.000,A,5304.9600,N,6.7907,E,1.43,80.67,250216,00,0000.0,A*47,F,,imei:351525018007873,"));
verifyPosition(decoder, text(