Refactoring of of inheritance structure, ControllerManagers will now also be able to be provided through plugins

This commit is contained in:
Ziver Koc 2021-03-16 22:24:43 +01:00
parent 28bc108921
commit c0188cd5cc
73 changed files with 1083 additions and 991 deletions

View file

@ -1,6 +1,8 @@
package se.hal.plugin.dummy;
import se.hal.EventControllerManager;
import se.hal.HalServer;
import se.hal.SensorControllerManager;
import se.hal.intf.*;
import java.util.ArrayList;
@ -10,8 +12,8 @@ import java.util.concurrent.*;
public class DummyController implements HalSensorController, HalEventController, Runnable, HalDaemon {
private List<DummyDevice> registeredDevices = new ArrayList();
private HalSensorReportListener sensorListener;
private HalEventReportListener eventListener;
private HalDeviceReportListener sensorListener;
private HalDeviceReportListener eventListener;
public DummyController() {}
@ -45,27 +47,14 @@ public class DummyController implements HalSensorController, HalEventController,
}
@Override
public synchronized void register(HalSensorConfig sensorConfig) {
if (sensorConfig instanceof DummyDevice) {
registeredDevices.add((DummyDevice) sensorConfig);
}
public synchronized void register(HalDeviceConfig deviceConfig) {
if (deviceConfig instanceof DummyDevice)
registeredDevices.add((DummyDevice) deviceConfig);
}
@Override
public synchronized void register(HalEventConfig eventConfig) {
if (eventConfig instanceof DummyDevice) {
registeredDevices.add((DummyDevice) eventConfig);
}
}
@Override
public synchronized void deregister(HalSensorConfig sensorConfig) {
registeredDevices.remove(sensorConfig);
}
@Override
public synchronized void deregister(HalEventConfig eventConfig) {
registeredDevices.remove(eventConfig);
public synchronized void deregister(HalDeviceConfig deviceConfig) {
registeredDevices.remove(deviceConfig);
}
@Override
@ -79,10 +68,12 @@ public class DummyController implements HalSensorController, HalEventController,
}
@Override
public void setListener(HalSensorReportListener listener) { sensorListener = listener; }
@Override
public void setListener(HalEventReportListener listener) { eventListener = listener; }
public void setListener(HalDeviceReportListener listener) {
if (listener instanceof SensorControllerManager)
sensorListener = listener;
else if (listener instanceof EventControllerManager)
eventListener = listener;
}
@Override
public synchronized void close() {

View file

@ -31,12 +31,12 @@ public class DummyHumiditySensor implements DummyDevice, HalSensorConfig {
}
@Override
public Class<? extends HalSensorController> getSensorControllerClass() {
public Class<? extends HalSensorController> getDeviceControllerClass() {
return DummyController.class;
}
@Override
public Class<? extends HalSensorData> getSensorDataClass() {
public Class<? extends HalSensorData> getDeviceDataClass() {
return HumiditySensorData.class;
}

View file

@ -16,12 +16,12 @@ public class DummySwitchEvent implements DummyDevice, HalEventConfig {
@Override
public Class<? extends HalEventController> getEventControllerClass() {
public Class<? extends HalEventController> getDeviceControllerClass() {
return DummyController.class;
}
@Override
public Class<? extends HalEventData> getEventDataClass() {
public Class<? extends HalEventData> getDeviceDataClass() {
return OnOffEventData.class;
}
}

View file

@ -30,12 +30,12 @@ public class DummyTemperatureSensor implements DummyDevice, HalSensorConfig {
}
@Override
public Class<? extends HalSensorController> getSensorControllerClass() {
public Class<? extends HalSensorController> getDeviceControllerClass() {
return DummyController.class;
}
@Override
public Class<? extends HalSensorData> getSensorDataClass() {
public Class<? extends HalSensorData> getDeviceDataClass() {
return TemperatureSensorData.class;
}