From 81beb5afb946d8c9ccfa2bbdfcfe884771a5bd3b Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Thu, 2 May 2013 22:16:14 +1200 Subject: Fix extended info XML format --- .../traccar/protocol/ProgressProtocolDecoder.java | 33 ++++++++-------------- 1 file changed, 11 insertions(+), 22 deletions(-) (limited to 'src/org/traccar/protocol/ProgressProtocolDecoder.java') diff --git a/src/org/traccar/protocol/ProgressProtocolDecoder.java b/src/org/traccar/protocol/ProgressProtocolDecoder.java index 312886591..87fc0ae44 100644 --- a/src/org/traccar/protocol/ProgressProtocolDecoder.java +++ b/src/org/traccar/protocol/ProgressProtocolDecoder.java @@ -32,6 +32,7 @@ import org.traccar.ServerManager; import org.traccar.helper.AdvancedConnection; import org.traccar.helper.Log; import org.traccar.helper.NamedParameterStatement; +import org.traccar.model.ExtendedInfoFormatter; import org.traccar.model.Position; /** @@ -139,15 +140,15 @@ public class ProgressProtocolDecoder extends BaseProtocolDecoder { for (int j = 0; j < recordCount; j++) { Position position = new Position(); - StringBuilder extendedInfo = new StringBuilder("progress"); + ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter("progress"); position.setDeviceId(deviceId); // Message index if (type == MSG_LOGMSG) { - extendedInfo.append("true"); + extendedInfo.set("archive", true); int subtype = buf.readUnsignedShort(); if (subtype == MSG_ALARM) { - extendedInfo.append("true"); + extendedInfo.set("alarm", true); } if (buf.readUnsignedShort() > buf.readableBytes()) { lastIndex += 1; @@ -182,22 +183,16 @@ public class ProgressProtocolDecoder extends BaseProtocolDecoder { // Satellites int satellitesNumber = buf.readUnsignedByte(); - extendedInfo.append(""); - extendedInfo.append(satellitesNumber); - extendedInfo.append(""); + extendedInfo.set("satellites", satellitesNumber); // Validity position.setValid(satellitesNumber >= 3); // TODO: probably wrong // Cell signal - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedByte()); - extendedInfo.append(""); + extendedInfo.set("gsm", buf.readUnsignedByte()); // Milage - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedInt()); - extendedInfo.append(""); + extendedInfo.set("milage", buf.readUnsignedInt()); long extraFlags = buf.readLong(); @@ -205,9 +200,7 @@ public class ProgressProtocolDecoder extends BaseProtocolDecoder { if ((extraFlags & 0x1) == 0x1) { int count = buf.readUnsignedShort(); for (int i = 1; i <= count; i++) { - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedShort()); - extendedInfo.append(""); + extendedInfo.set("adc" + i, buf.readUnsignedShort()); } } @@ -215,9 +208,7 @@ public class ProgressProtocolDecoder extends BaseProtocolDecoder { // CAN adapter if ((extraFlags & 0x2) == 0x2) { int size = buf.readUnsignedShort(); - extendedInfo.append(""); - extendedInfo.append(buf.toString(buf.readerIndex(), size, Charset.defaultCharset())); - extendedInfo.append(""); + extendedInfo.set("can", buf.toString(buf.readerIndex(), size, Charset.defaultCharset())); buf.skipBytes(size); } @@ -233,9 +224,7 @@ public class ProgressProtocolDecoder extends BaseProtocolDecoder { hex.append(HEX_CHARS.charAt((b & 0x0F))); } - extendedInfo.append(""); - extendedInfo.append(hex); - extendedInfo.append(""); + extendedInfo.set("passenger", hex); buf.skipBytes(size); } @@ -245,7 +234,7 @@ public class ProgressProtocolDecoder extends BaseProtocolDecoder { byte[] response = {(byte)0xC9,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; channel.write(ChannelBuffers.wrappedBuffer(response)); - extendedInfo.append("true"); + extendedInfo.set("alarm", true); } // Skip CRC -- cgit v1.2.3