aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/protocol/Gps103Protocol.java1
-rw-r--r--src/org/traccar/protocol/Gps103ProtocolEncoder.java2
-rw-r--r--test/org/traccar/protocol/Gps103ProtocolEncoderTest.java16
3 files changed, 18 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/Gps103Protocol.java b/src/org/traccar/protocol/Gps103Protocol.java
index e3beb34e5..a4d563bfc 100644
--- a/src/org/traccar/protocol/Gps103Protocol.java
+++ b/src/org/traccar/protocol/Gps103Protocol.java
@@ -32,6 +32,7 @@ public class Gps103Protocol extends BaseProtocol {
public Gps103Protocol() {
super("gps103");
setSupportedCommands(
+ Command.TYPE_CUSTOM,
Command.TYPE_POSITION_SINGLE,
Command.TYPE_POSITION_PERIODIC,
Command.TYPE_POSITION_STOP,
diff --git a/src/org/traccar/protocol/Gps103ProtocolEncoder.java b/src/org/traccar/protocol/Gps103ProtocolEncoder.java
index afe87cf8c..36801b401 100644
--- a/src/org/traccar/protocol/Gps103ProtocolEncoder.java
+++ b/src/org/traccar/protocol/Gps103ProtocolEncoder.java
@@ -42,6 +42,8 @@ public class Gps103ProtocolEncoder extends StringProtocolEncoder implements Stri
protected Object encodeCommand(Command command) {
switch (command.getType()) {
+ case Command.TYPE_CUSTOM:
+ return formatCommand(command, "**,imei:{%s},{%s}", Command.KEY_UNIQUE_ID, Command.KEY_DATA);
case Command.TYPE_POSITION_STOP:
return formatCommand(command, "**,imei:{%s},A", Command.KEY_UNIQUE_ID);
case Command.TYPE_POSITION_SINGLE:
diff --git a/test/org/traccar/protocol/Gps103ProtocolEncoderTest.java b/test/org/traccar/protocol/Gps103ProtocolEncoderTest.java
index f8652bc9a..54c520c21 100644
--- a/test/org/traccar/protocol/Gps103ProtocolEncoderTest.java
+++ b/test/org/traccar/protocol/Gps103ProtocolEncoderTest.java
@@ -8,7 +8,7 @@ import org.traccar.model.Command;
public class Gps103ProtocolEncoderTest extends ProtocolTest {
@Test
- public void testEncode() throws Exception {
+ public void testEncodePositionPeriodic() throws Exception {
Gps103ProtocolEncoder encoder = new Gps103ProtocolEncoder();
@@ -21,4 +21,18 @@ public class Gps103ProtocolEncoderTest extends ProtocolTest {
}
+ @Test
+ public void testEncodeCustom() throws Exception {
+
+ Gps103ProtocolEncoder encoder = new Gps103ProtocolEncoder();
+
+ Command command = new Command();
+ command.setDeviceId(1);
+ command.setType(Command.TYPE_CUSTOM);
+ command.set(Command.KEY_DATA, "H,080");
+
+ Assert.assertEquals("**,imei:123456789012345,H,080", encoder.encodeCommand(command));
+
+ }
+
}