diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-03-29 04:58:23 +1300 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2017-03-29 04:58:23 +1300 |
commit | 9879e67c1f522fe6940b7a3ca5fde5c93875dcfb (patch) | |
tree | 11f2a64b612191a1cfa3ee294b113aa11d9335b1 /src/org | |
parent | b7d5d53ead8eb8f7dbe6e04cdee76ea2c05c1dbe (diff) | |
download | trackermap-server-9879e67c1f522fe6940b7a3ca5fde5c93875dcfb.tar.gz trackermap-server-9879e67c1f522fe6940b7a3ca5fde5c93875dcfb.tar.bz2 trackermap-server-9879e67c1f522fe6940b7a3ca5fde5c93875dcfb.zip |
Handle no power value from Telic
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/traccar/protocol/TelicProtocolDecoder.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/TelicProtocolDecoder.java b/src/org/traccar/protocol/TelicProtocolDecoder.java index bbd4b0574..8207e5956 100644 --- a/src/org/traccar/protocol/TelicProtocolDecoder.java +++ b/src/org/traccar/protocol/TelicProtocolDecoder.java @@ -54,7 +54,7 @@ public class TelicProtocolDecoder extends BaseProtocolDecoder { .expression("(?:[^,]*,){7}") .number("(d+),") // battery .expression("[^,]*,") - .number("(d+)") // external + .number("(d+)?") // external .any() .compile(); @@ -83,6 +83,8 @@ public class TelicProtocolDecoder extends BaseProtocolDecoder { @Override protected Object decode( Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { + org.traccar.helper.PatternUtil.MatchResult matchResult = + org.traccar.helper.PatternUtil.checkPattern(PATTERN.pattern(), (String) msg); Parser parser = new Parser(PATTERN, (String) msg); if (!parser.matches()) { @@ -130,7 +132,10 @@ public class TelicProtocolDecoder extends BaseProtocolDecoder { } position.set(Position.KEY_BATTERY, parser.nextInt()); - position.set(Position.KEY_POWER, parser.nextInt()); + + if (parser.hasNext()) { + position.set(Position.KEY_POWER, parser.nextInt()); + } return position; } |