Added additional logging

This commit is contained in:
Ziver Koc 2019-11-11 19:52:24 +01:00 committed by Ziver Koc
parent efebd4c5ec
commit 86cab179a8
7 changed files with 62 additions and 26 deletions

View file

@ -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(

View file

@ -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);

View file

@ -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());

View file

@ -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<ClassConfigurationData> 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));
}

View file

@ -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<String, Object> session,

View file

@ -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<ClassConfigurationData> triggerConfigurators;
@ -35,7 +37,6 @@ public class TriggerHttpPage extends HalHttpPage {
actionConfigurators.add(new ClassConfigurationData(c));
}
@Override
public Templator httpRespond (
Map<String, Object> 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;

View file

@ -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"));