Refactored getController method
This commit is contained in:
parent
41357ed8dd
commit
b1db199beb
6 changed files with 17 additions and 27 deletions
|
|
@ -10,7 +10,6 @@ import zutil.plugin.PluginManager;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
@ -58,6 +57,7 @@ public class EventControllerManager extends HalAbstractControllerManager<HalEven
|
||||||
* Register a Event instance on the manager.
|
* Register a Event instance on the manager.
|
||||||
* The manager will start to save reported data for the registered Event.
|
* The manager will start to save reported data for the registered Event.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public void register(Event event) {
|
public void register(Event event) {
|
||||||
if (event.getDeviceConfig() == null) {
|
if (event.getDeviceConfig() == null) {
|
||||||
|
|
@ -70,8 +70,8 @@ public class EventControllerManager extends HalAbstractControllerManager<HalEven
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info("Registering new event(id: " + event.getId() + "): " + event.getDeviceConfig().getClass());
|
logger.info("Registering new event(id: " + event.getId() + "): " + event.getDeviceConfig().getClass());
|
||||||
Class<? extends HalEventController> c = event.getController();
|
Class<? extends HalEventController> controllerClass = (Class<? extends HalEventController>) event.getControllerClass();
|
||||||
HalEventController controller = getControllerInstance(c);
|
HalEventController controller = getControllerInstance(controllerClass);
|
||||||
|
|
||||||
if (controller != null)
|
if (controller != null)
|
||||||
controller.register(event.getDeviceConfig());
|
controller.register(event.getDeviceConfig());
|
||||||
|
|
@ -85,6 +85,7 @@ public class EventControllerManager extends HalAbstractControllerManager<HalEven
|
||||||
* Data reported on the Event will no longer be saved but already saved data will not be modified.
|
* Data reported on the Event will no longer be saved but already saved data will not be modified.
|
||||||
* The Controller that owns the Event will be deallocated if it has no more registered devices.
|
* The Controller that owns the Event will be deallocated if it has no more registered devices.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public void deregister(Event event){
|
public void deregister(Event event){
|
||||||
if (event.getDeviceConfig() == null) {
|
if (event.getDeviceConfig() == null) {
|
||||||
|
|
@ -92,15 +93,15 @@ public class EventControllerManager extends HalAbstractControllerManager<HalEven
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Class<? extends HalEventController> c = event.getController();
|
Class<? extends HalEventController> controllerClass = (Class<? extends HalEventController>) event.getControllerClass();
|
||||||
HalEventController controller = (HalEventController) controllerMap.get(c);
|
HalEventController controller = (HalEventController) controllerMap.get(controllerClass);
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
logger.info("Deregistering event(id: " + event.getId() + "): " + event.getDeviceConfig().getClass());
|
logger.info("Deregistering event(id: " + event.getId() + "): " + event.getDeviceConfig().getClass());
|
||||||
controller.deregister(event.getDeviceConfig());
|
controller.deregister(event.getDeviceConfig());
|
||||||
registeredEvents.remove(event);
|
registeredEvents.remove(event);
|
||||||
removeControllerIfEmpty(controller);
|
removeControllerIfEmpty(controller);
|
||||||
} else {
|
} else {
|
||||||
logger.warning("Controller not instantiated: "+ event.getController());
|
logger.warning("Controller not instantiated: "+ event.getControllerClass());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,8 +174,11 @@ public class EventControllerManager extends HalAbstractControllerManager<HalEven
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
public void send(Event event){
|
public void send(Event event){
|
||||||
HalEventController controller = getControllerInstance(event.getController());
|
Class<? extends HalEventController> controllerClass = (Class<? extends HalEventController>) event.getControllerClass();
|
||||||
|
HalEventController controller = getControllerInstance(controllerClass);
|
||||||
|
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
event.getDeviceData().setTimestamp(System.currentTimeMillis()); // Set timestamp to now
|
event.getDeviceData().setTimestamp(System.currentTimeMillis()); // Set timestamp to now
|
||||||
controller.send(event.getDeviceConfig(), event.getDeviceData());
|
controller.send(event.getDeviceConfig(), event.getDeviceData());
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public class SensorControllerManager extends HalAbstractControllerManager<HalAbs
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info("Registering new sensor(id: " + sensor.getId() + "): " + sensor.getDeviceConfig().getClass());
|
logger.info("Registering new sensor(id: " + sensor.getId() + "): " + sensor.getDeviceConfig().getClass());
|
||||||
Class<? extends HalAbstractController> c = sensor.getController();
|
Class<? extends HalAbstractController> c = sensor.getControllerClass();
|
||||||
HalAbstractController controller = getControllerInstance(c);
|
HalAbstractController controller = getControllerInstance(c);
|
||||||
|
|
||||||
if (controller != null)
|
if (controller != null)
|
||||||
|
|
@ -92,7 +92,7 @@ public class SensorControllerManager extends HalAbstractControllerManager<HalAbs
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Class<? extends HalAbstractController> c = sensor.getController();
|
Class<? extends HalAbstractController> c = sensor.getControllerClass();
|
||||||
HalAbstractController controller = controllerMap.get(c);
|
HalAbstractController controller = controllerMap.get(c);
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
logger.info("Deregistering sensor(id: " + sensor.getId() + "): " + sensor.getDeviceConfig().getClass());
|
logger.info("Deregistering sensor(id: " + sensor.getId() + "): " + sensor.getDeviceConfig().getClass());
|
||||||
|
|
@ -100,7 +100,7 @@ public class SensorControllerManager extends HalAbstractControllerManager<HalAbs
|
||||||
registeredSensors.remove(sensor);
|
registeredSensors.remove(sensor);
|
||||||
removeControllerIfEmpty(controller);
|
removeControllerIfEmpty(controller);
|
||||||
} else {
|
} else {
|
||||||
logger.warning("Controller not instantiated: " + sensor.getController());
|
logger.warning("Controller not instantiated: " + sensor.getControllerClass());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -128,7 +128,9 @@ public abstract class HalAbstractDevice<V extends HalAbstractDevice, C extends H
|
||||||
/**
|
/**
|
||||||
* @return the class of the Controller responsible for this device type.
|
* @return the class of the Controller responsible for this device type.
|
||||||
*/
|
*/
|
||||||
public abstract Class<? extends HalAbstractController> getController();
|
public Class<? extends HalAbstractController> getControllerClass() {
|
||||||
|
return getDeviceConfig().getDeviceControllerClass();
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------
|
// ----------------------------------------------------
|
||||||
// Device data methods
|
// Device data methods
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,6 @@ public class Event extends HalAbstractDevice<Event, HalEventConfig, HalEventData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<? extends HalEventController> getController(){
|
|
||||||
return (Class<? extends HalEventController>) getDeviceConfig().getDeviceControllerClass();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected HalEventData getLatestDeviceData(DBConnection db) {
|
protected HalEventData getLatestDeviceData(DBConnection db) {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -110,11 +110,6 @@ public class Sensor extends HalAbstractDevice<Sensor, HalSensorConfig, HalSensor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<? extends HalAbstractController> getController(){
|
|
||||||
return (Class<? extends HalAbstractController>) getDeviceConfig().getDeviceControllerClass();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected HalSensorData getLatestDeviceData(DBConnection db) {
|
protected HalSensorData getLatestDeviceData(DBConnection db) {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,6 @@ public class Camera extends HalAbstractDevice<Camera, HalCameraConfig, HalCamera
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<? extends HalAbstractController> getController() {
|
|
||||||
return getDeviceConfig().getDeviceControllerClass();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected HalCameraData getLatestDeviceData(DBConnection db) {
|
protected HalCameraData getLatestDeviceData(DBConnection db) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue