diff options
author | Iván Ávalos <avalos@disroot.org> | 2021-12-27 20:48:47 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2021-12-27 20:48:47 -0600 |
commit | aa59b968c7d6a89b8e6285647ab2e6e62f02cf7f (patch) | |
tree | e74474e6b6bd75a71ac79bdbd31b9237a7b3c2d6 /src/main/java/org/traccar/protocol/FlexApiProtocolDecoder.java | |
parent | f03b999d6d17e53c1c1e1aa2f9271d03f12f2264 (diff) | |
download | traccar-server-aa59b968c7d6a89b8e6285647ab2e6e62f02cf7f.tar.gz traccar-server-aa59b968c7d6a89b8e6285647ab2e6e62f02cf7f.tar.bz2 traccar-server-aa59b968c7d6a89b8e6285647ab2e6e62f02cf7f.zip |
Revert "Merge branch 'master' into suntech-fixes"
This reverts commit f03b999d6d17e53c1c1e1aa2f9271d03f12f2264, reversing
changes made to 3a528ddc88f72f39ff9566cf5e0f54938b1584ef.
Diffstat (limited to 'src/main/java/org/traccar/protocol/FlexApiProtocolDecoder.java')
-rw-r--r-- | src/main/java/org/traccar/protocol/FlexApiProtocolDecoder.java | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/main/java/org/traccar/protocol/FlexApiProtocolDecoder.java b/src/main/java/org/traccar/protocol/FlexApiProtocolDecoder.java deleted file mode 100644 index d4d539a9e..000000000 --- a/src/main/java/org/traccar/protocol/FlexApiProtocolDecoder.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2021 Anton Tananaev (anton@traccar.org) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.traccar.protocol; - -import io.netty.channel.Channel; -import org.traccar.BaseProtocolDecoder; -import org.traccar.DeviceSession; -import org.traccar.Protocol; -import org.traccar.model.Position; - -import javax.json.Json; -import javax.json.JsonObject; -import java.io.StringReader; -import java.net.SocketAddress; -import java.util.Date; - -public class FlexApiProtocolDecoder extends BaseProtocolDecoder { - - public FlexApiProtocolDecoder(Protocol protocol) { - super(protocol); - } - - @Override - protected Object decode( - Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { - - String message = (String) msg; - JsonObject root = Json.createReader(new StringReader(message.substring(1, message.length() - 2))).readObject(); - - String topic = root.getString("topic"); - String clientId = topic.substring(3, topic.indexOf('/', 3)); - DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, clientId); - if (deviceSession == null) { - return null; - } - - Position position = new Position(getProtocolName()); - position.setDeviceId(deviceSession.getDeviceId()); - - JsonObject payload = root.getJsonObject("payload"); - - if (topic.contains("gnss")) { - - position.setValid(true); - - if (payload.containsKey("time")) { - position.setTime(new Date(payload.getInt("time") * 1000L)); - position.setLatitude(payload.getJsonNumber("lat").doubleValue()); - position.setLongitude(payload.getJsonNumber("log").doubleValue()); - } else { - position.setTime(new Date(payload.getInt("gnss.ts") * 1000L)); - position.setLatitude(payload.getJsonNumber("gnss.latitude").doubleValue()); - position.setLongitude(payload.getJsonNumber("gnss.longitude").doubleValue()); - } - - position.setAltitude(payload.getJsonNumber("gnss.altitude").doubleValue()); - position.setSpeed(payload.getJsonNumber("gnss.speed").doubleValue()); - position.setCourse(payload.getJsonNumber("gnss.heading").doubleValue()); - - position.set(Position.KEY_SATELLITES, payload.getInt("gnss.num_sv")); - - } else if (topic.contains("obd")) { - - getLastLocation(position, new Date(payload.getInt("obd.ts") * 1000L)); - - if (payload.containsKey("obd.speed")) { - position.set(Position.KEY_OBD_SPEED, payload.getJsonNumber("obd.speed").doubleValue()); - } - if (payload.containsKey("obd.odo")) { - position.set(Position.KEY_OBD_ODOMETER, payload.getInt("obd.odo")); - } - if (payload.containsKey("obd.rpm")) { - position.set(Position.KEY_RPM, payload.getInt("obd.rpm")); - } - if (payload.containsKey("obd.vin")) { - position.set(Position.KEY_VIN, payload.getString("obd.vin")); - } - - } else { - - return null; - - } - - return position; - } - -} |