aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/events/MaintenanceEventHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/events/MaintenanceEventHandler.java')
-rw-r--r--src/org/traccar/events/MaintenanceEventHandler.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/org/traccar/events/MaintenanceEventHandler.java b/src/org/traccar/events/MaintenanceEventHandler.java
index 466e0b617..9e0da97f5 100644
--- a/src/org/traccar/events/MaintenanceEventHandler.java
+++ b/src/org/traccar/events/MaintenanceEventHandler.java
@@ -38,30 +38,27 @@ 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;
double newTotalDistance = 0.0;
Position lastPosition = Context.getIdentityManager().getLastPosition(position.getDeviceId());
- if (lastPosition != null && lastPosition.getAttributes().containsKey(Position.KEY_TOTAL_DISTANCE)) {
- oldTotalDistance = ((Number) lastPosition.getAttributes().get(Position.KEY_TOTAL_DISTANCE)).doubleValue();
- }
-
- if (position.getAttributes().containsKey(Position.KEY_TOTAL_DISTANCE)) {
- newTotalDistance = ((Number) position.getAttributes().get(Position.KEY_TOTAL_DISTANCE)).doubleValue();
+ if (lastPosition != null) {
+ oldTotalDistance = lastPosition.getDouble(Position.KEY_TOTAL_DISTANCE);
}
+ newTotalDistance = position.getDouble(Position.KEY_TOTAL_DISTANCE);
oldTotalDistance -= maintenanceStart;
newTotalDistance -= maintenanceStart;
if ((long) (oldTotalDistance / maintenanceInterval) < (long) (newTotalDistance / maintenanceInterval)) {
- events.add(new Event(Event.TYPE_MAINTENANCE_NEEDED, position.getDeviceId(), position.getId()));
+ events.add(new Event(Event.TYPE_MAINTENANCE, position.getDeviceId(), position.getId()));
}
return events;