aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjon-stumpf <jon.stumpf@gmail.com>2017-03-16 21:16:25 -0400
committerjon-stumpf <jon.stumpf@gmail.com>2017-03-17 11:34:32 -0400
commit6e21afb250ba74d1741e038e0bb1aba51214b52f (patch)
treea63cd5cd0b9cbb7f1d66b9f7959a06d420b65cfe
parent138c254acaf9ad1274be19e1e566fc45d56d3433 (diff)
downloadtraccar-server-6e21afb250ba74d1741e038e0bb1aba51214b52f.tar.gz
traccar-server-6e21afb250ba74d1741e038e0bb1aba51214b52f.tar.bz2
traccar-server-6e21afb250ba74d1741e038e0bb1aba51214b52f.zip
Removed capture of milliseconds from protocols that did not support ".(ddd)": Enfora, GpsGate, Meiligao, and Xexun;
-rw-r--r--src/org/traccar/protocol/EnforaProtocolDecoder.java4
-rw-r--r--src/org/traccar/protocol/GpsGateProtocolDecoder.java8
-rw-r--r--src/org/traccar/protocol/MeiligaoProtocolDecoder.java5
-rw-r--r--src/org/traccar/protocol/XexunProtocolDecoder.java4
4 files changed, 9 insertions, 12 deletions
diff --git a/src/org/traccar/protocol/EnforaProtocolDecoder.java b/src/org/traccar/protocol/EnforaProtocolDecoder.java
index 6f6273325..763cf08ef 100644
--- a/src/org/traccar/protocol/EnforaProtocolDecoder.java
+++ b/src/org/traccar/protocol/EnforaProtocolDecoder.java
@@ -38,7 +38,7 @@ public class EnforaProtocolDecoder extends BaseProtocolDecoder {
private static final Pattern PATTERN = new PatternBuilder()
.text("GPRMC,")
- .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss)
+ .number("(dd)(dd)(dd).?d*,") // time (hhmmss.sss)
.expression("([AV]),") // validity
.number("(dd)(dd.d+),") // latitude
.expression("([NS]),")
@@ -100,7 +100,7 @@ public class EnforaProtocolDecoder extends BaseProtocolDecoder {
position.setDeviceId(deviceSession.getDeviceId());
DateBuilder dateBuilder = new DateBuilder()
- .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt());
+ .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt());
position.setValid(parser.next().equals("A"));
position.setLatitude(parser.nextCoordinate());
diff --git a/src/org/traccar/protocol/GpsGateProtocolDecoder.java b/src/org/traccar/protocol/GpsGateProtocolDecoder.java
index 31e793516..089d8186e 100644
--- a/src/org/traccar/protocol/GpsGateProtocolDecoder.java
+++ b/src/org/traccar/protocol/GpsGateProtocolDecoder.java
@@ -35,7 +35,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder {
private static final Pattern PATTERN_GPRMC = new PatternBuilder()
.text("$GPRMC,")
- .number("(dd)(dd)(dd).?(ddd)?,") // time (hhmmss.sss)
+ .number("(dd)(dd)(dd).?d*,") // time (hhmmss)
.expression("([AV]),") // validity
.number("(dd)(dd.d+),") // latitude
.expression("([NS]),")
@@ -60,7 +60,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder {
.number("(d+.?d*),") // speed
.number("(d+.?d*)?,") // course
.number("(dd)(dd)(dd),") // date (ddmmyy)
- .number("(dd)(dd)(dd).?(d+)?,") // time (hhmmss.ms)
+ .number("(dd)(dd)(dd).?d*,") // time (hhmmss)
.expression("([01])") // validity
.any()
.compile();
@@ -123,7 +123,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder {
position.setDeviceId(deviceSession.getDeviceId());
DateBuilder dateBuilder = new DateBuilder()
- .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt());
+ .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt());
position.setValid(parser.next().equals("A"));
position.setLatitude(parser.nextCoordinate());
@@ -158,7 +158,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder {
position.setSpeed(parser.nextDouble());
position.setCourse(parser.nextDouble());
- position.setTime(parser.nextDateTime(Parser.DateTimeFormat.DMY2_HMSms));
+ position.setTime(parser.nextDateTime(Parser.DateTimeFormat.DMY2_HMS));
position.setValid(parser.next().equals("1"));
diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
index a649ea83a..d49d337ca 100644
--- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
+++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
@@ -39,7 +39,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder {
}
private static final Pattern PATTERN = new PatternBuilder()
- .number("(dd)(dd)(dd).?(ddd)?,") // time (hhmmss.sss)
+ .number("(dd)(dd)(dd).?d*,") // time (hhmmss.sss)
.expression("([AV]),") // validity
.number("(d+)(dd.d+),") // latitude
.expression("([NS]),")
@@ -211,9 +211,6 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder {
DateBuilder dateBuilder = new DateBuilder()
.setTime(parser.nextInt(), parser.nextInt(), parser.nextInt());
- if (parser.hasNext()) {
- dateBuilder.setMillis(parser.nextInt());
- }
position.setValid(parser.next().equals("A"));
position.setLatitude(parser.nextCoordinate());
diff --git a/src/org/traccar/protocol/XexunProtocolDecoder.java b/src/org/traccar/protocol/XexunProtocolDecoder.java
index 5b783e5e1..a4fe930c4 100644
--- a/src/org/traccar/protocol/XexunProtocolDecoder.java
+++ b/src/org/traccar/protocol/XexunProtocolDecoder.java
@@ -37,7 +37,7 @@ public class XexunProtocolDecoder extends BaseProtocolDecoder {
private static final Pattern PATTERN_BASIC = new PatternBuilder()
.expression("G[PN]RMC,")
- .number("(?:(dd)(dd)(dd))?.(ddd),") // time (hhmmss.sss)
+ .number("(?:(dd)(dd)(dd))?.?d*,") // time (hhmmss.sss)
.expression("([AV]),") // validity
.number("(d*?)(d?d.d+),([NS]),") // latitude
.number("(d*?)(d?d.d+),([EW])?,") // longitude
@@ -104,7 +104,7 @@ public class XexunProtocolDecoder extends BaseProtocolDecoder {
}
DateBuilder dateBuilder = new DateBuilder()
- .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt());
+ .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt());
position.setValid(parser.next().equals("A"));
position.setLatitude(parser.nextCoordinate());