aboutsummaryrefslogtreecommitdiff
path: root/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/org')
-rw-r--r--src/org/traccar/protocol/Gps103ProtocolDecoder.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/Gps103ProtocolDecoder.java b/src/org/traccar/protocol/Gps103ProtocolDecoder.java
index 2578065c1..6a666fc86 100644
--- a/src/org/traccar/protocol/Gps103ProtocolDecoder.java
+++ b/src/org/traccar/protocol/Gps103ProtocolDecoder.java
@@ -43,7 +43,7 @@ public class Gps103ProtocolDecoder extends GenericProtocolDecoder {
static private Pattern pattern = Pattern.compile(
"imei:" +
"([\\d]+)," + // IMEI
- "[^,]+," +
+ "([^,]+)," + // Alarm
"(\\d{2})(\\d{2})(\\d{2})[\\d]+," + // Date
"[^,]*," +
"[FL]," + // F - full / L - low
@@ -85,6 +85,7 @@ public class Gps103ProtocolDecoder extends GenericProtocolDecoder {
// Create new position
Position position = new Position();
+ StringBuilder extendedInfo = new StringBuilder("<protocol>gps103</protocol>");
Integer index = 1;
@@ -92,6 +93,11 @@ public class Gps103ProtocolDecoder extends GenericProtocolDecoder {
String imei = parser.group(index++);
position.setDeviceId(getDataManager().getDeviceByImei(imei).getId());
+ // Alarm message
+ extendedInfo.append("<alarm>");
+ extendedInfo.append(parser.group(index++));
+ extendedInfo.append("</alarm>");
+
// Date
Calendar time = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
time.clear();
@@ -128,6 +134,9 @@ public class Gps103ProtocolDecoder extends GenericProtocolDecoder {
position.setSpeed(Double.valueOf(parser.group(index++)));
position.setCourse(0.0);
+ // Extended info
+ position.setExtendedInfo(extendedInfo.toString());
+
return position;
}