From 65581f13d503724b4699dbbdb30dca09872cb660 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Tue, 26 Jan 2021 01:52:50 +0100 Subject: [PATCH] Some small updates and fixes for Zigbee --- hal-core/src/se/hal/ControllerManager.java | 13 ++++--- .../se/hal/intf/HalAbstractController.java | 5 ++- .../src/se/hal/intf/HalEventController.java | 3 ++ .../src/se/hal/intf/HalSensorController.java | 3 ++ .../src/se/hal/page/EventConfigWebPage.java | 1 - .../src/se/hal/struct/AbstractDevice.java | 15 +++++--- .../se/hal/EventControllerManagerTest.java | 2 +- hal.conf.example | 1 + logging.properties | 21 ++++++++++-- .../plugin/zigbee/HalZigbeeController.java | 34 +++++++++++-------- .../plugin/zigbee/ZigBeeJSerialCommPort.java | 7 ++-- .../zigbee/HalZigbeeControllerTest.java | 10 ++++-- 12 files changed, 77 insertions(+), 38 deletions(-) diff --git a/hal-core/src/se/hal/ControllerManager.java b/hal-core/src/se/hal/ControllerManager.java index bf6c303a..a54d1171 100644 --- a/hal-core/src/se/hal/ControllerManager.java +++ b/hal-core/src/se/hal/ControllerManager.java @@ -19,7 +19,6 @@ import java.util.logging.Logger; /** * This class manages all SensorController and EventController objects */ -@SuppressWarnings("RedundantCast") public class ControllerManager implements HalSensorReportListener, HalEventReportListener, PreConfigurationActionListener, @@ -31,21 +30,21 @@ public class ControllerManager implements HalSensorReportListener, /** All available sensor plugins **/ private List> availableSensors = new ArrayList<>(); /** List of all registered sensors **/ - private List registeredSensors = Collections.synchronizedList(new ArrayList()); + private List registeredSensors = Collections.synchronizedList(new ArrayList<>()); /** List of auto detected sensors **/ - private List detectedSensors = Collections.synchronizedList(new ArrayList()); + private List detectedSensors = Collections.synchronizedList(new ArrayList<>()); /** List of sensors that are currently being reconfigured **/ - private List limboSensors = Collections.synchronizedList(new LinkedList()); + private List limboSensors = Collections.synchronizedList(new LinkedList<>()); /** All available event plugins **/ private List> availableEvents = new ArrayList<>(); /** List of all registered events **/ - private List registeredEvents = Collections.synchronizedList(new ArrayList()); + private List registeredEvents = Collections.synchronizedList(new ArrayList<>()); /** List of auto detected events **/ - private List detectedEvents = Collections.synchronizedList(new ArrayList()); + private List detectedEvents = Collections.synchronizedList(new ArrayList<>()); /** List of all registered events **/ - private List limboEvents = Collections.synchronizedList(new LinkedList()); + private List limboEvents = Collections.synchronizedList(new LinkedList<>()); /** A map of all instantiated controllers **/ diff --git a/hal-core/src/se/hal/intf/HalAbstractController.java b/hal-core/src/se/hal/intf/HalAbstractController.java index 3379b174..515197c5 100644 --- a/hal-core/src/se/hal/intf/HalAbstractController.java +++ b/hal-core/src/se/hal/intf/HalAbstractController.java @@ -24,7 +24,8 @@ package se.hal.intf; -public interface HalAbstractController { + +public interface HalAbstractController { /** * The framework might create dummy objects so any type of @@ -33,13 +34,11 @@ public interface HalAbstractController { */ void initialize() throws Exception; - /** * @return the number of registered devices. */ int size(); - /** * Close any resources associated with this controller. * This method could be called multiple times, first time diff --git a/hal-core/src/se/hal/intf/HalEventController.java b/hal-core/src/se/hal/intf/HalEventController.java index f8b7ff7c..9bb0837f 100644 --- a/hal-core/src/se/hal/intf/HalEventController.java +++ b/hal-core/src/se/hal/intf/HalEventController.java @@ -1,5 +1,8 @@ package se.hal.intf; +/** + * Controller interface for handling event based devices. + */ public interface HalEventController extends HalAbstractController { /** diff --git a/hal-core/src/se/hal/intf/HalSensorController.java b/hal-core/src/se/hal/intf/HalSensorController.java index 035d6d50..8c193eeb 100644 --- a/hal-core/src/se/hal/intf/HalSensorController.java +++ b/hal-core/src/se/hal/intf/HalSensorController.java @@ -1,5 +1,8 @@ package se.hal.intf; +/** + * Controller interface for handling Sensor devices. + */ public interface HalSensorController extends HalAbstractController { /** diff --git a/hal-core/src/se/hal/page/EventConfigWebPage.java b/hal-core/src/se/hal/page/EventConfigWebPage.java index 5afeaf84..8113a933 100644 --- a/hal-core/src/se/hal/page/EventConfigWebPage.java +++ b/hal-core/src/se/hal/page/EventConfigWebPage.java @@ -116,7 +116,6 @@ public class EventConfigWebPage extends HalWebPage { tmpl.set("availableEvents", ControllerManager.getInstance().getAvailableEvents()); return tmpl; - } } diff --git a/hal-core/src/se/hal/struct/AbstractDevice.java b/hal-core/src/se/hal/struct/AbstractDevice.java index 5c7dfa9d..42ff8fed 100644 --- a/hal-core/src/se/hal/struct/AbstractDevice.java +++ b/hal-core/src/se/hal/struct/AbstractDevice.java @@ -2,6 +2,7 @@ package se.hal.struct; import se.hal.ControllerManager; import se.hal.HalContext; +import se.hal.intf.HalAbstractController; import se.hal.intf.HalDeviceData; import se.hal.intf.HalDeviceReportListener; import zutil.db.DBConnection; @@ -50,7 +51,9 @@ public abstract class AbstractDevice> listeners = new LinkedList<>(); - /**************** DEVICE CONFIG ******************/ + // ---------------------------------------------------- + // Device config methods + // ---------------------------------------------------- public Configurator getDeviceConfigurator() { C obj = getDeviceConfig(); @@ -123,9 +126,11 @@ public abstract class AbstractDevice getController(); + public abstract Class getController(); - /**************** DEVICE DATA ******************/ + // ---------------------------------------------------- + // Device data methods + // ---------------------------------------------------- /** * @return the latest known data from the device @@ -143,7 +148,9 @@ public abstract class AbstractDevice