aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/GranitProtocolEncoder.java
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2016-07-06 15:43:37 +0500
committerAbyss777 <abyss@fox5.ru>2016-07-06 15:43:37 +0500
commit801f9e25448be8a3b27c3b56798525b2fff27633 (patch)
tree0d1e2124633e56ae205d2b67c6d0d1d9bd11c6e8 /src/org/traccar/protocol/GranitProtocolEncoder.java
parent49f00254695ae56aa03c0174f5aadfe1a0e4c836 (diff)
downloadtrackermap-server-801f9e25448be8a3b27c3b56798525b2fff27633.tar.gz
trackermap-server-801f9e25448be8a3b27c3b56798525b2fff27633.tar.bz2
trackermap-server-801f9e25448be8a3b27c3b56798525b2fff27633.zip
Use dynamicBuffer and some hardcoded lengths.
Diffstat (limited to 'src/org/traccar/protocol/GranitProtocolEncoder.java')
-rw-r--r--src/org/traccar/protocol/GranitProtocolEncoder.java30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/org/traccar/protocol/GranitProtocolEncoder.java b/src/org/traccar/protocol/GranitProtocolEncoder.java
index 2f9e0aa10..961f183f5 100644
--- a/src/org/traccar/protocol/GranitProtocolEncoder.java
+++ b/src/org/traccar/protocol/GranitProtocolEncoder.java
@@ -15,7 +15,6 @@
*/
package org.traccar.protocol;
-import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
import org.jboss.netty.buffer.ChannelBuffer;
@@ -28,29 +27,28 @@ public class GranitProtocolEncoder extends BaseProtocolEncoder {
@Override
protected Object encodeCommand(Command command) {
- ChannelBuffer commandString;
+ String commandString = "";
switch (command.getType()) {
case Command.TYPE_IDENTIFICATION:
- commandString = ChannelBuffers.directBuffer(ByteOrder.LITTLE_ENDIAN, 12);
- commandString.writeBytes("BB+IDNT".getBytes(StandardCharsets.US_ASCII));
- GranitProtocolDecoder.appendChecksum(commandString, 7);
- return commandString;
+ commandString = "BB+IDNT";
+ break;
case Command.TYPE_REBOOT_DEVICE:
- commandString = ChannelBuffers.directBuffer(ByteOrder.LITTLE_ENDIAN, 13);
- commandString.writeBytes("BB+RESET".getBytes(StandardCharsets.US_ASCII));
- GranitProtocolDecoder.appendChecksum(commandString, 8);
- return commandString;
+ commandString = "BB+RESET";
+ break;
case Command.TYPE_POSITION_SINGLE:
- commandString = ChannelBuffers.directBuffer(ByteOrder.LITTLE_ENDIAN, 12);
- commandString.writeBytes("BB+RRCD".getBytes(StandardCharsets.US_ASCII));
- GranitProtocolDecoder.appendChecksum(commandString, 7);
- return commandString;
+ commandString = "BB+RRCD";
+ break;
default:
Log.warning(new UnsupportedOperationException(command.getType()));
- break;
+ return null;
+ }
+ if (!commandString.isEmpty()) {
+ ChannelBuffer commandBuf = ChannelBuffers.dynamicBuffer();
+ commandBuf.writeBytes(commandString.getBytes(StandardCharsets.US_ASCII));
+ GranitProtocolDecoder.appendChecksum(commandBuf, commandString.length());
+ return commandBuf;
}
-
return null;
}