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/MeitrackProtocolDecoder.java | 36 +++++----------------- 1 file changed, 8 insertions(+), 28 deletions(-) (limited to 'src/org/traccar/protocol/MeitrackProtocolDecoder.java') diff --git a/src/org/traccar/protocol/MeitrackProtocolDecoder.java b/src/org/traccar/protocol/MeitrackProtocolDecoder.java index 87d222c37..e3b5187f4 100644 --- a/src/org/traccar/protocol/MeitrackProtocolDecoder.java +++ b/src/org/traccar/protocol/MeitrackProtocolDecoder.java @@ -24,23 +24,15 @@ import org.jboss.netty.channel.ChannelHandlerContext; import org.traccar.BaseProtocolDecoder; import org.traccar.ServerManager; import org.traccar.helper.Log; +import org.traccar.model.ExtendedInfoFormatter; import org.traccar.model.Position; -/** - * Meitrack protocol decoder - */ public class MeitrackProtocolDecoder extends BaseProtocolDecoder { - /** - * Initialize - */ public MeitrackProtocolDecoder(ServerManager serverManager) { super(serverManager); } - /** - * Regular expressions pattern - */ static private Pattern pattern = Pattern.compile( "\\$\\$." + // Flag "\\d+," + // Length @@ -61,9 +53,7 @@ public class MeitrackProtocolDecoder extends BaseProtocolDecoder { "(\\d+)," + // Milage ".*"); // TODO: parse other stuff - /** - * Decode message - */ + @Override protected Object decode( ChannelHandlerContext ctx, Channel channel, Object msg) throws Exception { @@ -77,7 +67,7 @@ public class MeitrackProtocolDecoder extends BaseProtocolDecoder { // Create new position Position position = new Position(); - StringBuilder extendedInfo = new StringBuilder("meitrack"); + ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter("meitrack"); Integer index = 1; @@ -91,9 +81,7 @@ public class MeitrackProtocolDecoder extends BaseProtocolDecoder { } // Event - extendedInfo.append(""); - extendedInfo.append(parser.group(index++)); - extendedInfo.append(""); + extendedInfo.set("event", parser.group(index++)); // Coordinates position.setLatitude(Double.valueOf(parser.group(index++))); @@ -114,14 +102,10 @@ public class MeitrackProtocolDecoder extends BaseProtocolDecoder { position.setValid(parser.group(index++).compareTo("A") == 0 ? true : false); // Satellites - extendedInfo.append(""); - extendedInfo.append(parser.group(index++)); - extendedInfo.append(""); + extendedInfo.set("satellites", parser.group(index++)); // GSM Signal - extendedInfo.append(""); - extendedInfo.append(parser.group(index++)); - extendedInfo.append(""); + extendedInfo.set("gsm", parser.group(index++)); // Speed position.setSpeed(Double.valueOf(parser.group(index++))); @@ -130,17 +114,13 @@ public class MeitrackProtocolDecoder extends BaseProtocolDecoder { position.setCourse(Double.valueOf(parser.group(index++))); // HDOP - extendedInfo.append(""); - extendedInfo.append(parser.group(index++)); - extendedInfo.append(""); + extendedInfo.set("hdop", parser.group(index++)); // Altitude position.setAltitude(Double.valueOf(parser.group(index++))); // Milage - extendedInfo.append(""); - extendedInfo.append(parser.group(index++)); - extendedInfo.append(""); + extendedInfo.set("milage", parser.group(index++)); // Extended info position.setExtendedInfo(extendedInfo.toString()); -- cgit v1.2.3