diff options
-rw-r--r-- | src/org/traccar/protocol/H02ProtocolEncoder.java | 33 | ||||
-rw-r--r-- | test/org/traccar/protocol/H02ProtocolEncoderTest.java | 15 |
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)); } + } |