aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-09-03 14:09:17 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2017-09-03 14:09:17 +1200
commit1c807549e315d04054b4803518d2624591976324 (patch)
treef3e05103dcb5970d4cffa689d63c1fac111a3778
parentaf4e78fd9c4ee04f277e741520a49dfc02093cb3 (diff)
downloadtraccar-server-1c807549e315d04054b4803518d2624591976324.tar.gz
traccar-server-1c807549e315d04054b4803518d2624591976324.tar.bz2
traccar-server-1c807549e315d04054b4803518d2624591976324.zip
Implement Watch custom command
-rw-r--r--src/org/traccar/protocol/WatchProtocol.java1
-rw-r--r--src/org/traccar/protocol/WatchProtocolEncoder.java2
-rw-r--r--test/org/traccar/protocol/WatchProtocolEncoderTest.java7
3 files changed, 10 insertions, 0 deletions
diff --git a/src/org/traccar/protocol/WatchProtocol.java b/src/org/traccar/protocol/WatchProtocol.java
index 42a640b85..2be2dc9ae 100644
--- a/src/org/traccar/protocol/WatchProtocol.java
+++ b/src/org/traccar/protocol/WatchProtocol.java
@@ -29,6 +29,7 @@ public class WatchProtocol extends BaseProtocol {
public WatchProtocol() {
super("watch");
setSupportedDataCommands(
+ Command.TYPE_CUSTOM,
Command.TYPE_POSITION_SINGLE,
Command.TYPE_POSITION_PERIODIC,
Command.TYPE_SOS_NUMBER,
diff --git a/src/org/traccar/protocol/WatchProtocolEncoder.java b/src/org/traccar/protocol/WatchProtocolEncoder.java
index c5d8fad86..6fcd109c2 100644
--- a/src/org/traccar/protocol/WatchProtocolEncoder.java
+++ b/src/org/traccar/protocol/WatchProtocolEncoder.java
@@ -97,6 +97,8 @@ public class WatchProtocolEncoder extends StringProtocolEncoder implements Strin
protected Object encodeCommand(Command command) {
switch (command.getType()) {
+ case Command.TYPE_CUSTOM:
+ return formatCommand(command, command.getString(Command.KEY_DATA));
case Command.TYPE_POSITION_SINGLE:
return formatCommand(command, "RG");
case Command.TYPE_SOS_NUMBER:
diff --git a/test/org/traccar/protocol/WatchProtocolEncoderTest.java b/test/org/traccar/protocol/WatchProtocolEncoderTest.java
index a7c360d7f..7184d278e 100644
--- a/test/org/traccar/protocol/WatchProtocolEncoderTest.java
+++ b/test/org/traccar/protocol/WatchProtocolEncoderTest.java
@@ -34,6 +34,12 @@ public class WatchProtocolEncoderTest extends ProtocolTest {
command = new Command();
command.setDeviceId(1);
+ command.setType(Command.TYPE_CUSTOM);
+ command.set(Command.KEY_DATA, "WORK,6-9,11-13,13-15,17-19");
+ Assert.assertEquals("[CS*123456789012345*001a*WORK,6-9,11-13,13-15,17-19]", encoder.encodeCommand(command));
+
+ command = new Command();
+ command.setDeviceId(1);
command.setType(Command.TYPE_SET_TIMEZONE);
command.set(Command.KEY_TIMEZONE, 60 * 60);
Assert.assertEquals("[CS*123456789012345*0006*LZ,,+1]", encoder.encodeCommand(command));
@@ -46,6 +52,7 @@ public class WatchProtocolEncoderTest extends ProtocolTest {
command.set(Command.KEY_TIMEZONE, -11 * 60 * 60 - 30 * 60);
Assert.assertEquals("[CS*123456789012345*0009*LZ,,-11.5]", encoder.encodeCommand(command));
+
}
}