aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/TrakMateProtocolDecoder.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-03-18 12:05:09 +1300
committerGitHub <noreply@github.com>2017-03-18 12:05:09 +1300
commit185dfcb02c504fbceae89ece513e51a630a39870 (patch)
tree837a2188c44afbe4f5c81d19d295c9495dc70d11 /src/org/traccar/protocol/TrakMateProtocolDecoder.java
parent8beecc6b90975c972ba76ffbb5a7c975de25530c (diff)
parent7f6280f725100d446405d5f92ca8bd9435d621f4 (diff)
downloadtrackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.tar.gz
trackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.tar.bz2
trackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.zip
Merge pull request #3018 from jon-stumpf/jss-parse-nextDateTime
Date and time decoding improvements
Diffstat (limited to 'src/org/traccar/protocol/TrakMateProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/TrakMateProtocolDecoder.java28
1 files changed, 9 insertions, 19 deletions
diff --git a/src/org/traccar/protocol/TrakMateProtocolDecoder.java b/src/org/traccar/protocol/TrakMateProtocolDecoder.java
index 95eef67c8..03ec6cc67 100644
--- a/src/org/traccar/protocol/TrakMateProtocolDecoder.java
+++ b/src/org/traccar/protocol/TrakMateProtocolDecoder.java
@@ -19,7 +19,6 @@ import org.jboss.netty.channel.Channel;
import org.traccar.BaseProtocolDecoder;
import org.traccar.Context;
import org.traccar.DeviceSession;
-import org.traccar.helper.DateBuilder;
import org.traccar.helper.Parser;
import org.traccar.helper.PatternBuilder;
import org.traccar.model.Position;
@@ -42,8 +41,8 @@ public class TrakMateProtocolDecoder extends BaseProtocolDecoder {
.expression("([^ ]+)|") // uid
.number("(d+.d+)|") // latitude
.number("(d+.d+)|") // longitude
- .number("(dd)(dd)(dd)|") // time
- .number("(dd)(dd)(dd)|") // date
+ .number("(dd)(dd)(dd)|") // time (hhmmss)
+ .number("(dd)(dd)(dd)|") // date (ddmmyy)
.number("(d+.d+)|") // software ver
.number("(d+.d+)|") // Hardware ver
.any()
@@ -55,8 +54,8 @@ public class TrakMateProtocolDecoder extends BaseProtocolDecoder {
.number("(d+)|") // seq
.number("(d+.d+)|") // latitude
.number("(d+.d+)|") // longitude
- .number("(dd)(dd)(dd)|") // time
- .number("(dd)(dd)(dd)|") // date
+ .number("(dd)(dd)(dd)|") // time (hhmmss)
+ .number("(dd)(dd)(dd)|") // date (ddmmyy)
.number("(d+.d+)|") // speed
.number("(d+.d+)|") // heading
.number("(d+)|") // ignition
@@ -81,8 +80,8 @@ public class TrakMateProtocolDecoder extends BaseProtocolDecoder {
.number("(d+)|") // Alert status
.number("(d+.d+)|") // latitude
.number("(d+.d+)|") // longitude
- .number("(dd)(dd)(dd)|") // time
- .number("(dd)(dd)(dd)|") // date
+ .number("(dd)(dd)(dd)|") // time (hhmmss)
+ .number("(dd)(dd)(dd)|") // date (ddmmyy)
.number("(d+.d+)|") // speed
.number("(d+.d+)|") // heading
.any()
@@ -120,10 +119,7 @@ public class TrakMateProtocolDecoder extends BaseProtocolDecoder {
position.setLatitude(parser.nextDouble());
position.setLongitude(parser.nextDouble());
- DateBuilder dateBuilder = new DateBuilder(timeZone)
- .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt())
- .setDateReverse(parser.nextInt(), parser.nextInt(), parser.nextInt());
- position.setTime(dateBuilder.getDate());
+ position.setTime(parser.nextDateTime(Parser.DateTimeFormat.HMS_DMY));
position.set(Position.KEY_VERSION_FW, parser.next());
position.set(Position.KEY_VERSION_HW, parser.next());
@@ -154,10 +150,7 @@ public class TrakMateProtocolDecoder extends BaseProtocolDecoder {
position.setLatitude(parser.nextDouble());
position.setLongitude(parser.nextDouble());
- DateBuilder dateBuilder = new DateBuilder(timeZone)
- .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt())
- .setDateReverse(parser.nextInt(), parser.nextInt(), parser.nextInt());
- position.setTime(dateBuilder.getDate());
+ position.setTime(parser.nextDateTime(Parser.DateTimeFormat.HMS_DMY));
position.setSpeed(parser.nextDouble());
position.setCourse(parser.nextDouble());
@@ -186,10 +179,7 @@ public class TrakMateProtocolDecoder extends BaseProtocolDecoder {
position.setLatitude(parser.nextDouble());
position.setLongitude(parser.nextDouble());
- DateBuilder dateBuilder = new DateBuilder(timeZone)
- .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt())
- .setDateReverse(parser.nextInt(), parser.nextInt(), parser.nextInt());
- position.setTime(dateBuilder.getDate());
+ position.setTime(parser.nextDateTime(Parser.DateTimeFormat.HMS_DMY));
position.setSpeed(parser.nextDouble());
position.setCourse(parser.nextDouble());