From dcbaac71303e606662c8274d5b936fd8323a01b0 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Thu, 9 Jun 2011 08:50:44 +0000 Subject: --- .../protocol/gps103/Gps103ProtocolDecoder.java | 15 +++++++++------ .../opentracking/protocol/tk103/Tk103ProtocolDecoder.java | 6 +++--- .../opentracking/protocol/xexun/XexunProtocolDecoder.java | 2 -- 3 files changed, 12 insertions(+), 11 deletions(-) (limited to 'src/net/sourceforge/opentracking/protocol') diff --git a/src/net/sourceforge/opentracking/protocol/gps103/Gps103ProtocolDecoder.java b/src/net/sourceforge/opentracking/protocol/gps103/Gps103ProtocolDecoder.java index 663ca22bb..30fdcb06f 100644 --- a/src/net/sourceforge/opentracking/protocol/gps103/Gps103ProtocolDecoder.java +++ b/src/net/sourceforge/opentracking/protocol/gps103/Gps103ProtocolDecoder.java @@ -17,7 +17,6 @@ package net.sourceforge.opentracking.protocol.gps103; import java.util.Calendar; import java.util.GregorianCalendar; -import java.util.TimeZone; import java.util.Timer; import java.util.TimerTask; import java.util.regex.Pattern; @@ -25,7 +24,6 @@ import java.util.regex.Matcher; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.handler.codec.oneone.OneToOneDecoder; -import org.jboss.netty.channel.ChannelPipelineCoverage; import net.sourceforge.opentracking.Position; import net.sourceforge.opentracking.DataManager; import org.jboss.netty.channel.ChannelEvent; @@ -35,7 +33,6 @@ import org.jboss.netty.channel.ChannelStateEvent; /** * Gps 103 tracker protocol decoder */ -@ChannelPipelineCoverage("all") public class Gps103ProtocolDecoder extends OneToOneDecoder { /** @@ -63,8 +60,8 @@ public class Gps103ProtocolDecoder extends OneToOneDecoder { "imei:" + "([\\d]+)," + // IMEI "[^,]+," + - "[\\d]+," + - "[\\d]*," + + "(\\d{2})(\\d{2})(\\d{2})[\\d]+," + // Date + "[+]?[\\d]*," + "[FL]," + // F - full / L - low "([\\d]{2})([\\d]{2})([\\d]{2}).([\\d]{3})," + // Time (HHMMSS.SSS) "([AV])," + // Validity @@ -102,9 +99,15 @@ public class Gps103ProtocolDecoder extends OneToOneDecoder { // Get device by IMEI String imei = parser.group(index++); position.setDeviceId(dataManager.getDeviceByImei(imei).getId()); + + // Date + Calendar time = new GregorianCalendar(); + time.clear(); + time.set(Calendar.YEAR, 2000 + Integer.valueOf(parser.group(index++))); + time.set(Calendar.MONTH, Integer.valueOf(parser.group(index++)) - 1); + time.set(Calendar.DAY_OF_MONTH, Integer.valueOf(parser.group(index++))); // Time - Calendar time = new GregorianCalendar(TimeZone.getTimeZone("UTC")); time.set(Calendar.HOUR, Integer.valueOf(parser.group(index++))); time.set(Calendar.MINUTE, Integer.valueOf(parser.group(index++))); time.set(Calendar.SECOND, Integer.valueOf(parser.group(index++))); diff --git a/src/net/sourceforge/opentracking/protocol/tk103/Tk103ProtocolDecoder.java b/src/net/sourceforge/opentracking/protocol/tk103/Tk103ProtocolDecoder.java index ab88bf69c..c11d22a17 100644 --- a/src/net/sourceforge/opentracking/protocol/tk103/Tk103ProtocolDecoder.java +++ b/src/net/sourceforge/opentracking/protocol/tk103/Tk103ProtocolDecoder.java @@ -17,7 +17,6 @@ package net.sourceforge.opentracking.protocol.tk103; import java.util.Calendar; import java.util.GregorianCalendar; -import java.util.TimeZone; import java.util.Timer; import java.util.TimerTask; import java.util.regex.Pattern; @@ -25,7 +24,6 @@ import java.util.regex.Matcher; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.handler.codec.oneone.OneToOneDecoder; -import org.jboss.netty.channel.ChannelPipelineCoverage; import net.sourceforge.opentracking.Position; import net.sourceforge.opentracking.DataManager; import org.jboss.netty.channel.ChannelEvent; @@ -35,7 +33,6 @@ import org.jboss.netty.channel.ChannelStateEvent; /** * Gps 103 tracker protocol decoder */ -@ChannelPipelineCoverage("all") public class Tk103ProtocolDecoder extends OneToOneDecoder { /** @@ -85,11 +82,14 @@ public class Tk103ProtocolDecoder extends OneToOneDecoder { String sentence = (String) msg; + System.out.println(sentence); // DELME + // TODO: Send response (?) // Parse message Matcher parser = pattern.matcher(sentence); if (!parser.matches()) { + System.out.println("Pattern doesn't match."); // DELME return null; } diff --git a/src/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoder.java b/src/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoder.java index 94b1cb31b..865d1cf72 100644 --- a/src/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoder.java +++ b/src/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoder.java @@ -25,7 +25,6 @@ import java.util.TimerTask; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.handler.codec.oneone.OneToOneDecoder; -import org.jboss.netty.channel.ChannelPipelineCoverage; import net.sourceforge.opentracking.Position; import net.sourceforge.opentracking.DataManager; import org.jboss.netty.channel.ChannelEvent; @@ -35,7 +34,6 @@ import org.jboss.netty.channel.ChannelStateEvent; /** * Xexun tracker protocol decoder */ -@ChannelPipelineCoverage("all") public class XexunProtocolDecoder extends OneToOneDecoder { /** -- cgit v1.2.3