aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/protocol/H02ProtocolEncoder.java33
-rw-r--r--test/org/traccar/protocol/H02ProtocolEncoderTest.java15
2 files changed, 22 insertions, 26 deletions
diff --git a/src/org/traccar/protocol/H02ProtocolEncoder.java b/src/org/traccar/protocol/H02ProtocolEncoder.java
index 6475c0c67..948495b61 100644
--- a/src/org/traccar/protocol/H02ProtocolEncoder.java
+++ b/src/org/traccar/protocol/H02ProtocolEncoder.java
@@ -22,19 +22,13 @@ import org.traccar.helper.Log;
import org.traccar.model.Command;
public class H02ProtocolEncoder extends StringProtocolEncoder {
+
private static final String MARKER = "HQ";
- private Object formatCommand(DateTime dt, String uniqueId, String cmd, String... params) {
+ private Object formatCommand(DateTime time, String uniqueId, String type, String... params) {
- String result = String.format(
- "*%s,%s,%s,%02d%02d%02d",
- MARKER,
- uniqueId,
- cmd,
- dt.getHourOfDay(),
- dt.getMinuteOfHour(),
- dt.getSecondOfMinute()
- );
+ String result = String.format("*%s,%s,%s,%02d%02d%02d",
+ MARKER, uniqueId, type, time.getHourOfDay(), time.getMinuteOfHour(), time.getSecondOfMinute());
for (String param : params) {
result += "," + param;
@@ -45,21 +39,22 @@ public class H02ProtocolEncoder extends StringProtocolEncoder {
return result;
}
- protected Object encodeCommand(Command command, DateTime dt) {
+ protected Object encodeCommand(Command command, DateTime time) {
String uniqueId = getUniqueId(command.getDeviceId());
switch (command.getType()) {
case Command.TYPE_ALARM_ARM:
- return formatCommand(dt, uniqueId, "SCF", "0", "0");
+ return formatCommand(time, uniqueId, "SCF", "0", "0");
case Command.TYPE_ALARM_DISARM:
- return formatCommand(dt, uniqueId, "SCF", "1", "1");
+ return formatCommand(time, uniqueId, "SCF", "1", "1");
case Command.TYPE_ENGINE_STOP:
- return formatCommand(dt, uniqueId, "S20", "1", "3", "10", "3", "5", "5", "3", "5", "3", "5", "3", "5");
+ return formatCommand(
+ time, uniqueId, "S20", "1", "3", "10", "3", "5", "5", "3", "5", "3", "5", "3", "5");
case Command.TYPE_ENGINE_RESUME:
- return formatCommand(dt, uniqueId, "S20", "0", "0");
+ return formatCommand(time, uniqueId, "S20", "0", "0");
case Command.TYPE_POSITION_PERIODIC:
- return formatCommand(dt, uniqueId, "S71", "22",
- command.getAttributes().get(Command.KEY_FREQUENCY).toString());
+ return formatCommand(
+ time, uniqueId, "S71", "22", command.getAttributes().get(Command.KEY_FREQUENCY).toString());
default:
Log.warning(new UnsupportedOperationException(command.getType()));
break;
@@ -70,7 +65,7 @@ public class H02ProtocolEncoder extends StringProtocolEncoder {
@Override
protected Object encodeCommand(Command command) {
- DateTime dt = new DateTime(DateTimeZone.UTC);
- return encodeCommand(command, dt);
+ return encodeCommand(command, new DateTime(DateTimeZone.UTC));
}
+
}
diff --git a/test/org/traccar/protocol/H02ProtocolEncoderTest.java b/test/org/traccar/protocol/H02ProtocolEncoderTest.java
index 620793595..5a9f58827 100644
--- a/test/org/traccar/protocol/H02ProtocolEncoderTest.java
+++ b/test/org/traccar/protocol/H02ProtocolEncoderTest.java
@@ -8,8 +8,8 @@ import org.traccar.model.Command;
public class H02ProtocolEncoderTest extends ProtocolTest {
- H02ProtocolEncoder encoder = new H02ProtocolEncoder();
- DateTime dt = new DateTime().withHourOfDay(1).withMinuteOfHour(2).withSecondOfMinute(3);;
+ private H02ProtocolEncoder encoder = new H02ProtocolEncoder();
+ private DateTime time = new DateTime().withHourOfDay(1).withMinuteOfHour(2).withSecondOfMinute(3);;
@Test
public void testAlarmArmEncode() throws Exception {
@@ -18,7 +18,7 @@ public class H02ProtocolEncoderTest extends ProtocolTest {
command.setDeviceId(1);
command.setType(Command.TYPE_ALARM_ARM);
- Assert.assertEquals("*HQ,123456789012345,SCF,010203,0,0#", encoder.encodeCommand(command, dt));
+ Assert.assertEquals("*HQ,123456789012345,SCF,010203,0,0#", encoder.encodeCommand(command, time));
}
@Test
@@ -28,7 +28,7 @@ public class H02ProtocolEncoderTest extends ProtocolTest {
command.setDeviceId(1);
command.setType(Command.TYPE_ALARM_DISARM);
- Assert.assertEquals("*HQ,123456789012345,SCF,010203,1,1#", encoder.encodeCommand(command, dt));
+ Assert.assertEquals("*HQ,123456789012345,SCF,010203,1,1#", encoder.encodeCommand(command, time));
}
@Test
@@ -38,7 +38,7 @@ public class H02ProtocolEncoderTest extends ProtocolTest {
command.setDeviceId(1);
command.setType(Command.TYPE_ENGINE_STOP);
- Assert.assertEquals("*HQ,123456789012345,S20,010203,1,3,10,3,5,5,3,5,3,5,3,5#", encoder.encodeCommand(command, dt));
+ Assert.assertEquals("*HQ,123456789012345,S20,010203,1,3,10,3,5,5,3,5,3,5,3,5#", encoder.encodeCommand(command, time));
}
@Test
@@ -48,7 +48,7 @@ public class H02ProtocolEncoderTest extends ProtocolTest {
command.setDeviceId(1);
command.setType(Command.TYPE_ENGINE_RESUME);
- Assert.assertEquals("*HQ,123456789012345,S20,010203,0,0#", encoder.encodeCommand(command, dt));
+ Assert.assertEquals("*HQ,123456789012345,S20,010203,0,0#", encoder.encodeCommand(command, time));
}
@Test
@@ -59,6 +59,7 @@ public class H02ProtocolEncoderTest extends ProtocolTest {
command.set(Command.KEY_FREQUENCY, 10);
command.setType(Command.TYPE_POSITION_PERIODIC);
- Assert.assertEquals("*HQ,123456789012345,S71,010203,22,10#", encoder.encodeCommand(command, dt));
+ Assert.assertEquals("*HQ,123456789012345,S71,010203,22,10#", encoder.encodeCommand(command, time));
}
+
}