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

@ -13,7 +13,7 @@ public class RPiController implements HalSensorController {
private static final Logger logger = LogUtil.getLogger();
private HashMap<String, RPiSensor> pinToSensorMap = new HashMap<>();
private HalSensorReportListener sensorListener;
private HalDeviceReportListener sensorListener;
public RPiController(){
@ -25,9 +25,9 @@ public class RPiController implements HalSensorController {
}
@Override
public void register(HalSensorConfig sensor) {
if(sensor instanceof RPiPowerConsumptionSensor){
RPiPowerConsumptionSensor powerConsumptionSensor = (RPiPowerConsumptionSensor) sensor;
public void register(HalDeviceConfig deviceConfig) {
if(deviceConfig instanceof RPiPowerConsumptionSensor){
RPiPowerConsumptionSensor powerConsumptionSensor = (RPiPowerConsumptionSensor) deviceConfig;
int gpioPin = powerConsumptionSensor.getGpioPin();
if(!pinToSensorMap.containsKey("GPIO_"+gpioPin)){
RPiInteruptPulseFlankCounter impulseCounter = new RPiInteruptPulseFlankCounter(gpioPin, this);
@ -35,8 +35,8 @@ public class RPiController implements HalSensorController {
}else{
logger.warning("Cannot create a RPiPowerConsumptionSensor on GPIO pin " + gpioPin + " since is already is in use by another sensor.");
}
} else if(sensor instanceof RPiTemperatureSensor){
RPiTemperatureSensor temperatureSensor = (RPiTemperatureSensor) sensor;
} else if(deviceConfig instanceof RPiTemperatureSensor){
RPiTemperatureSensor temperatureSensor = (RPiTemperatureSensor) deviceConfig;
String w1Address = temperatureSensor.get1WAddress();
if(!pinToSensorMap.containsKey("W1_"+w1Address)){
RPiDS18B20 ds12b20 = new RPiDS18B20(w1Address, this);
@ -50,15 +50,15 @@ public class RPiController implements HalSensorController {
}
@Override
public void deregister(HalSensorConfig sensor) {
if(sensor instanceof RPiPowerConsumptionSensor){
RPiPowerConsumptionSensor powerConsumprtionSensor = (RPiPowerConsumptionSensor) sensor;
RPiSensor sensorToDeregister = pinToSensorMap.remove("GPIO_"+powerConsumprtionSensor.getGpioPin());
public void deregister(HalDeviceConfig deviceConfig) {
if(deviceConfig instanceof RPiPowerConsumptionSensor){
RPiPowerConsumptionSensor powerConsumptionSensor = (RPiPowerConsumptionSensor) deviceConfig;
RPiSensor sensorToDeregister = pinToSensorMap.remove("GPIO_"+powerConsumptionSensor.getGpioPin());
if(sensorToDeregister != null){
sensorToDeregister.close();
}
} else if(sensor instanceof RPiTemperatureSensor){
RPiTemperatureSensor temperatureSensor = (RPiTemperatureSensor) sensor;
} else if(deviceConfig instanceof RPiTemperatureSensor){
RPiTemperatureSensor temperatureSensor = (RPiTemperatureSensor) deviceConfig;
RPiSensor sensorToDeregister = pinToSensorMap.remove("W1_"+temperatureSensor.get1WAddress());
if(sensorToDeregister != null){
sensorToDeregister.close();
@ -75,7 +75,7 @@ public class RPiController implements HalSensorController {
}
@Override
public void setListener(HalSensorReportListener listener) {
public void setListener(HalDeviceReportListener listener) {
sensorListener = listener;
}

View file

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

View file

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