From c2d03347cae9e1eb4e1298c23f7a7ed6275b288f Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Fri, 29 Jan 2016 11:11:09 +0100 Subject: [PATCH] small refactoring Former-commit-id: 76cf6d11dc8f67469af705755238d86c77fd3b05 --- src/se/hal/ControllerManager.java | 26 ++++++++++++-------------- src/se/hal/struct/AbstractDevice.java | 2 +- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/se/hal/ControllerManager.java b/src/se/hal/ControllerManager.java index f932145f..be734728 100755 --- a/src/se/hal/ControllerManager.java +++ b/src/se/hal/ControllerManager.java @@ -105,8 +105,6 @@ public class ControllerManager implements HalSensorReportListener, Sensor sensor = findSensor(sensorData, registeredSensors); if (sensor != null) { - sensor.setDeviceData(sensorData); // Set the latest data - PreparedStatement stmt = db.getPreparedStatement("INSERT INTO sensor_data_raw (timestamp, sensor_id, data) VALUES(?, ?, ?)"); stmt.setLong(1, sensorData.getTimestamp()); @@ -117,13 +115,14 @@ public class ControllerManager implements HalSensorReportListener, } else { // unknown sensor logger.finest("Received report from unregistered sensor: "+ sensorData); - Sensor detectedSensor = findSensor(sensorData, detectedSensors); - if(detectedSensor == null) { - detectedSensor = new Sensor(); - detectedSensors.add(detectedSensor); + sensor = findSensor(sensorData, detectedSensors); + if(sensor == null) { + sensor = new Sensor(); + detectedSensors.add(sensor); } - detectedSensor.setDeviceData(sensorData); } + sensor.setDeviceData(sensorData); // Set the latest data + }catch (SQLException e){ logger.log(Level.WARNING, "Unable to store sensor report", e); } @@ -191,8 +190,6 @@ public class ControllerManager implements HalSensorReportListener, Event event = findEvent(eventData, registeredEvents); if (event != null) { - event.setDeviceData(eventData); // Set the latest data - PreparedStatement stmt = db.getPreparedStatement("INSERT INTO event_data_raw (timestamp, event_id, data) VALUES(?, ?, ?)"); stmt.setLong(1, eventData.getTimestamp()); @@ -203,13 +200,14 @@ public class ControllerManager implements HalSensorReportListener, } else { // unknown sensor logger.info("Received report from unregistered event: "+ eventData); - Event detectedEvent = findEvent(eventData, detectedEvents); - if(detectedEvent == null) { - detectedEvent = new Event(); - detectedEvents.add(detectedEvent); + event = findEvent(eventData, detectedEvents); + if(event == null) { + event = new Event(); + detectedEvents.add(event); } - detectedEvent.setDeviceData(eventData); } + event.setDeviceData(eventData); // Set the latest data + }catch (SQLException e){ logger.log(Level.WARNING, "Unable to store event report", e); } diff --git a/src/se/hal/struct/AbstractDevice.java b/src/se/hal/struct/AbstractDevice.java index 5c5e0a7f..ad788512 100755 --- a/src/se/hal/struct/AbstractDevice.java +++ b/src/se/hal/struct/AbstractDevice.java @@ -42,7 +42,7 @@ public abstract class AbstractDevice extends DBBean { return null; } public T getDeviceData() { - if (deviceData == null) { + if (deviceData == null || !deviceData.getClass().getName().equals(type)) { try { Class c = Class.forName(type); deviceData = (T) c.newInstance();