diff --git a/resource/web/properties_config.tmpl b/resource/web/properties_config.tmpl new file mode 100644 index 00000000..6283b599 --- /dev/null +++ b/resource/web/properties_config.tmpl @@ -0,0 +1,24 @@ +

Event Overview

+ +
+
+
Local Events
+
+ + + + + + + + {{#properties}} + + + + + + {{/properties}} +
NameValueDescription
{{.getKey()}}:
+
+
+
\ No newline at end of file diff --git a/src/se/hal/HalContext.java b/src/se/hal/HalContext.java index db25ece7..717d70e0 100755 --- a/src/se/hal/HalContext.java +++ b/src/se/hal/HalContext.java @@ -10,11 +10,8 @@ import zutil.log.LogUtil; import java.io.File; import java.io.FileReader; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.Properties; +import java.sql.*; +import java.util.*; import java.util.logging.Logger; public class HalContext { @@ -171,6 +168,14 @@ public class HalContext { } + + public static HashMap getProperties() { + HashMap map = new HashMap(); + map.putAll(fileConf); + map.putAll(dbConf); + return map; + + } public static String getStringProperty(String key){ String value = null; if (fileConf != null) diff --git a/src/se/hal/page/EventConfigHttpPage.java b/src/se/hal/page/EventConfigHttpPage.java index 0dd4337f..15764928 100755 --- a/src/se/hal/page/EventConfigHttpPage.java +++ b/src/se/hal/page/EventConfigHttpPage.java @@ -28,7 +28,7 @@ public class EventConfigHttpPage extends HalHttpPage { public EventConfigHttpPage() { super("event_config"); - super.getRootNav().createSubNav("Events").createSubNav(this.getId(), "Configuration").setWeight(100); + super.getRootNav().createSubNav("Settings").createSubNav(this.getId(), "Event Settings").setWeight(100); eventConfigurations = new ArrayList<>(); for(Class c : ControllerManager.getInstance().getAvailableEvents()) diff --git a/src/se/hal/page/PropertySettingsPage.java b/src/se/hal/page/PropertySettingsPage.java new file mode 100644 index 00000000..53ac2a28 --- /dev/null +++ b/src/se/hal/page/PropertySettingsPage.java @@ -0,0 +1,46 @@ +package se.hal.page; + +import se.hal.ControllerManager; +import se.hal.HalContext; +import se.hal.intf.HalHttpPage; +import se.hal.struct.Event; +import se.hal.struct.devicedata.SwitchEventData; +import se.hal.util.DeviceNameComparator; +import se.hal.util.HistoryDataListSqlResult; +import se.hal.util.HistoryDataListSqlResult.HistoryData; +import zutil.ObjectUtil; +import zutil.db.DBConnection; +import zutil.io.file.FileUtil; +import zutil.log.LogUtil; +import zutil.parser.Templator; + +import java.sql.PreparedStatement; +import java.util.*; +import java.util.logging.Logger; + +public class PropertySettingsPage extends HalHttpPage { + private static final String TEMPLATE = "resource/web/properties_config.tmpl"; + + + public PropertySettingsPage(){ + super("properties"); + super.getRootNav().createSubNav("Settings").setWeight(100).createSubNav(this.getId(), "Properties"); + } + + @Override + public Templator httpRespond( + Map session, + Map cookie, + Map request) + throws Exception{ + + DBConnection db = HalContext.getDB(); + + HashMap properties = HalContext.getProperties(); + + Templator tmpl = new Templator(FileUtil.find(TEMPLATE)); + tmpl.set("properties", properties.entrySet()); + return tmpl; + + } +} diff --git a/src/se/hal/page/SensorConfigHttpPage.java b/src/se/hal/page/SensorConfigHttpPage.java index aec8f8e1..147eb1df 100755 --- a/src/se/hal/page/SensorConfigHttpPage.java +++ b/src/se/hal/page/SensorConfigHttpPage.java @@ -28,7 +28,7 @@ public class SensorConfigHttpPage extends HalHttpPage { public SensorConfigHttpPage() { super("sensor_config"); - super.getRootNav().createSubNav("Sensors").createSubNav(this.getId(), "Configuration").setWeight(100); + super.getRootNav().createSubNav("Settings").createSubNav(this.getId(), "Sensor Settings").setWeight(100); sensorConfigurations = new ArrayList<>(); for(Class c : ControllerManager.getInstance().getAvailableSensors()) diff --git a/src/se/hal/plugin.json b/src/se/hal/plugin.json index c893c565..662ff29f 100755 --- a/src/se/hal/plugin.json +++ b/src/se/hal/plugin.json @@ -17,6 +17,7 @@ {"se.hal.intf.HalHttpPage": "se.hal.page.EventConfigHttpPage"}, {"se.hal.intf.HalHttpPage": "se.hal.page.TriggerHttpPage"}, {"se.hal.intf.HalHttpPage": "se.hal.page.UserConfigHttpPage"}, + {"se.hal.intf.HalHttpPage": "se.hal.page.PropertySettingsPage"}, {"se.hal.intf.HalTrigger": "se.hal.trigger.DateTimeTrigger"},