aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2011-11-18 09:09:15 +0000
committerAnton Tananaev <anton.tananaev@gmail.com>2011-11-18 09:09:15 +0000
commit91a8d2558644293758c93d2c1df21487cd387993 (patch)
tree6399d1bbd8b522acf8eeb6ebceb88fe04892544b
parent710bdd092b193704fabdf6136bd5bffe0d8e01e7 (diff)
downloadtraccar-server-91a8d2558644293758c93d2c1df21487cd387993.tar.gz
traccar-server-91a8d2558644293758c93d2c1df21487cd387993.tar.bz2
traccar-server-91a8d2558644293758c93d2c1df21487cd387993.zip
-rw-r--r--src/org/traccar/Server.java2
-rw-r--r--src/org/traccar/protocol/t55/T55ProtocolDecoder.java2
-rw-r--r--src/org/traccar/protocol/xexun2/Xexun2ProtocolDecoder.java9
3 files changed, 8 insertions, 5 deletions
diff --git a/src/org/traccar/Server.java b/src/org/traccar/Server.java
index c7d52337e..83e18a537 100644
--- a/src/org/traccar/Server.java
+++ b/src/org/traccar/Server.java
@@ -524,7 +524,7 @@ public class Server implements DataManager {
if (serverCreator.isLoggerEnabled()) {
pipeline.addLast("logger", new LoggingHandler("logger"));
}
- byte delimiter[] = { (byte) '\r', (byte) '\n' };
+ byte delimiter[] = { (byte) '\n' }; // tracker bug \n\r
pipeline.addLast("frameDecoder",
new DelimiterBasedFrameDecoder(1024, ChannelBuffers.wrappedBuffer(delimiter)));
pipeline.addLast("stringDecoder", new StringDecoder());
diff --git a/src/org/traccar/protocol/t55/T55ProtocolDecoder.java b/src/org/traccar/protocol/t55/T55ProtocolDecoder.java
index 08c5e6447..8247b9fd4 100644
--- a/src/org/traccar/protocol/t55/T55ProtocolDecoder.java
+++ b/src/org/traccar/protocol/t55/T55ProtocolDecoder.java
@@ -119,7 +119,6 @@ public class T55ProtocolDecoder extends OneToOneDecoder {
time.set(Calendar.MINUTE, Integer.valueOf(parser.group(index++)));
time.set(Calendar.SECOND, Integer.valueOf(parser.group(index++)));
index += 1; // Skip milliseconds
- position.setTime(time.getTime());
// Validity
position.setValid(parser.group(index++).compareTo("A") == 0 ? true : false);
@@ -156,6 +155,7 @@ public class T55ProtocolDecoder extends OneToOneDecoder {
time.set(Calendar.DAY_OF_MONTH, Integer.valueOf(parser.group(index++)));
time.set(Calendar.MONTH, Integer.valueOf(parser.group(index++)) - 1);
time.set(Calendar.YEAR, 2000 + Integer.valueOf(parser.group(index++)));
+ position.setTime(time.getTime());
// Altitude
position.setAltitude(0.0);
diff --git a/src/org/traccar/protocol/xexun2/Xexun2ProtocolDecoder.java b/src/org/traccar/protocol/xexun2/Xexun2ProtocolDecoder.java
index 8f1b53328..8f9fb7535 100644
--- a/src/org/traccar/protocol/xexun2/Xexun2ProtocolDecoder.java
+++ b/src/org/traccar/protocol/xexun2/Xexun2ProtocolDecoder.java
@@ -59,6 +59,7 @@ public class Xexun2ProtocolDecoder extends OneToOneDecoder {
* Regular expressions pattern
*/
static private Pattern pattern = Pattern.compile(
+ "[\r\n]*" +
"\\d+," +
"\\+\\d+," +
"GPRMC," +
@@ -72,11 +73,12 @@ public class Xexun2ProtocolDecoder extends OneToOneDecoder {
"(\\d+.\\d+)?," + // Course
"(\\d{2})(\\d{2})(\\d{2})," + // Date (DDMMYY)
".*imei:" +
- "([\\d]+)," + // IMEI
+ "(\\d+)," + // IMEI
"\\d+," +
"\\d+.\\d+," +
"F:(\\d+.\\d+)V," + // Power
- ".*");
+ ".*" +
+ "[\r\n]*");
/**
* Decode message
@@ -89,7 +91,8 @@ public class Xexun2ProtocolDecoder extends OneToOneDecoder {
String sentence = (String) msg;
Matcher parser = pattern.matcher(sentence);
if (!parser.matches()) {
- throw new ParseException(null, 0);
+ //throw new ParseException(null, 0);
+ return null;
}
// Create new position