Renamed AbstractDevice to HalAbstractDevice and moved int intf package

This commit is contained in:
Ziver Koc 2021-03-21 19:40:36 +01:00
parent 8d51526481
commit 7e8938c38c
17 changed files with 37 additions and 52 deletions

View file

@ -1,11 +1,9 @@
package se.hal.intf;
import se.hal.struct.AbstractDevice;
import zutil.ClassUtil;
import zutil.log.LogUtil;
import zutil.plugin.PluginManager;
import java.lang.reflect.ParameterizedType;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
@ -15,7 +13,7 @@ import java.util.logging.Logger;
* @param <T> is the device controller class
* @param <C> is the device configuration class
*/
public abstract class HalAbstractControllerManager<T extends HalAbstractController, V extends AbstractDevice, C extends HalDeviceConfig> {
public abstract class HalAbstractControllerManager<T extends HalAbstractController, V extends HalAbstractDevice, C extends HalDeviceConfig> {
private static final Logger logger = LogUtil.getLogger();
/** A map of all instantiated controllers **/

View file

@ -1,10 +1,7 @@
package se.hal.struct;
package se.hal.intf;
import se.hal.HalContext;
import se.hal.intf.HalAbstractController;
import se.hal.intf.HalDeviceConfig;
import se.hal.intf.HalDeviceData;
import se.hal.intf.HalDeviceReportListener;
import se.hal.struct.User;
import zutil.db.DBConnection;
import zutil.db.bean.DBBean;
import zutil.log.LogUtil;
@ -25,7 +22,7 @@ import java.util.logging.Logger;
* @param <C> is the device configuration class
* @param <D> is the device data class
*/
public abstract class AbstractDevice<V extends AbstractDevice,C extends HalDeviceConfig,D extends HalDeviceData> extends DBBean {
public abstract class HalAbstractDevice<V extends HalAbstractDevice, C extends HalDeviceConfig, D extends HalDeviceData> extends DBBean {
private static final Logger logger = LogUtil.getLogger();
// Sensor specific data
@ -74,7 +71,7 @@ public abstract class AbstractDevice<V extends AbstractDevice,C extends HalDevic
applyConfig();
deviceData = getLatestDeviceData(HalContext.getDB());
} catch (Exception e) {
logger.log(Level.SEVERE, "Unable instantiate DeviceConfig: "+type, e);
logger.log(Level.SEVERE, "Unable instantiate DeviceConfig: " + type, e);
}
}
return deviceConfig;
@ -126,6 +123,9 @@ public abstract class AbstractDevice<V extends AbstractDevice,C extends HalDevic
}
}
/**
* @return the class of the Controller responsible for this device type.
*/
public abstract Class<? extends HalAbstractController> getController();
// ----------------------------------------------------

View file

@ -2,13 +2,11 @@ package se.hal.page;
import se.hal.HalContext;
import se.hal.intf.HalJsonPage;
import se.hal.struct.AbstractDevice;
import se.hal.intf.HalAbstractDevice;
import se.hal.struct.Event;
import se.hal.struct.Sensor;
import zutil.db.DBConnection;
import zutil.log.LogUtil;
import zutil.net.http.HttpHeader;
import zutil.net.http.HttpPrintStream;
import zutil.parser.DataNode;
import java.sql.SQLException;
@ -39,7 +37,7 @@ public class MapJsonPage extends HalJsonPage {
getDeviceNode(db, root);
} else if ("save".equals(request.get("action"))) {
int id = Integer.parseInt(request.get("id"));
AbstractDevice device = null;
HalAbstractDevice device = null;
logger.info("Saving Sensor coordinates.");
@ -76,7 +74,7 @@ public class MapJsonPage extends HalJsonPage {
root.set("events", eventsNode);
}
private DataNode getDeviceNode(AbstractDevice device) {
private DataNode getDeviceNode(HalAbstractDevice device) {
DataNode deviceNode = new DataNode(DataNode.DataType.Map);
deviceNode.set("id", device.getId());
deviceNode.set("name", device.getName());

View file

@ -14,7 +14,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
@DBBean.DBTable(value="event", superBean=true)
public class Event extends AbstractDevice<Event,HalEventConfig,HalEventData> {
public class Event extends HalAbstractDevice<Event, HalEventConfig, HalEventData> {
private static final Logger logger = LogUtil.getLogger();

View file

@ -2,6 +2,7 @@ package se.hal.struct;
import se.hal.HalContext;
import se.hal.intf.HalAbstractController;
import se.hal.intf.HalAbstractDevice;
import se.hal.intf.HalSensorConfig;
import se.hal.intf.HalSensorData;
import se.hal.util.DeviceDataSqlResult;
@ -19,7 +20,7 @@ import java.util.logging.Logger;
@DBBean.DBTable(value="sensor", superBean=true)
public class Sensor extends AbstractDevice<Sensor,HalSensorConfig,HalSensorData> {
public class Sensor extends HalAbstractDevice<Sensor, HalSensorConfig, HalSensorData> {
private static final Logger logger = LogUtil.getLogger();
private long external_id = -1;

View file

@ -5,7 +5,7 @@ import se.hal.intf.HalDeviceConfig;
import se.hal.intf.HalDeviceData;
import se.hal.intf.HalDeviceReportListener;
import se.hal.intf.HalTrigger;
import se.hal.struct.AbstractDevice;
import se.hal.intf.HalAbstractDevice;
import zutil.ui.Configurator;
import zutil.ui.Configurator.PostConfigurationActionListener;
import zutil.ui.Configurator.PreConfigurationActionListener;
@ -31,14 +31,14 @@ public abstract class DeviceTrigger implements HalTrigger,
@Override
public void preConfigurationAction(Configurator configurator, Object obj) {
AbstractDevice device = getDevice(deviceId);
HalAbstractDevice device = getDevice(deviceId);
if (device != null)
device.removeReportListener(this);
reset();
}
@Override
public void postConfigurationAction(Configurator configurator, Object obj) {
AbstractDevice device = getDevice(deviceId);
HalAbstractDevice device = getDevice(deviceId);
if (device != null)
device.addReportListener(this);
}
@ -67,5 +67,5 @@ public abstract class DeviceTrigger implements HalTrigger,
protected abstract AbstractDevice getDevice(long id);
protected abstract HalAbstractDevice getDevice(long id);
}

View file

@ -1,17 +1,17 @@
package se.hal.util;
import se.hal.struct.AbstractDevice;
import se.hal.intf.HalAbstractDevice;
import java.util.Comparator;
/**
* A comparator that compares on the device name.
*/
public class DeviceNameComparator implements Comparator<AbstractDevice> {
public class DeviceNameComparator implements Comparator<HalAbstractDevice> {
private static DeviceNameComparator instance;
@Override
public int compare(AbstractDevice device1, AbstractDevice device2) {
public int compare(HalAbstractDevice device1, HalAbstractDevice device2) {
return device1.getName().compareTo(device2.getName());
}

View file

@ -114,12 +114,12 @@ public class EventControllerManagerTest {
public void initialize() { }
@Override
public void register(HalEventConfig event) {
public void register(HalDeviceConfig event) {
size++;
}
@Override
public void deregister(HalEventConfig event) {
public void deregister(HalDeviceConfig event) {
size--;
}

View file

@ -1,11 +1,7 @@
package se.hal;
import org.junit.Test;
import se.hal.intf.HalAbstractController;
import se.hal.intf.HalDeviceReportListener;
import se.hal.intf.HalSensorConfig;
import se.hal.intf.HalSensorController;
import se.hal.intf.HalSensorData;
import se.hal.intf.*;
import se.hal.struct.Sensor;
import se.hal.struct.devicedata.HumiditySensorData;
import se.hal.struct.devicedata.TemperatureSensorData;
@ -140,11 +136,11 @@ public class SensorControllerManagerTest {
public void initialize() { }
@Override
public void register(HalSensorConfig sensor) {
public void register(HalDeviceConfig sensor) {
size++;
}
@Override
public void deregister(HalSensorConfig sensor) {
public void deregister(HalDeviceConfig sensor) {
size--;
}
@Override

View file

@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
public class NetScanController implements HalEventController, HalAutoScannableController, InetScanListener, Runnable{
public class NetScanController implements HalEventController, HalAutoScannableController, InetScanListener, Runnable {
public static Logger logger = LogUtil.getLogger();
private static final int NETWORK_SYNC_INTERVAL = 3 * 60 * 60 * 1000; // 3 hours
private static final int PING_INTERVAL = 10 * 1000; // 10 sec

View file

@ -61,7 +61,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
public class NutUpsController implements HalSensorController, HalAutoScannableController, Runnable{
public class NutUpsController implements HalSensorController, HalAutoScannableController, Runnable {
public static Logger logger = LogUtil.getLogger();
private static final int SYNC_INTERVAL = 60 * 1000;

View file

@ -4,7 +4,6 @@ import se.hal.intf.HalAbstractControllerManager;
import se.hal.plugin.nvr.intf.HalCameraConfig;
import se.hal.plugin.nvr.intf.HalCameraController;
import se.hal.plugin.nvr.struct.Camera;
import se.hal.struct.AbstractDevice;
import zutil.log.LogUtil;
import zutil.plugin.PluginManager;

View file

@ -27,7 +27,7 @@ package se.hal.plugin.nvr.struct;
import se.hal.intf.HalAbstractController;
import se.hal.plugin.nvr.intf.HalCameraConfig;
import se.hal.plugin.nvr.intf.HalCameraData;
import se.hal.struct.AbstractDevice;
import se.hal.intf.HalAbstractDevice;
import zutil.db.DBConnection;
import zutil.db.bean.DBBean;
@ -35,7 +35,7 @@ import java.sql.SQLException;
import java.util.List;
public class Camera extends AbstractDevice<Camera, HalCameraConfig, HalCameraData> {
public class Camera extends HalAbstractDevice<Camera, HalCameraConfig, HalCameraData> {
public static List<Camera> getCameras(DBConnection db) throws SQLException{
return DBBean.load(db, Camera.class);

View file

@ -16,7 +16,7 @@ public class RPiController implements HalSensorController {
private HalDeviceReportListener sensorListener;
public RPiController(){
}
@Override
@ -86,7 +86,7 @@ public class RPiController implements HalSensorController {
pinToSensorMap.remove(key);
}
}
public void sendDataReport(HalSensorConfig sensorConfig, HalSensorData sensorData){
if(sensorListener != null){
sensorListener.reportReceived(sensorConfig, sensorData);

View file

@ -16,7 +16,7 @@ import com.zsmartsystems.zigbee.serialization.DefaultSerializer;
import com.zsmartsystems.zigbee.transport.*;
import se.hal.HalContext;
import se.hal.intf.*;
import se.hal.struct.AbstractDevice;
import se.hal.intf.HalAbstractDevice;
import zutil.log.LogUtil;
import java.util.List;
@ -40,7 +40,7 @@ public class HalZigbeeController implements HalSensorController, HalEventControl
protected ZigBeeNetworkManager networkManager;
private HalDeviceReportListener deviceListener;
private List<AbstractDevice> registeredDevices;
private List<HalAbstractDevice> registeredDevices;
public HalZigbeeController() {}

View file

@ -3,7 +3,7 @@ package se.hal.plugin.zwave;
import org.zwave4j.*;
import se.hal.HalContext;
import se.hal.intf.*;
import se.hal.struct.AbstractDevice;
import se.hal.intf.HalAbstractDevice;
import zutil.log.LogUtil;
import java.util.List;
@ -16,7 +16,7 @@ import java.util.logging.Logger;
*
* @author Ziver Koc
*/
public class HalZWaveController implements HalSensorController, HalEventController, HalAutoScannableController, NotificationWatcher{
public class HalZWaveController implements HalSensorController, HalEventController, HalAutoScannableController, NotificationWatcher {
private static final Logger logger = LogUtil.getLogger();
public static final String CONFIG_ZWAVE_PORT = "zwave.com_port";
@ -30,7 +30,7 @@ public class HalZWaveController implements HalSensorController, HalEventControll
private HalDeviceReportListener sensorListener;
private HalDeviceReportListener deviceListener;
private List<AbstractDevice> registeredDevices;
private List<HalAbstractDevice> registeredDevices;
public HalZWaveController() {

View file

@ -1,17 +1,10 @@
package se.hal.plugin.zwave;
import org.zwave4j.*;
import se.hal.HalContext;
import se.hal.intf.*;
import se.hal.struct.AbstractDevice;
import zutil.log.CompactLogFormatter;
import zutil.log.LogUtil;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* @author zagumennikov