diff options
author | ninioe <ninioe@gmail.com> | 2016-07-19 09:07:23 +0300 |
---|---|---|
committer | ninioe <ninioe@gmail.com> | 2016-07-19 09:07:23 +0300 |
commit | ef40f3317392068692606b484c6782b95b554cbf (patch) | |
tree | 41c48e6c87620a6444aed0ad5706a94e26b1662d /src/org/traccar/events | |
parent | 04627d7473e4ea21d6ecd950cbb3fdd6fa249429 (diff) | |
parent | d3e063cf9de8a45bed4dfe87b73aadfd8d2edeab (diff) | |
download | traccar-server-ef40f3317392068692606b484c6782b95b554cbf.tar.gz traccar-server-ef40f3317392068692606b484c6782b95b554cbf.tar.bz2 traccar-server-ef40f3317392068692606b484c6782b95b554cbf.zip |
Merge remote-tracking branch 'refs/remotes/tananaev/master'
Diffstat (limited to 'src/org/traccar/events')
-rw-r--r-- | src/org/traccar/events/GeofenceEventHandler.java | 2 | ||||
-rw-r--r-- | src/org/traccar/events/MotionEventHandler.java | 23 | ||||
-rw-r--r-- | src/org/traccar/events/OverspeedEventHandler.java | 2 |
3 files changed, 15 insertions, 12 deletions
diff --git a/src/org/traccar/events/GeofenceEventHandler.java b/src/org/traccar/events/GeofenceEventHandler.java index 9a546182d..1ea7aee41 100644 --- a/src/org/traccar/events/GeofenceEventHandler.java +++ b/src/org/traccar/events/GeofenceEventHandler.java @@ -43,7 +43,7 @@ public class GeofenceEventHandler extends BaseEventHandler { @Override protected Collection<Event> analyzePosition(Position position) { - Device device = dataManager.getDeviceById(position.getDeviceId()); + Device device = Context.getIdentityManager().getDeviceById(position.getDeviceId()); if (device == null) { return null; } diff --git a/src/org/traccar/events/MotionEventHandler.java b/src/org/traccar/events/MotionEventHandler.java index d10513d26..4a3d2f0f0 100644 --- a/src/org/traccar/events/MotionEventHandler.java +++ b/src/org/traccar/events/MotionEventHandler.java @@ -38,7 +38,7 @@ public class MotionEventHandler extends BaseEventHandler { @Override protected Collection<Event> analyzePosition(Position position) { - Device device = Context.getDataManager().getDeviceById(position.getDeviceId()); + Device device = Context.getIdentityManager().getDeviceById(position.getDeviceId()); if (device == null) { return null; } @@ -53,16 +53,19 @@ public class MotionEventHandler extends BaseEventHandler { if (motion == null) { motion = Device.STATUS_STOPPED; } - if (valid && speed > SPEED_THRESHOLD && !motion.equals(Device.STATUS_MOVING)) { - Context.getConnectionManager().updateDevice(position.getDeviceId(), Device.STATUS_MOVING, null); - result = new ArrayList<>(); - result.add(new Event(Event.TYPE_DEVICE_MOVING, position.getDeviceId(), position.getId())); - } else if (valid && speed < SPEED_THRESHOLD && motion.equals(Device.STATUS_MOVING)) { - Context.getConnectionManager().updateDevice(position.getDeviceId(), Device.STATUS_STOPPED, null); - result = new ArrayList<>(); - result.add(new Event(Event.TYPE_DEVICE_STOPPED, position.getDeviceId(), position.getId())); - } try { + if (valid && speed > SPEED_THRESHOLD && !motion.equals(Device.STATUS_MOVING)) { + device.setMotion(Device.STATUS_MOVING); + Context.getDeviceManager().updateDeviceStatus(device); + result = new ArrayList<>(); + result.add(new Event(Event.TYPE_DEVICE_MOVING, position.getDeviceId(), position.getId())); + } else if (valid && speed < SPEED_THRESHOLD && motion.equals(Device.STATUS_MOVING)) { + device.setMotion(Device.STATUS_STOPPED); + Context.getDeviceManager().updateDeviceStatus(device); + result = new ArrayList<>(); + result.add(new Event(Event.TYPE_DEVICE_STOPPED, position.getDeviceId(), position.getId())); + } + if (result != null && !result.isEmpty()) { for (Event event : result) { if (!Context.getDataManager().getLastEvents(position.getDeviceId(), diff --git a/src/org/traccar/events/OverspeedEventHandler.java b/src/org/traccar/events/OverspeedEventHandler.java index e14d4bcea..fd005e170 100644 --- a/src/org/traccar/events/OverspeedEventHandler.java +++ b/src/org/traccar/events/OverspeedEventHandler.java @@ -40,7 +40,7 @@ public class OverspeedEventHandler extends BaseEventHandler { @Override protected Collection<Event> analyzePosition(Position position) { - Device device = Context.getDataManager().getDeviceById(position.getDeviceId()); + Device device = Context.getIdentityManager().getDeviceById(position.getDeviceId()); if (device == null) { return null; } |