From 86cab179a8d7e1b24a951cdb1c5b8d820ec1439d Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 11 Nov 2019 19:52:24 +0100 Subject: [PATCH] Added additional logging --- src/se/hal/page/EventConfigHttpPage.java | 8 ++--- src/se/hal/page/EventOverviewHttpPage.java | 1 + src/se/hal/page/MapJsonPage.java | 9 +++++- src/se/hal/page/SensorConfigHttpPage.java | 26 ++++++++++++--- src/se/hal/page/SensorJsonPage.java | 2 +- src/se/hal/page/TriggerHttpPage.java | 37 ++++++++++++++-------- src/se/hal/page/UserConfigHttpPage.java | 5 ++- 7 files changed, 62 insertions(+), 26 deletions(-) diff --git a/src/se/hal/page/EventConfigHttpPage.java b/src/se/hal/page/EventConfigHttpPage.java index 4c449612..0dd4337f 100755 --- a/src/se/hal/page/EventConfigHttpPage.java +++ b/src/se/hal/page/EventConfigHttpPage.java @@ -53,6 +53,7 @@ public class EventConfigHttpPage extends HalHttpPage { switch(request.get("action")) { // Local events case "create_local_event": + logger.info("Creating new event: " + request.get("name")); event = new Event(); event.setName(request.get("name")); event.setType(request.get("type")); @@ -61,7 +62,6 @@ public class EventConfigHttpPage extends HalHttpPage { event.save(db); ControllerManager.getInstance().register(event); - logger.info("Event created: " + event.getName()); HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.SUCCESS, "Successfully created new event: " + event.getName(), AlertTTL.ONE_VIEW)); break; @@ -69,13 +69,13 @@ public class EventConfigHttpPage extends HalHttpPage { case "modify_local_event": event = Event.getEvent(db, id); if (event != null) { + logger.info("Modifying event: " + event.getName()); event.setName(request.get("name")); event.setType(request.get("type")); event.setUser(localUser); event.getDeviceConfigurator().setValues(request).applyConfiguration(); event.save(db); - logger.info("Event modified: " + event.getName()); HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.SUCCESS, "Successfully saved event: "+event.getName(), AlertTTL.ONE_VIEW)); } else { @@ -88,12 +88,12 @@ public class EventConfigHttpPage extends HalHttpPage { case "remove_local_event": event = Event.getEvent(db, id); if (event != null) { + logger.info("Removing event: " + event.getName()); ControllerManager.getInstance().deregister(event); event.delete(db); - logger.info("Event deleted: " + event.getName()); HalAlertManager.getInstance().addAlert(new HalAlert( - AlertLevel.SUCCESS, "Successfully deleted event: "+event.getName(), AlertTTL.ONE_VIEW)); + AlertLevel.SUCCESS, "Successfully removed event: "+event.getName(), AlertTTL.ONE_VIEW)); } else { logger.warning("Unknown event id: " + id); HalAlertManager.getInstance().addAlert(new HalAlert( diff --git a/src/se/hal/page/EventOverviewHttpPage.java b/src/se/hal/page/EventOverviewHttpPage.java index ad8f1153..ea1ef92c 100755 --- a/src/se/hal/page/EventOverviewHttpPage.java +++ b/src/se/hal/page/EventOverviewHttpPage.java @@ -54,6 +54,7 @@ public class EventOverviewHttpPage extends HalHttpPage { else eventData.turnOff(); + logger.info("Modifying Event(" + id + ") state: " + eventData.toString()); Event event = Event.getEvent(db, id); event.setDeviceData(eventData); ControllerManager.getInstance().send(event); diff --git a/src/se/hal/page/MapJsonPage.java b/src/se/hal/page/MapJsonPage.java index c3db8856..3694d180 100755 --- a/src/se/hal/page/MapJsonPage.java +++ b/src/se/hal/page/MapJsonPage.java @@ -6,16 +6,18 @@ import se.hal.struct.AbstractDevice; import se.hal.struct.Event; import se.hal.struct.Sensor; import zutil.db.DBConnection; +import zutil.log.LogUtil; import zutil.parser.DataNode; import java.sql.SQLException; import java.util.Map; +import java.util.logging.Logger; /** * TODO: This json endpoint might not be needed as we have SensorJsonPage? */ public class MapJsonPage extends HalJsonPage { - + private static final Logger logger = LogUtil.getLogger(); public MapJsonPage() { super("data/map"); @@ -34,6 +36,9 @@ public class MapJsonPage extends HalJsonPage { } else if ("save".equals(request.get("action"))) { int id = Integer.parseInt(request.get("id")); AbstractDevice device = null; + + logger.info("Saving Sensor coordinates."); + if ("sensor".equals(request.get("type"))) device = Sensor.getSensor(db, id); else if ("event".equals(request.get("type"))) @@ -49,6 +54,7 @@ public class MapJsonPage extends HalJsonPage { private void getDeviceNode(DBConnection db, DataNode root) throws SQLException { DataNode sensorsNode = new DataNode(DataNode.DataType.List); + for (Sensor sensor : Sensor.getLocalSensors(db)) { DataNode sensorNode = getDeviceNode(sensor); sensorNode.set("data", ""+sensor.getDeviceData()); @@ -57,6 +63,7 @@ public class MapJsonPage extends HalJsonPage { root.set("sensors", sensorsNode); DataNode eventsNode = new DataNode(DataNode.DataType.List); + for (Event event : Event.getLocalEvents(db)) { DataNode eventNode = getDeviceNode(event); eventNode.set("data", ""+event.getDeviceData()); diff --git a/src/se/hal/page/SensorConfigHttpPage.java b/src/se/hal/page/SensorConfigHttpPage.java index a29bc79f..aec8f8e1 100755 --- a/src/se/hal/page/SensorConfigHttpPage.java +++ b/src/se/hal/page/SensorConfigHttpPage.java @@ -12,12 +12,15 @@ import se.hal.struct.User; import zutil.ObjectUtil; import zutil.db.DBConnection; import zutil.io.file.FileUtil; +import zutil.log.LogUtil; import zutil.parser.Templator; import java.util.ArrayList; import java.util.Map; +import java.util.logging.Logger; public class SensorConfigHttpPage extends HalHttpPage { + private static final Logger logger = LogUtil.getLogger(); private static final String TEMPLATE = "resource/web/sensor_config.tmpl"; private ArrayList sensorConfigurations; @@ -51,6 +54,7 @@ public class SensorConfigHttpPage extends HalHttpPage { switch(request.get("action")) { // Local Sensors case "create_local_sensor": + logger.info("Creating sensor: " + request.get("name")); sensor = new Sensor(); sensor.setName(request.get("name")); sensor.setType(request.get("type")); @@ -67,6 +71,7 @@ public class SensorConfigHttpPage extends HalHttpPage { case "modify_local_sensor": sensor = Sensor.getSensor(db, id); if(sensor != null){ + logger.info("Modifying sensor: " + sensor.getName()); sensor.setName(request.get("name")); sensor.setType(request.get("type")); sensor.setSynced(Boolean.parseBoolean(request.get("sync"))); @@ -76,22 +81,25 @@ public class SensorConfigHttpPage extends HalHttpPage { HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.SUCCESS, "Successfully saved sensor: "+sensor.getName(), AlertTTL.ONE_VIEW)); } else { + logger.warning("Unknown sensor id: " + id); HalAlertManager.getInstance().addAlert(new HalAlert( - AlertLevel.ERROR, "Unknown sensor id: "+id, AlertTTL.ONE_VIEW)); + AlertLevel.ERROR, "Unknown sensor id: " + id, AlertTTL.ONE_VIEW)); } break; case "remove_local_sensor": sensor = Sensor.getSensor(db, id); if(sensor != null) { + logger.warning("Removing sensor: " + sensor.getName()); ControllerManager.getInstance().deregister(sensor); sensor.delete(db); HalAlertManager.getInstance().addAlert(new HalAlert( - AlertLevel.SUCCESS, "Successfully deleted sensor: "+sensor.getName(), AlertTTL.ONE_VIEW)); + AlertLevel.SUCCESS, "Successfully removed sensor: "+sensor.getName(), AlertTTL.ONE_VIEW)); } else { + logger.warning("Unknown sensor id: " + id); HalAlertManager.getInstance().addAlert(new HalAlert( - AlertLevel.ERROR, "Unknown sensor id: "+id, AlertTTL.ONE_VIEW)); + AlertLevel.ERROR, "Unknown sensor id: " + id, AlertTTL.ONE_VIEW)); } break; @@ -101,6 +109,7 @@ public class SensorConfigHttpPage extends HalHttpPage { // External Users case "create_external_user": + logger.info("Creating external user: " + request.get("hostname")); user = new User(); user.setHostname(request.get("hostname")); user.setPort(Integer.parseInt(request.get("port"))); @@ -110,9 +119,11 @@ public class SensorConfigHttpPage extends HalHttpPage { HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.SUCCESS, "Successfully created new external user with host: "+user.getHostname(), AlertTTL.ONE_VIEW)); break; + case "modify_external_user": user = User.getUser(db, id); if(user != null){ + logger.info("Modifying external user: " + user.getHostname()); user.setHostname(request.get("hostname")); user.setPort(Integer.parseInt(request.get("port"))); user.save(db); @@ -120,18 +131,21 @@ public class SensorConfigHttpPage extends HalHttpPage { HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.SUCCESS, "Successfully saved external user with host: "+user.getHostname(), AlertTTL.ONE_VIEW)); } else { + logger.warning("Unknown user id: " + id); HalAlertManager.getInstance().addAlert(new HalAlert( - AlertLevel.ERROR, "Unknown user id: "+id, AlertTTL.ONE_VIEW)); + AlertLevel.ERROR, "Unknown user id: " + id, AlertTTL.ONE_VIEW)); } break; case "remove_external_user": user = User.getUser(db, id); if (user != null) { + logger.info("Removing external user: " + user.getHostname()); user.delete(db); HalAlertManager.getInstance().addAlert(new HalAlert( - AlertLevel.SUCCESS, "Successfully deleted user with host: "+user.getHostname(), AlertTTL.ONE_VIEW)); + AlertLevel.SUCCESS, "Successfully removed user with host: "+user.getHostname(), AlertTTL.ONE_VIEW)); } else { + logger.warning("Unknown user id: " + id); HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.ERROR, "Unknown user id: "+id, AlertTTL.ONE_VIEW)); } @@ -141,12 +155,14 @@ public class SensorConfigHttpPage extends HalHttpPage { case "modify_external_sensor": sensor = Sensor.getSensor(db, id); if(sensor != null){ + logger.warning("Modifying external sensor: " + sensor.getName()); sensor.setSynced(Boolean.parseBoolean(request.get("sync"))); sensor.save(db); HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.SUCCESS, "Successfully saved external sensor: "+sensor.getName(), AlertTTL.ONE_VIEW)); } else { + logger.warning("Unknown user id: " + id); HalAlertManager.getInstance().addAlert(new HalAlert( AlertLevel.ERROR, "Unknown sensor id: "+id, AlertTTL.ONE_VIEW)); } diff --git a/src/se/hal/page/SensorJsonPage.java b/src/se/hal/page/SensorJsonPage.java index 1b22aff1..6eafedad 100755 --- a/src/se/hal/page/SensorJsonPage.java +++ b/src/se/hal/page/SensorJsonPage.java @@ -30,11 +30,11 @@ import java.util.logging.Logger; public class SensorJsonPage extends HalJsonPage { private static final Logger logger = LogUtil.getLogger(); + public SensorJsonPage() { super("data/sensor"); } - @Override public DataNode jsonRespond( Map session, diff --git a/src/se/hal/page/TriggerHttpPage.java b/src/se/hal/page/TriggerHttpPage.java index 37a81788..1246c206 100755 --- a/src/se/hal/page/TriggerHttpPage.java +++ b/src/se/hal/page/TriggerHttpPage.java @@ -2,21 +2,23 @@ package se.hal.page; import se.hal.HalContext; import se.hal.TriggerManager; -import se.hal.intf.HalAction; import se.hal.intf.HalHttpPage; -import se.hal.intf.HalTrigger; import se.hal.struct.Action; import se.hal.struct.ClassConfigurationData; import se.hal.struct.Trigger; import se.hal.struct.TriggerFlow; +import zutil.ObjectUtil; import zutil.db.DBConnection; import zutil.io.file.FileUtil; +import zutil.log.LogUtil; import zutil.parser.Templator; import java.util.ArrayList; import java.util.Map; +import java.util.logging.Logger; public class TriggerHttpPage extends HalHttpPage { + private static final Logger logger = LogUtil.getLogger(); private static final String TEMPLATE = "resource/web/trigger.tmpl"; private ArrayList triggerConfigurators; @@ -35,7 +37,6 @@ public class TriggerHttpPage extends HalHttpPage { actionConfigurators.add(new ClassConfigurationData(c)); } - @Override public Templator httpRespond ( Map session, @@ -45,46 +46,49 @@ public class TriggerHttpPage extends HalHttpPage { DBConnection db = HalContext.getDB(); if (request.containsKey("action")) { - TriggerFlow flow = null; - if (request.containsKey("flow-id") && !request.get("flow-id").isEmpty()) - flow = TriggerFlow.getTriggerFlow(db, Integer.parseInt(request.get("flow-id"))); - Trigger trigger = null; - if (request.containsKey("trigger-id") && !request.get("trigger-id").isEmpty()) - trigger = Trigger.getTrigger(db, Integer.parseInt(request.get("trigger-id"))); - Action action = null; - if (request.containsKey("action-id") && !request.get("action-id").isEmpty()) - action = Action.getAction(db, Integer.parseInt(request.get("action-id"))); - + TriggerFlow flow = (ObjectUtil.isEmpty(request.get("flow-id")) ? null : + TriggerFlow.getTriggerFlow(db, Integer.parseInt(request.get("flow-id")))); + Trigger trigger = (ObjectUtil.isEmpty(request.get("trigger-id")) ? null : + Trigger.getTrigger(db, Integer.parseInt(request.get("trigger-id")))); + Action action = (ObjectUtil.isEmpty(request.get("action-id")) ? null : + Action.getAction(db, Integer.parseInt(request.get("action-id")))); switch(request.get("action")) { // Flows case "create_flow": + logger.info("Creating new flow."); flow = new TriggerFlow(); flow.save(db); break; case "modify_flow": + logger.info("Modifying flow: " + flow.getName()); flow.setEnabled("on".equals(request.get("enabled"))); flow.setName(request.get("name")); flow.save(db); break; case "remove_flow": + logger.info("Removing flow: " + flow.getName()); flow.delete(db); break; // Triggers case "create_trigger": if (flow == null){ + logger.warning("Invalid flow id: " + request.get("flow-id")); HalAlertManager.getInstance().addAlert(new HalAlertManager.HalAlert( - HalAlertManager.AlertLevel.ERROR, "Invalid flow id", HalAlertManager.AlertTTL.ONE_VIEW)); + HalAlertManager.AlertLevel.ERROR, "Invalid flow id: " + request.get("flow-id"), HalAlertManager.AlertTTL.ONE_VIEW)); break; } + + logger.info("Creating trigger associated to flow: " + flow.getName()); trigger = new Trigger(); flow.addTrigger(trigger); flow.save(db); /* FALLTHROUGH */ case "modify_trigger": + logger.info("Modifying trigger: " + trigger.getId()); trigger.setObjectClass(request.get("type")); trigger.getObjectConfigurator().setValues(request).applyConfiguration(); trigger.save(db); // will save all sub beans also @@ -93,6 +97,7 @@ public class TriggerHttpPage extends HalHttpPage { case "remove_trigger": if (flow == null) flow = TriggerFlow.getTriggerFlow(db, trigger); + logger.info("Removing trigger: " + trigger.getId()); flow.removeTrigger(trigger); trigger.delete(db); break; @@ -104,11 +109,14 @@ public class TriggerHttpPage extends HalHttpPage { HalAlertManager.AlertLevel.ERROR, "Invalid flow id", HalAlertManager.AlertTTL.ONE_VIEW)); break; } + + logger.info("Creating action associated with flow: " + flow.getName()); action = new Action(); flow.addAction(action); flow.save(db); /* FALLTHROUGH */ case "modify_action": + logger.info("Modifying action: " + action.getId()); action.setObjectClass(request.get("type")); action.getObjectConfigurator().setValues(request).applyConfiguration(); action.save(db); // will save all sub beans also @@ -117,6 +125,7 @@ public class TriggerHttpPage extends HalHttpPage { case "remove_action": if (flow == null) flow = TriggerFlow.getTriggerFlow(db, action); + logger.info("Removing action: " + action.getId()); flow.removeAction(action); action.delete(db); break; diff --git a/src/se/hal/page/UserConfigHttpPage.java b/src/se/hal/page/UserConfigHttpPage.java index f0b23bcd..146e540c 100755 --- a/src/se/hal/page/UserConfigHttpPage.java +++ b/src/se/hal/page/UserConfigHttpPage.java @@ -8,12 +8,14 @@ import se.hal.page.HalAlertManager.HalAlert; import se.hal.struct.User; import zutil.db.DBConnection; import zutil.io.file.FileUtil; -import zutil.net.http.HttpHeader; +import zutil.log.LogUtil; import zutil.parser.Templator; import java.util.Map; +import java.util.logging.Logger; public class UserConfigHttpPage extends HalHttpPage { + private static final Logger logger = LogUtil.getLogger(); private static final String TEMPLATE = "resource/web/user_config.tmpl"; @@ -42,6 +44,7 @@ public class UserConfigHttpPage extends HalHttpPage { localUser = new User(); localUser.setExternal(false); } + logger.info("Modifying user: " + localUser.getUsername()); localUser.setUsername(request.get("username")); localUser.setEmail(request.get("email")); localUser.setAddress(request.get("address"));