aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/CellocatorProtocolDecoder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/protocol/CellocatorProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/CellocatorProtocolDecoder.java16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/org/traccar/protocol/CellocatorProtocolDecoder.java b/src/org/traccar/protocol/CellocatorProtocolDecoder.java
index 178e17530..a61c5b79f 100644
--- a/src/org/traccar/protocol/CellocatorProtocolDecoder.java
+++ b/src/org/traccar/protocol/CellocatorProtocolDecoder.java
@@ -33,8 +33,8 @@ import org.traccar.model.Position;
public class CellocatorProtocolDecoder extends BaseProtocolDecoder {
- public CellocatorProtocolDecoder(DataManager dataManager, String protocol, Properties properties) {
- super(dataManager, protocol, properties);
+ public CellocatorProtocolDecoder(String protocol) {
+ super(protocol);
}
private String readImei(ChannelBuffer buf) {
@@ -93,7 +93,7 @@ public class CellocatorProtocolDecoder extends BaseProtocolDecoder {
buf.skipBytes(4); // system code
int type = buf.readUnsignedByte();
- long deviceId = buf.readUnsignedInt();
+ long deviceUniqueId = buf.readUnsignedInt();
if (type != MSG_CLIENT_SERIAL) {
buf.readUnsignedShort(); // communication control
@@ -101,7 +101,7 @@ public class CellocatorProtocolDecoder extends BaseProtocolDecoder {
byte packetNumber = buf.readByte();
// Send reply
- sendReply(channel, deviceId, packetNumber);
+ sendReply(channel, deviceUniqueId, packetNumber);
// Parse location
if (type == MSG_CLIENT_STATUS) {
@@ -109,13 +109,11 @@ public class CellocatorProtocolDecoder extends BaseProtocolDecoder {
ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter(getProtocol());
// Device identifier
- try {
- position.setDeviceId(getDataManager().getDeviceByImei(String.valueOf(deviceId)).getId());
- } catch(Exception error) {
- Log.warning("Unknown device - " + deviceId);
+ if (!identify(String.valueOf(deviceUniqueId))) {
return null;
}
-
+ position.setDeviceId(getDeviceId());
+
buf.readUnsignedByte(); // hardware version
buf.readUnsignedByte(); // software version
buf.readUnsignedByte(); // protocol version