diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2019-04-17 19:27:01 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2019-04-17 19:27:01 -0700 |
commit | 1def70dc531b5ce7d1fd5e00b530f1c91c128840 (patch) | |
tree | 4c39a08dd1b8e0f866c9833c2b9a73d7af2d2735 /src/main | |
parent | 385d0a34044065ab9d31ff793b8dfe6dc486f424 (diff) | |
download | trackermap-server-1def70dc531b5ce7d1fd5e00b530f1c91c128840.tar.gz trackermap-server-1def70dc531b5ce7d1fd5e00b530f1c91c128840.tar.bz2 trackermap-server-1def70dc531b5ce7d1fd5e00b530f1c91c128840.zip |
Support additional attributes
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/traccar/protocol/BoxProtocolDecoder.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/org/traccar/protocol/BoxProtocolDecoder.java b/src/main/java/org/traccar/protocol/BoxProtocolDecoder.java index 3635c29e5..853fa8f81 100644 --- a/src/main/java/org/traccar/protocol/BoxProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/BoxProtocolDecoder.java @@ -47,7 +47,10 @@ public class BoxProtocolDecoder extends BaseProtocolDecoder { .number("(d+.?d*),") // distance .number("(d+),") // event .number("(d+)") // status - .any() + .groupBegin() + .text(";") + .expression("(.+)") + .groupEnd("?") .compile(); @Override @@ -99,6 +102,14 @@ public class BoxProtocolDecoder extends BaseProtocolDecoder { position.setValid(!BitUtil.check(status, 2)); position.set(Position.KEY_STATUS, status); + if (parser.hasNext()) { + String[] data = parser.next().split(";"); + for (String item : data) { + int valueIndex = item.indexOf(','); + position.set(item.substring(0, valueIndex).toLowerCase(), item.substring(valueIndex + 1)); + } + } + return position; } |