aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar')
-rw-r--r--src/org/traccar/CopyAttributesHandler.java4
-rw-r--r--src/org/traccar/database/DeviceManager.java72
-rw-r--r--src/org/traccar/events/MaintenanceEventHandler.java4
-rw-r--r--src/org/traccar/events/OverspeedEventHandler.java2
-rw-r--r--src/org/traccar/reports/Summary.java2
-rw-r--r--src/org/traccar/reports/Trips.java2
6 files changed, 25 insertions, 61 deletions
diff --git a/src/org/traccar/CopyAttributesHandler.java b/src/org/traccar/CopyAttributesHandler.java
index c4cac2e7f..f6326ea84 100644
--- a/src/org/traccar/CopyAttributesHandler.java
+++ b/src/org/traccar/CopyAttributesHandler.java
@@ -29,8 +29,8 @@ public class CopyAttributesHandler extends BaseDataHandler {
@Override
protected Position handlePosition(Position position) {
- String attributesString = Context.getDeviceManager().lookupConfigString(position.getDeviceId(),
- "processing.copyAttributes", null);
+ String attributesString = Context.getDeviceManager().lookupAttributeString(
+ position.getDeviceId(), "processing.copyAttributes", null, true);
Position last = getLastPosition(position.getDeviceId());
if (attributesString != null && last != null) {
for (String attribute : attributesString.split(" ")) {
diff --git a/src/org/traccar/database/DeviceManager.java b/src/org/traccar/database/DeviceManager.java
index 600669579..c70e67231 100644
--- a/src/org/traccar/database/DeviceManager.java
+++ b/src/org/traccar/database/DeviceManager.java
@@ -317,87 +317,51 @@ public class DeviceManager implements IdentityManager {
groupsById.remove(groupId);
}
- public boolean lookupServerBoolean(long deviceId, String attributeName, boolean defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, true);
+ public boolean lookupAttributeBoolean(
+ long deviceId, String attributeName, boolean defaultValue, boolean lookupConfig) {
+ String result = lookupAttribute(deviceId, attributeName, lookupConfig);
if (result != null) {
return Boolean.parseBoolean(result);
}
return defaultValue;
}
- public String lookupServerString(long deviceId, String attributeName, String defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, true);
+ public String lookupAttributeString(
+ long deviceId, String attributeName, String defaultValue, boolean lookupConfig) {
+ String result = lookupAttribute(deviceId, attributeName, lookupConfig);
if (result != null) {
return result;
}
return defaultValue;
}
- public int lookupServerInteger(long deviceId, String attributeName, int defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, true);
+ public int lookupAttributeInteger(long deviceId, String attributeName, int defaultValue, boolean lookupConfig) {
+ String result = lookupAttribute(deviceId, attributeName, lookupConfig);
if (result != null) {
return Integer.parseInt(result);
}
return defaultValue;
}
- public long lookupServerLong(long deviceId, String attributeName, long defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, true);
+ public long lookupAttributeLong(
+ long deviceId, String attributeName, long defaultValue, boolean lookupConfig) {
+ String result = lookupAttribute(deviceId, attributeName, lookupConfig);
if (result != null) {
return Long.parseLong(result);
}
return defaultValue;
}
- public double lookupServerDouble(long deviceId, String attributeName, double defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, true);
+ public double lookupAttributeDouble(
+ long deviceId, String attributeName, double defaultValue, boolean lookupConfig) {
+ String result = lookupAttribute(deviceId, attributeName, lookupConfig);
if (result != null) {
return Double.parseDouble(result);
}
return defaultValue;
}
- public boolean lookupConfigBoolean(long deviceId, String attributeName, boolean defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, false);
- if (result != null) {
- return Boolean.parseBoolean(result);
- }
- return defaultValue;
- }
-
- public String lookupConfigString(long deviceId, String attributeName, String defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, false);
- if (result != null) {
- return result;
- }
- return defaultValue;
- }
-
- public int lookupConfigInteger(long deviceId, String attributeName, int defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, false);
- if (result != null) {
- return Integer.parseInt(result);
- }
- return defaultValue;
- }
-
- public long lookupConfigLong(long deviceId, String attributeName, long defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, false);
- if (result != null) {
- return Long.parseLong(result);
- }
- return defaultValue;
- }
-
- public double lookupConfigDouble(long deviceId, String attributeName, double defaultValue) {
- String result = lookupAttribute(deviceId, attributeName, false);
- if (result != null) {
- return Double.parseDouble(result);
- }
- return defaultValue;
- }
-
- private String lookupAttribute(long deviceId, String attributeName, boolean lookupServer) {
+ private String lookupAttribute(long deviceId, String attributeName, boolean lookupConfig) {
String result = null;
Device device = getDeviceById(deviceId);
if (device != null) {
@@ -417,11 +381,11 @@ public class DeviceManager implements IdentityManager {
}
}
if (result == null) {
- if (lookupServer) {
+ if (lookupConfig) {
+ result = Context.getConfig().getString(attributeName);
+ } else {
Server server = Context.getPermissionsManager().getServer();
result = server.getString(attributeName);
- } else {
- result = Context.getConfig().getString(attributeName);
}
}
}
diff --git a/src/org/traccar/events/MaintenanceEventHandler.java b/src/org/traccar/events/MaintenanceEventHandler.java
index f423e035b..5a36a74d1 100644
--- a/src/org/traccar/events/MaintenanceEventHandler.java
+++ b/src/org/traccar/events/MaintenanceEventHandler.java
@@ -38,12 +38,12 @@ public class MaintenanceEventHandler extends BaseEventHandler {
}
double maintenanceInterval = Context.getDeviceManager()
- .lookupServerDouble(device.getId(), ATTRIBUTE_MAINTENANCE_INTERVAL, 0);
+ .lookupAttributeDouble(device.getId(), ATTRIBUTE_MAINTENANCE_INTERVAL, 0, false);
if (maintenanceInterval == 0) {
return null;
}
double maintenanceStart = Context.getDeviceManager()
- .lookupServerDouble(device.getId(), ATTRIBUTE_MAINTENANCE_START, 0);
+ .lookupAttributeDouble(device.getId(), ATTRIBUTE_MAINTENANCE_START, 0, false);
Collection<Event> events = new ArrayList<>();
double oldTotalDistance = 0.0;
diff --git a/src/org/traccar/events/OverspeedEventHandler.java b/src/org/traccar/events/OverspeedEventHandler.java
index c3e3e19cb..505d706f4 100644
--- a/src/org/traccar/events/OverspeedEventHandler.java
+++ b/src/org/traccar/events/OverspeedEventHandler.java
@@ -48,7 +48,7 @@ public class OverspeedEventHandler extends BaseEventHandler {
Collection<Event> events = new ArrayList<>();
double speed = position.getSpeed();
double speedLimit = Context.getDeviceManager()
- .lookupServerDouble(device.getId(), ATTRIBUTE_SPEED_LIMIT, 0);
+ .lookupAttributeDouble(device.getId(), ATTRIBUTE_SPEED_LIMIT, 0, false);
if (speedLimit == 0) {
return null;
}
diff --git a/src/org/traccar/reports/Summary.java b/src/org/traccar/reports/Summary.java
index 4d6446017..cacb4d1d6 100644
--- a/src/org/traccar/reports/Summary.java
+++ b/src/org/traccar/reports/Summary.java
@@ -60,7 +60,7 @@ public final class Summary {
result.setMaxSpeed(position.getSpeed());
}
boolean ignoreOdometer = Context.getDeviceManager()
- .lookupConfigBoolean(deviceId, "report.ignoreOdometer", false);
+ .lookupAttributeBoolean(deviceId, "report.ignoreOdometer", false, true);
result.setDistance(ReportUtils.calculateDistance(firstPosition, previousPosition, !ignoreOdometer));
result.setAverageSpeed(speedSum / positions.size());
}
diff --git a/src/org/traccar/reports/Trips.java b/src/org/traccar/reports/Trips.java
index 1c2ba3fe3..d4e25f5e5 100644
--- a/src/org/traccar/reports/Trips.java
+++ b/src/org/traccar/reports/Trips.java
@@ -80,7 +80,7 @@ public final class Trips {
trip.setEndAddress(endTrip.getAddress());
boolean ignoreOdometer = Context.getDeviceManager()
- .lookupConfigBoolean(deviceId, "report.ignoreOdometer", false);
+ .lookupAttributeBoolean(deviceId, "report.ignoreOdometer", false, true);
trip.setDistance(ReportUtils.calculateDistance(startTrip, endTrip, !ignoreOdometer));
trip.setDuration(tripDuration);
trip.setAverageSpeed(speedSum / (endIndex - startIndex));