diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-11-24 21:20:57 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-24 21:20:57 +1300 |
commit | b1b5e5ce805064229f0c22ee7e898efa32d22e1a (patch) | |
tree | c708c8f12342c33070d5f8ee0fe0a31034aa2664 | |
parent | 3e1a25b54ab342bedc8d688bb6ccb3c2d6c60d0c (diff) | |
parent | 1424c2048346206f750bd68232ba6e2cbe1545e9 (diff) | |
download | traccar-server-b1b5e5ce805064229f0c22ee7e898efa32d22e1a.tar.gz traccar-server-b1b5e5ce805064229f0c22ee7e898efa32d22e1a.tar.bz2 traccar-server-b1b5e5ce805064229f0c22ee7e898efa32d22e1a.zip |
Merge pull request #2596 from Abyss777/lookup_simplify
Combine lookupAttribute helpers
-rw-r--r-- | src/org/traccar/CopyAttributesHandler.java | 4 | ||||
-rw-r--r-- | src/org/traccar/database/DeviceManager.java | 72 | ||||
-rw-r--r-- | src/org/traccar/events/MaintenanceEventHandler.java | 4 | ||||
-rw-r--r-- | src/org/traccar/events/OverspeedEventHandler.java | 2 | ||||
-rw-r--r-- | src/org/traccar/reports/Summary.java | 2 | ||||
-rw-r--r-- | src/org/traccar/reports/Trips.java | 2 |
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)); |