diff --git a/build.gradle b/build.gradle index 21a950bb..e40bc15a 100644 --- a/build.gradle +++ b/build.gradle @@ -12,10 +12,6 @@ allprojects { mavenLocal() mavenCentral() jcenter() - - maven { - url 'https://jitpack.io' // Needed for ffmpeg4j project - } } } diff --git a/hal-core/src/se/hal/HalContext.java b/hal-core/src/se/hal/HalContext.java index 0c79fa20..6e770a3b 100644 --- a/hal-core/src/se/hal/HalContext.java +++ b/hal-core/src/se/hal/HalContext.java @@ -45,7 +45,7 @@ public class HalContext { private static HashMap 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; } - } diff --git a/hal-core/src/se/hal/daemon/SensorDataAggregatorDaemon.java b/hal-core/src/se/hal/daemon/SensorDataAggregatorDaemon.java index 07954738..23b8ffe8 100644 --- a/hal-core/src/se/hal/daemon/SensorDataAggregatorDaemon.java +++ b/hal-core/src/se/hal/daemon/SensorDataAggregatorDaemon.java @@ -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 alertMap = new HashMap<>(); + private HashMap 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 "+dbMaxRawTimestamp+"", - AlertTTL.DISMISSED); + MessageTTL.DISMISSED); alertMap.put(sensor.getId(), alert); HalAlertManager.getInstance().addAlert(alert); } diff --git a/hal-core/src/se/hal/page/EventConfigWebPage.java b/hal-core/src/se/hal/page/EventConfigWebPage.java index 8113a933..425324c5 100644 --- a/hal-core/src/se/hal/page/EventConfigWebPage.java +++ b/hal-core/src/se/hal/page/EventConfigWebPage.java @@ -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; diff --git a/hal-core/src/se/hal/page/HalAlertManager.java b/hal-core/src/se/hal/page/HalAlertManager.java index 99df3144..dc391429 100644 --- a/hal-core/src/se/hal/page/HalAlertManager.java +++ b/hal-core/src/se/hal/page/HalAlertManager.java @@ -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 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 alertsClone = new ArrayList<>(alerts.size()); - for(Iterator 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 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 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); - } - } } diff --git a/hal-core/src/se/hal/page/PluginConfigWebPage.java b/hal-core/src/se/hal/page/PluginConfigWebPage.java index 1c6fcc3a..21565113 100644 --- a/hal-core/src/se/hal/page/PluginConfigWebPage.java +++ b/hal-core/src/se/hal/page/PluginConfigWebPage.java @@ -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)); diff --git a/hal-core/src/se/hal/page/SensorConfigWebPage.java b/hal-core/src/se/hal/page/SensorConfigWebPage.java index 27ab0f4a..cd1c7dff 100644 --- a/hal-core/src/se/hal/page/SensorConfigWebPage.java +++ b/hal-core/src/se/hal/page/SensorConfigWebPage.java @@ -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; } diff --git a/hal-core/src/se/hal/page/TriggerWebPage.java b/hal-core/src/se/hal/page/TriggerWebPage.java index 5171f0ca..d690b27e 100644 --- a/hal-core/src/se/hal/page/TriggerWebPage.java +++ b/hal-core/src/se/hal/page/TriggerWebPage.java @@ -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; } diff --git a/hal-core/src/se/hal/page/UserConfigWebPage.java b/hal-core/src/se/hal/page/UserConfigWebPage.java index 3f7e6f2e..51f5e3e6 100644 --- a/hal-core/src/se/hal/page/UserConfigWebPage.java +++ b/hal-core/src/se/hal/page/UserConfigWebPage.java @@ -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; } } diff --git a/plugins/hal-nvr/build.gradle b/plugins/hal-nvr/build.gradle index 20085bc1..3abf8b2c 100644 --- a/plugins/hal-nvr/build.gradle +++ b/plugins/hal-nvr/build.gradle @@ -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 } diff --git a/plugins/hal-nvr/src/se/hal/plugin/nvr/page/CameraConfigWebPage.java b/plugins/hal-nvr/src/se/hal/plugin/nvr/page/CameraConfigWebPage.java index c50d2b23..acc68cba 100644 --- a/plugins/hal-nvr/src/se/hal/plugin/nvr/page/CameraConfigWebPage.java +++ b/plugins/hal-nvr/src/se/hal/plugin/nvr/page/CameraConfigWebPage.java @@ -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; } diff --git a/plugins/hal-powerchallenge/src/se/hal/plugin/powerchallenge/daemon/PCDataSynchronizationClient.java b/plugins/hal-powerchallenge/src/se/hal/plugin/powerchallenge/daemon/PCDataSynchronizationClient.java index 23d3a95e..a58dd628 100644 --- a/plugins/hal-powerchallenge/src/se/hal/plugin/powerchallenge/daemon/PCDataSynchronizationClient.java +++ b/plugins/hal-powerchallenge/src/se/hal/plugin/powerchallenge/daemon/PCDataSynchronizationClient.java @@ -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