aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2020-03-06 21:29:27 -0800
committerAnton Tananaev <anton.tananaev@gmail.com>2020-03-06 21:29:27 -0800
commitfa837208bed12dd08e1a540a2279180dec102974 (patch)
tree0a58f398569ad9f307aabd3687e96b5d1576ec5e /src/main
parent7eecff54effb04d27fdd1d67ed75a1e2dbc3c693 (diff)
downloadtraccar-server-fa837208bed12dd08e1a540a2279180dec102974.tar.gz
traccar-server-fa837208bed12dd08e1a540a2279180dec102974.tar.bz2
traccar-server-fa837208bed12dd08e1a540a2279180dec102974.zip
Support Traxsit GPS1 format
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/traccar/protocol/SigfoxProtocolDecoder.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/main/java/org/traccar/protocol/SigfoxProtocolDecoder.java b/src/main/java/org/traccar/protocol/SigfoxProtocolDecoder.java
index 304f61836..bda0600cc 100644
--- a/src/main/java/org/traccar/protocol/SigfoxProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/SigfoxProtocolDecoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017 - 2019 Anton Tananaev (anton@traccar.org)
+ * Copyright 2017 - 2020 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.
@@ -83,7 +83,14 @@ public class SigfoxProtocolDecoder extends BaseHttpProtocolDecoder {
}
JsonObject json = Json.createReader(new StringReader(content)).readObject();
- DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, json.getString("device"));
+ String deviceId;
+ if (json.containsKey("device")) {
+ deviceId = json.getString("device");
+ } else {
+ deviceId = json.getString("deviceId");
+ }
+
+ DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, deviceId);
if (deviceSession == null) {
sendResponse(channel, HttpResponseStatus.BAD_REQUEST);
return null;
@@ -99,7 +106,8 @@ public class SigfoxProtocolDecoder extends BaseHttpProtocolDecoder {
}
if (json.containsKey("location")
- || json.containsKey("lat") && json.containsKey("lng") && !json.containsKey("data")) {
+ || json.containsKey("lat") && json.containsKey("lng") && !json.containsKey("data")
+ || json.containsKey("latitude") && json.containsKey("longitude") && !json.containsKey("data")) {
JsonObject location;
if (json.containsKey("location")) {
@@ -109,8 +117,8 @@ public class SigfoxProtocolDecoder extends BaseHttpProtocolDecoder {
}
position.setValid(true);
- position.setLatitude(getJsonDouble(location, "lat"));
- position.setLongitude(getJsonDouble(location, "lng"));
+ position.setLatitude(getJsonDouble(location, location.containsKey("lat") ? "lat" : "latitude"));
+ position.setLongitude(getJsonDouble(location, location.containsKey("lng") ? "lng" : "longitude"));
} else {