aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/protocol/WialonProtocolDecoder.java10
-rw-r--r--test/org/traccar/protocol/WialonProtocolDecoderTest.java5
2 files changed, 10 insertions, 5 deletions
diff --git a/src/org/traccar/protocol/WialonProtocolDecoder.java b/src/org/traccar/protocol/WialonProtocolDecoder.java
index 33656f2a2..65f800351 100644
--- a/src/org/traccar/protocol/WialonProtocolDecoder.java
+++ b/src/org/traccar/protocol/WialonProtocolDecoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2013 Anton Tananaev (anton.tananaev@gmail.com)
+ * Copyright 2013 - 2014 Anton Tananaev (anton.tananaev@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ public class WialonProtocolDecoder extends BaseProtocolDecoder {
super(serverManager);
}
- static private Pattern pattern = Pattern.compile(
+ private static final Pattern pattern = Pattern.compile(
"#S?D#" +
"(\\d{2})(\\d{2})(\\d{2});" + // Date (DDMMYY)
"(\\d{2})(\\d{2})(\\d{2});" + // Time (HHMMSS)
@@ -43,9 +43,9 @@ public class WialonProtocolDecoder extends BaseProtocolDecoder {
"([NS]);" +
"(\\d{3})(\\d{2}\\.\\d+);" + // Longitude (DDDMM.MMMM)
"([EW]);" +
- "(\\d+);" + // Speed
- "(\\d+);" + // Course
- "(\\d+);" + // Altitude
+ "(\\d+\\.?\\d*);" + // Speed
+ "(\\d+\\.?\\d*);" + // Course
+ "(\\d+\\.?\\d*);" + // Altitude
"(\\d+)" + // Satellites
".*"); // Full format
diff --git a/test/org/traccar/protocol/WialonProtocolDecoderTest.java b/test/org/traccar/protocol/WialonProtocolDecoderTest.java
index 0b6306aca..7b85dbd65 100644
--- a/test/org/traccar/protocol/WialonProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/WialonProtocolDecoderTest.java
@@ -15,6 +15,8 @@ public class WialonProtocolDecoderTest {
assertNull(decoder.decode(null, null, "#L#123456789012345;test"));
+ assertNull(decoder.decode(null, null, "#L#2002;NA"));
+
assertNull(decoder.decode(null, null, "#P#"));
verify(decoder.decode(null, null,
@@ -22,6 +24,9 @@ public class WialonProtocolDecoderTest {
verify(decoder.decode(null, null,
"#D#270413;205601;5544.6025;N;03739.6834;E;1;2;3;4;0.0;0;0;14.77,0.02,3.6;NA;count1:1:564,fuel:2:45.8,hw:3:V4.5"));
+
+ verify(decoder.decode(null, null,
+ "#D#190114;051312;4459.6956;N;04105.9930;E;35;306;204.000000;12;NA;452986639;NA;106.000000;NA;sats_gps:1:9,sats_glonass:1:3,balance:2:12123.000000,stay_balance:1:0"));
}