Migrated to Zutil UserMessage class
This commit is contained in:
parent
1e0ec282ca
commit
0a1ce4fe60
12 changed files with 98 additions and 187 deletions
|
|
@ -12,10 +12,6 @@ allprojects {
|
|||
mavenLocal()
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
|
||||
maven {
|
||||
url 'https://jitpack.io' // Needed for ffmpeg4j project
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public class HalContext {
|
|||
|
||||
private static HashMap<String,String> registeredConf = new HashMap<>();
|
||||
private static Properties fileConf = new Properties();
|
||||
private static Properties dbConf = new Properties();;
|
||||
private static Properties dbConf = new Properties();
|
||||
|
||||
|
||||
static {
|
||||
|
|
@ -209,7 +209,7 @@ public class HalContext {
|
|||
return value;
|
||||
}
|
||||
public static String getStringProperty(String key, String defaultValue){
|
||||
if (!HalContext.containsProperty(key))
|
||||
if (!containsProperty(key))
|
||||
return defaultValue;
|
||||
return getStringProperty(key);
|
||||
}
|
||||
|
|
@ -222,7 +222,7 @@ public class HalContext {
|
|||
return Integer.parseInt(value);
|
||||
}
|
||||
public static int getIntegerProperty(String key, int defaultValue){
|
||||
if (!HalContext.containsProperty(key))
|
||||
if (!containsProperty(key))
|
||||
return defaultValue;
|
||||
return getIntegerProperty(key);
|
||||
}
|
||||
|
|
@ -231,7 +231,7 @@ public class HalContext {
|
|||
return Boolean.parseBoolean(getStringProperty(key));
|
||||
}
|
||||
public static boolean getBooleanProperty(String key, boolean defaultValue) {
|
||||
if (!HalContext.containsProperty(key))
|
||||
if (!containsProperty(key))
|
||||
return defaultValue;
|
||||
return getBooleanProperty(key);
|
||||
}
|
||||
|
|
@ -258,5 +258,4 @@ public class HalContext {
|
|||
HalContext.db = db;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@ import se.hal.HalContext;
|
|||
import se.hal.intf.HalDaemon;
|
||||
import se.hal.intf.HalSensorConfig.AggregationMethod;
|
||||
import se.hal.page.HalAlertManager;
|
||||
import se.hal.page.HalAlertManager.AlertLevel;
|
||||
import se.hal.page.HalAlertManager.AlertTTL;
|
||||
import se.hal.page.HalAlertManager.HalAlert;
|
||||
import se.hal.struct.Sensor;
|
||||
import se.hal.util.UTCTimePeriod;
|
||||
import se.hal.util.UTCTimeUtility;
|
||||
|
|
@ -14,6 +11,8 @@ import zutil.db.DBConnection;
|
|||
import zutil.db.SQLResultHandler;
|
||||
import zutil.db.handler.SimpleSQLResult;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.ui.UserMessageManager;
|
||||
import zutil.ui.UserMessageManager.*;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
|
|
@ -41,7 +40,7 @@ public class SensorDataAggregatorDaemon implements HalDaemon {
|
|||
YEAR
|
||||
}
|
||||
|
||||
private HashMap<Long, HalAlert> alertMap = new HashMap<>();
|
||||
private HashMap<Long, UserMessage> alertMap = new HashMap<>();
|
||||
|
||||
|
||||
public void initiate(ScheduledExecutorService executor){
|
||||
|
|
@ -114,10 +113,10 @@ public class SensorDataAggregatorDaemon implements HalDaemon {
|
|||
if (alertMap.containsKey(sensor.getId()))
|
||||
alertMap.get(sensor.getId()).dismiss();
|
||||
|
||||
HalAlert alert = new HalAlert(AlertLevel.WARNING,
|
||||
UserMessage alert = new UserMessage(UserMessageManager.MessageLevel.WARNING,
|
||||
"Sensor \"" + sensor.getName() + "\" stopped responding",
|
||||
"at <span class=\"timestamp\">"+dbMaxRawTimestamp+"</span>",
|
||||
AlertTTL.DISMISSED);
|
||||
MessageTTL.DISMISSED);
|
||||
alertMap.put(sensor.getId(), alert);
|
||||
HalAlertManager.getInstance().addAlert(alert);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@ package se.hal.page;
|
|||
import se.hal.ControllerManager;
|
||||
import se.hal.HalContext;
|
||||
import se.hal.intf.HalWebPage;
|
||||
import se.hal.page.HalAlertManager.AlertLevel;
|
||||
import se.hal.page.HalAlertManager.AlertTTL;
|
||||
import se.hal.page.HalAlertManager.HalAlert;
|
||||
import se.hal.struct.ClassConfigurationData;
|
||||
import se.hal.struct.Event;
|
||||
import se.hal.struct.User;
|
||||
|
|
@ -14,11 +11,13 @@ import zutil.db.DBConnection;
|
|||
import zutil.io.file.FileUtil;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.parser.Templator;
|
||||
import zutil.ui.UserMessageManager.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
|
||||
public class EventConfigWebPage extends HalWebPage {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final String TEMPLATE = HalContext.RESOURCE_WEB_ROOT + "/event_config.tmpl";
|
||||
|
|
@ -62,8 +61,8 @@ public class EventConfigWebPage extends HalWebPage {
|
|||
event.save(db);
|
||||
ControllerManager.getInstance().register(event);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully created new event: " + event.getName(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully created new event: " + event.getName(), MessageTTL.ONE_VIEW));
|
||||
break;
|
||||
|
||||
case "modify_local_event":
|
||||
|
|
@ -76,12 +75,12 @@ public class EventConfigWebPage extends HalWebPage {
|
|||
event.getDeviceConfigurator().setValues(request).applyConfiguration();
|
||||
event.save(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully saved event: "+event.getName(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully saved event: "+event.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown event id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.ERROR, "Unknown event id: " + id, AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown event id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -92,12 +91,12 @@ public class EventConfigWebPage extends HalWebPage {
|
|||
ControllerManager.getInstance().deregister(event);
|
||||
event.delete(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully removed event: "+event.getName(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully removed event: "+event.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown event id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.ERROR, "Unknown event id: "+id, AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown event id: "+id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ import zutil.net.http.HttpHeader;
|
|||
import zutil.net.http.HttpPage;
|
||||
import zutil.net.http.HttpPrintStream;
|
||||
import zutil.parser.Templator;
|
||||
import zutil.ui.UserMessageManager;
|
||||
import zutil.ui.UserMessageManager.UserMessage;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
|
@ -19,50 +21,31 @@ public class HalAlertManager implements HttpPage {
|
|||
private static final String PAGE_NAME = "alert";
|
||||
private static HalAlertManager instance;
|
||||
|
||||
public enum AlertLevel{
|
||||
ERROR,
|
||||
WARNING,
|
||||
SUCCESS,
|
||||
INFO
|
||||
}
|
||||
public enum AlertTTL{
|
||||
ONE_VIEW,
|
||||
DISMISSED
|
||||
}
|
||||
|
||||
private List<HalAlert> alerts = new LinkedList<>();
|
||||
private UserMessageManager messageManager = new UserMessageManager();
|
||||
|
||||
|
||||
private HalAlertManager(){}
|
||||
|
||||
|
||||
public String getUrl(){
|
||||
return "/" + PAGE_NAME;
|
||||
}
|
||||
|
||||
public void addAlert(HalAlert alert) {
|
||||
alerts.remove(alert); // We don't want to flood the user with duplicate alerts
|
||||
alerts.add(alert);
|
||||
public void addAlert(UserMessage alert) {
|
||||
messageManager.add(alert);
|
||||
}
|
||||
|
||||
|
||||
public Templator generateAlerts() {
|
||||
try {
|
||||
// clone alert list and update ttl of alerts
|
||||
List<HalAlert> alertsClone = new ArrayList<>(alerts.size());
|
||||
for(Iterator<HalAlert> it = alerts.iterator(); it.hasNext(); ) {
|
||||
HalAlert alert = it.next();
|
||||
alertsClone.add(alert);
|
||||
alert.ttl--;
|
||||
|
||||
if (alert.ttl <= 0) { // if alert is to old, remove it
|
||||
logger.fine("Alert dismissed with end of life, alert id: "+ alert.id);
|
||||
it.remove();
|
||||
}
|
||||
List<UserMessage> messages = messageManager.getMessages();
|
||||
for (UserMessage msg : messages) {
|
||||
msg.decreaseTTL();
|
||||
}
|
||||
|
||||
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
||||
tmpl.set("serviceUrl", getUrl());
|
||||
tmpl.set("alerts", alertsClone);
|
||||
tmpl.set("alerts", messages);
|
||||
return tmpl;
|
||||
} catch (IOException e) {
|
||||
logger.log(Level.SEVERE, null, e);
|
||||
|
|
@ -82,14 +65,9 @@ public class HalAlertManager implements HttpPage {
|
|||
// parse alert id
|
||||
int id = Integer.parseInt(request.get("id"));
|
||||
// Find alert
|
||||
for(Iterator<HalAlert> it = alerts.iterator(); it.hasNext(); ) {
|
||||
HalAlert alert = it.next();
|
||||
if (alert.getId() == id) {
|
||||
logger.fine("User dismissed alert id: "+ id);
|
||||
it.remove();
|
||||
break;
|
||||
}
|
||||
}
|
||||
UserMessage msg = messageManager.get(id);
|
||||
if (msg != null)
|
||||
msg.dismiss();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -102,63 +80,4 @@ public class HalAlertManager implements HttpPage {
|
|||
public static HalAlertManager getInstance(){
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
public static class HalAlert {
|
||||
private static int nextId = 0;
|
||||
|
||||
private int id;
|
||||
private AlertLevel level;
|
||||
private String title;
|
||||
private String msg;
|
||||
private int ttl;
|
||||
|
||||
|
||||
public HalAlert(AlertLevel level, String title, AlertTTL ttl) {
|
||||
this(level, title, null, ttl);
|
||||
}
|
||||
public HalAlert(AlertLevel level, String title, String msg, AlertTTL ttl) {
|
||||
this.id = nextId++;
|
||||
this.level = level;
|
||||
this.title = title;
|
||||
this.msg = msg;
|
||||
setTTL(ttl);
|
||||
}
|
||||
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
public AlertLevel getLevel() {
|
||||
return level;
|
||||
}
|
||||
public boolean isError(){ return level == AlertLevel.ERROR; }
|
||||
public boolean isWarning(){ return level == AlertLevel.WARNING; }
|
||||
public boolean isSuccess(){ return level == AlertLevel.SUCCESS; }
|
||||
public boolean isInfo(){ return level == AlertLevel.INFO; }
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
public String getMessage() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public void setTTL(AlertTTL ttl) {
|
||||
switch (ttl){
|
||||
case ONE_VIEW: this.ttl = 1; break;
|
||||
case DISMISSED: this.ttl = Integer.MAX_VALUE; break;
|
||||
}
|
||||
}
|
||||
public void dismiss(){
|
||||
ttl = -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof HalAlert)
|
||||
return level == ((HalAlert) obj).level &&
|
||||
title.equals(((HalAlert) obj).title);
|
||||
return super.equals(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ import se.hal.ControllerManager;
|
|||
import se.hal.HalContext;
|
||||
import se.hal.HalServer;
|
||||
import se.hal.intf.HalWebPage;
|
||||
import se.hal.page.HalAlertManager.AlertLevel;
|
||||
import se.hal.page.HalAlertManager.AlertTTL;
|
||||
import se.hal.page.HalAlertManager.HalAlert;
|
||||
import zutil.io.file.FileUtil;
|
||||
import zutil.parser.Templator;
|
||||
import zutil.ui.UserMessageManager;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static zutil.ui.UserMessageManager.*;
|
||||
|
||||
public class PluginConfigWebPage extends HalWebPage {
|
||||
private static final String TEMPLATE = HalContext.RESOURCE_WEB_ROOT + "/plugin_config.tmpl";
|
||||
|
||||
|
|
@ -33,8 +33,8 @@ public class PluginConfigWebPage extends HalWebPage {
|
|||
HalServer.enablePlugin(name,
|
||||
(request.containsKey("enabled") && "on".equals(request.get("enabled"))));
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully updated plugin " + name + ", change will take affect after restart.", AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully updated plugin " + name + ", change will take affect after restart.", MessageTTL.ONE_VIEW));
|
||||
}
|
||||
|
||||
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@ package se.hal.page;
|
|||
import se.hal.ControllerManager;
|
||||
import se.hal.HalContext;
|
||||
import se.hal.intf.HalWebPage;
|
||||
import se.hal.page.HalAlertManager.AlertLevel;
|
||||
import se.hal.page.HalAlertManager.AlertTTL;
|
||||
import se.hal.page.HalAlertManager.HalAlert;
|
||||
import se.hal.struct.ClassConfigurationData;
|
||||
import se.hal.struct.Sensor;
|
||||
import se.hal.struct.User;
|
||||
|
|
@ -19,6 +16,8 @@ import java.util.ArrayList;
|
|||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static zutil.ui.UserMessageManager.*;
|
||||
|
||||
public class SensorConfigWebPage extends HalWebPage {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final String TEMPLATE = HalContext.RESOURCE_WEB_ROOT + "/sensor_config.tmpl";
|
||||
|
|
@ -64,8 +63,8 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
sensor.save(db);
|
||||
ControllerManager.getInstance().register(sensor);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully created new sensor: "+sensor.getName(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully created new sensor: "+sensor.getName(), MessageTTL.ONE_VIEW));
|
||||
break;
|
||||
|
||||
case "modify_local_sensor":
|
||||
|
|
@ -78,12 +77,12 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
sensor.getDeviceConfigurator().setValues(request).applyConfiguration();
|
||||
sensor.save(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully saved sensor: "+sensor.getName(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully saved sensor: "+sensor.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown sensor id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.ERROR, "Unknown sensor id: " + id, AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown sensor id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -94,12 +93,12 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
ControllerManager.getInstance().deregister(sensor);
|
||||
sensor.delete(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully removed sensor: "+sensor.getName(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully removed sensor: "+sensor.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown sensor id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.ERROR, "Unknown sensor id: " + id, AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown sensor id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -116,8 +115,8 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
user.setExternal(true);
|
||||
user.save(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully created new external user with host: "+user.getHostname(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully created new external user with host: "+user.getHostname(), MessageTTL.ONE_VIEW));
|
||||
break;
|
||||
|
||||
case "modify_external_user":
|
||||
|
|
@ -128,12 +127,12 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
user.setPort(Integer.parseInt(request.get("port")));
|
||||
user.save(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully saved external user with host: "+user.getHostname(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully saved external user with host: "+user.getHostname(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown user id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.ERROR, "Unknown user id: " + id, AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown user id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
case "remove_external_user":
|
||||
|
|
@ -142,12 +141,12 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
logger.info("Removing external user: " + user.getHostname());
|
||||
user.delete(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully removed user with host: "+user.getHostname(), AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully removed user with host: "+user.getHostname(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown user id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.ERROR, "Unknown user id: "+id, AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown user id: "+id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -159,12 +158,12 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
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));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully saved external sensor: "+sensor.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown user id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.ERROR, "Unknown sensor id: "+id, AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown sensor id: "+id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,14 @@ import zutil.db.DBConnection;
|
|||
import zutil.io.file.FileUtil;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.parser.Templator;
|
||||
import zutil.ui.UserMessageManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static zutil.ui.UserMessageManager.*;
|
||||
|
||||
public class TriggerWebPage extends HalWebPage {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final String TEMPLATE = HalContext.RESOURCE_WEB_ROOT + "/trigger.tmpl";
|
||||
|
|
@ -77,8 +80,8 @@ public class TriggerWebPage extends HalWebPage {
|
|||
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: " + request.get("flow-id"), HalAlertManager.AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Invalid flow id: " + request.get("flow-id"), MessageTTL.ONE_VIEW));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -105,8 +108,8 @@ public class TriggerWebPage extends HalWebPage {
|
|||
// Triggers
|
||||
case "create_action":
|
||||
if (flow == null){
|
||||
HalAlertManager.getInstance().addAlert(new HalAlertManager.HalAlert(
|
||||
HalAlertManager.AlertLevel.ERROR, "Invalid flow id", HalAlertManager.AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Invalid flow id", MessageTTL.ONE_VIEW));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,18 +2,18 @@ package se.hal.page;
|
|||
|
||||
import se.hal.HalContext;
|
||||
import se.hal.intf.HalWebPage;
|
||||
import se.hal.page.HalAlertManager.AlertLevel;
|
||||
import se.hal.page.HalAlertManager.AlertTTL;
|
||||
import se.hal.page.HalAlertManager.HalAlert;
|
||||
import se.hal.struct.User;
|
||||
import zutil.db.DBConnection;
|
||||
import zutil.io.file.FileUtil;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.parser.Templator;
|
||||
import zutil.ui.UserMessageManager;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static zutil.ui.UserMessageManager.*;
|
||||
|
||||
public class UserConfigWebPage extends HalWebPage {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final String TEMPLATE = HalContext.RESOURCE_WEB_ROOT + "/user_config.tmpl";
|
||||
|
|
@ -50,8 +50,8 @@ public class UserConfigWebPage extends HalWebPage {
|
|||
localUser.setAddress(request.get("address"));
|
||||
localUser.save(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(
|
||||
AlertLevel.SUCCESS, "Successfully saved profile changes", AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully saved profile changes", MessageTTL.ONE_VIEW));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,4 @@
|
|||
repositories {
|
||||
maven {
|
||||
url 'https://jitpack.io' // Needed for ffmpeg4j project
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':hal-core')
|
||||
|
||||
implementation 'com.github.Manevolent:ffmpeg4j:4.1-1.4.4-2' // https://github.com/Manevolent/ffmpeg4j
|
||||
//implementation 'net.bramp.ffmpeg:ffmpeg:0.6.2' // https://github.com/bramp/ffmpeg-cli-wrapper
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,11 +36,14 @@ import zutil.db.DBConnection;
|
|||
import zutil.io.file.FileUtil;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.parser.Templator;
|
||||
import zutil.ui.UserMessageManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static zutil.ui.UserMessageManager.*;
|
||||
|
||||
public class CameraConfigWebPage extends HalWebPage {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final String TEMPLATE = HalContext.RESOURCE_WEB_ROOT + "/camera_config.tmpl";
|
||||
|
|
@ -83,8 +86,8 @@ public class CameraConfigWebPage extends HalWebPage {
|
|||
camera.save(db);
|
||||
//ControllerManager.getInstance().register(camera);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlertManager.HalAlert(
|
||||
HalAlertManager.AlertLevel.SUCCESS, "Successfully created new camera: " + camera.getName(), HalAlertManager.AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully created new camera: " + camera.getName(), MessageTTL.ONE_VIEW));
|
||||
break;
|
||||
|
||||
case "modify_camera":
|
||||
|
|
@ -97,12 +100,12 @@ public class CameraConfigWebPage extends HalWebPage {
|
|||
camera.getDeviceConfigurator().setValues(request).applyConfiguration();
|
||||
camera.save(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlertManager.HalAlert(
|
||||
HalAlertManager.AlertLevel.SUCCESS, "Successfully saved camera: "+camera.getName(), HalAlertManager.AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully saved camera: "+camera.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown camera id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlertManager.HalAlert(
|
||||
HalAlertManager.AlertLevel.ERROR, "Unknown camera id: " + id, HalAlertManager.AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown camera id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -113,12 +116,12 @@ public class CameraConfigWebPage extends HalWebPage {
|
|||
//ControllerManager.getInstance().deregister(camera);
|
||||
camera.delete(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new HalAlertManager.HalAlert(
|
||||
HalAlertManager.AlertLevel.SUCCESS, "Successfully removed camera: "+camera.getName(), HalAlertManager.AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully removed camera: "+camera.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown camera id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new HalAlertManager.HalAlert(
|
||||
HalAlertManager.AlertLevel.ERROR, "Unknown camera id: "+id, HalAlertManager.AlertTTL.ONE_VIEW));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown camera id: "+id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,13 +31,12 @@ import se.hal.plugin.powerchallenge.daemon.PCDataSynchronizationDaemon.SensorDat
|
|||
import se.hal.plugin.powerchallenge.daemon.PCDataSynchronizationDaemon.SensorDataListDTO;
|
||||
import se.hal.intf.HalDaemon;
|
||||
import se.hal.page.HalAlertManager;
|
||||
import se.hal.page.HalAlertManager.AlertTTL;
|
||||
import se.hal.page.HalAlertManager.HalAlert;
|
||||
import se.hal.struct.Sensor;
|
||||
import se.hal.struct.User;
|
||||
import zutil.db.DBConnection;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.parser.json.JSONParser;
|
||||
import zutil.ui.UserMessageManager;
|
||||
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
|
|
@ -51,6 +50,8 @@ import java.util.concurrent.TimeUnit;
|
|||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static zutil.ui.UserMessageManager.*;
|
||||
|
||||
public class PCDataSynchronizationClient implements HalDaemon {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final long SYNC_INTERVAL = 5 * 60 * 1000; // 5 min
|
||||
|
|
@ -157,8 +158,8 @@ public class PCDataSynchronizationClient implements HalDaemon {
|
|||
|
||||
} catch (NoRouteToHostException|UnknownHostException|ConnectException|SocketTimeoutException e) {
|
||||
logger.warning("Unable to connect to "+ user.getHostname()+":"+user.getPort() +", "+ e.getMessage());
|
||||
HalAlertManager.getInstance().addAlert(new HalAlert(HalAlertManager.AlertLevel.WARNING,
|
||||
"Unable to connect to user with host: "+user.getHostname(), AlertTTL.DISMISSED));
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(MessageLevel.WARNING,
|
||||
"Unable to connect to user with host: "+user.getHostname(), MessageTTL.DISMISSED));
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, null, e);
|
||||
}
|
||||
|
|
@ -170,8 +171,9 @@ public class PCDataSynchronizationClient implements HalDaemon {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/////////////// DTO ///////////////////////
|
||||
// ----------------------------------------------------
|
||||
// DTO
|
||||
// ----------------------------------------------------
|
||||
|
||||
/**
|
||||
* Request Peer information and isAvailable sensors
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue