diff --git a/hal-core/src/se/hal/EventControllerManager.java b/hal-core/src/se/hal/EventControllerManager.java index 7f19c8c3..4fecbeea 100644 --- a/hal-core/src/se/hal/EventControllerManager.java +++ b/hal-core/src/se/hal/EventControllerManager.java @@ -10,7 +10,6 @@ import zutil.plugin.PluginManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.logging.Level; @@ -58,6 +57,7 @@ public class EventControllerManager extends HalAbstractControllerManager c = event.getController(); - HalEventController controller = getControllerInstance(c); + Class controllerClass = (Class) event.getControllerClass(); + HalEventController controller = getControllerInstance(controllerClass); if (controller != null) controller.register(event.getDeviceConfig()); @@ -85,6 +85,7 @@ public class EventControllerManager extends HalAbstractControllerManager c = event.getController(); - HalEventController controller = (HalEventController) controllerMap.get(c); + Class controllerClass = (Class) event.getControllerClass(); + HalEventController controller = (HalEventController) controllerMap.get(controllerClass); if (controller != null) { logger.info("Deregistering event(id: " + event.getId() + "): " + event.getDeviceConfig().getClass()); controller.deregister(event.getDeviceConfig()); registeredEvents.remove(event); removeControllerIfEmpty(controller); } else { - logger.warning("Controller not instantiated: "+ event.getController()); + logger.warning("Controller not instantiated: "+ event.getControllerClass()); } } @@ -173,8 +174,11 @@ public class EventControllerManager extends HalAbstractControllerManager controllerClass = (Class) event.getControllerClass(); + HalEventController controller = getControllerInstance(controllerClass); + if (controller != null) { event.getDeviceData().setTimestamp(System.currentTimeMillis()); // Set timestamp to now controller.send(event.getDeviceConfig(), event.getDeviceData()); diff --git a/hal-core/src/se/hal/SensorControllerManager.java b/hal-core/src/se/hal/SensorControllerManager.java index 2ebc3206..c4be58bb 100644 --- a/hal-core/src/se/hal/SensorControllerManager.java +++ b/hal-core/src/se/hal/SensorControllerManager.java @@ -70,7 +70,7 @@ public class SensorControllerManager extends HalAbstractControllerManager c = sensor.getController(); + Class c = sensor.getControllerClass(); HalAbstractController controller = getControllerInstance(c); if (controller != null) @@ -92,7 +92,7 @@ public class SensorControllerManager extends HalAbstractControllerManager c = sensor.getController(); + Class c = sensor.getControllerClass(); HalAbstractController controller = controllerMap.get(c); if (controller != null) { logger.info("Deregistering sensor(id: " + sensor.getId() + "): " + sensor.getDeviceConfig().getClass()); @@ -100,7 +100,7 @@ public class SensorControllerManager extends HalAbstractControllerManager getController(); + public Class getControllerClass() { + return getDeviceConfig().getDeviceControllerClass(); + } // ---------------------------------------------------- // Device data methods diff --git a/hal-core/src/se/hal/struct/Event.java b/hal-core/src/se/hal/struct/Event.java index a64854e0..05544e5a 100644 --- a/hal-core/src/se/hal/struct/Event.java +++ b/hal-core/src/se/hal/struct/Event.java @@ -32,12 +32,6 @@ public class Event extends HalAbstractDevice getController(){ - return (Class) getDeviceConfig().getDeviceControllerClass(); - } - @Override protected HalEventData getLatestDeviceData(DBConnection db) { try { diff --git a/hal-core/src/se/hal/struct/Sensor.java b/hal-core/src/se/hal/struct/Sensor.java index 59cc2e90..86f848d0 100644 --- a/hal-core/src/se/hal/struct/Sensor.java +++ b/hal-core/src/se/hal/struct/Sensor.java @@ -110,11 +110,6 @@ public class Sensor extends HalAbstractDevice getController(){ - return (Class) getDeviceConfig().getDeviceControllerClass(); - } - @Override protected HalSensorData getLatestDeviceData(DBConnection db) { try { diff --git a/plugins/hal-nvr/src/se/hal/plugin/nvr/struct/Camera.java b/plugins/hal-nvr/src/se/hal/plugin/nvr/struct/Camera.java index 9c9352da..d2a36a8e 100644 --- a/plugins/hal-nvr/src/se/hal/plugin/nvr/struct/Camera.java +++ b/plugins/hal-nvr/src/se/hal/plugin/nvr/struct/Camera.java @@ -46,11 +46,6 @@ public class Camera extends HalAbstractDevice getController() { - return getDeviceConfig().getDeviceControllerClass(); - } - @Override protected HalCameraData getLatestDeviceData(DBConnection db) { return null;