diff --git a/resource/web/trigger.tmpl b/resource/web/trigger.tmpl new file mode 100755 index 00000000..b21044f8 --- /dev/null +++ b/resource/web/trigger.tmpl @@ -0,0 +1,161 @@ +

+ Triggers + +
+ + +
+

+ + +{{#flows}} +
+
+
+
+ + + + + + + + + + + + +
+ Triggers + + + Actions + +
+ + + + + +
+
+ + test trigger +
+
+
+ + test trigger +
+
+
+ + test trigger +
+
+ +
+
+ +
+ + + + + +
+
+ + test action +
+
+
+ + test action +
+
+
+ + test action +
+
+ +
+
+
+
+{{/flows}} + + + + + + + + + + \ No newline at end of file diff --git a/src/se/hal/page/TriggerHttpPage.java b/src/se/hal/page/TriggerHttpPage.java new file mode 100755 index 00000000..f0cde8d2 --- /dev/null +++ b/src/se/hal/page/TriggerHttpPage.java @@ -0,0 +1,54 @@ +package se.hal.page; + +import se.hal.ControllerManager; +import se.hal.HalContext; +import se.hal.TriggerManager; +import se.hal.intf.HalHttpPage; +import se.hal.struct.Event; +import se.hal.struct.TriggerFlow; +import se.hal.struct.devicedata.SwitchEventData; +import se.hal.util.HistoryDataListSqlResult; +import se.hal.util.HistoryDataListSqlResult.HistoryData; +import zutil.db.DBConnection; +import zutil.io.file.FileUtil; +import zutil.parser.Templator; + +import java.sql.PreparedStatement; +import java.util.List; +import java.util.Map; + +public class TriggerHttpPage extends HalHttpPage { + private static final String TEMPLATE = "resource/web/trigger.tmpl"; + + + public TriggerHttpPage(){ + super("trigger"); + super.getRootNav().createSubNav("Events").createSubNav(this.getId(), "Triggers"); + } + + @Override + public Templator httpRespond( + Map session, + Map cookie, + Map request) + throws Exception{ + DBConnection db = HalContext.getDB(); + + if(request.containsKey("action")){ + switch(request.get("action")) { + // Local Sensors + case "create_flow": + TriggerFlow flow = new TriggerFlow(); + flow.save(db); + break; + } + } + + + Templator tmpl = new Templator(FileUtil.find(TEMPLATE)); + tmpl.set("availableTriggers", TriggerManager.getInstance().getAvailableTriggers()); + tmpl.set("availableActions", TriggerManager.getInstance().getAvailableActions()); + tmpl.set("flows", TriggerFlow.getTriggerFlows(db)); + return tmpl; + } +} diff --git a/src/se/hal/plugin.json b/src/se/hal/plugin.json index 658594a9..ab3f2644 100755 --- a/src/se/hal/plugin.json +++ b/src/se/hal/plugin.json @@ -15,6 +15,7 @@ {"se.hal.intf.HalHttpPage": "se.hal.page.EventOverviewHttpPage"}, {"se.hal.intf.HalHttpPage": "se.hal.page.EventConfigHttpPage"}, + {"se.hal.intf.HalHttpPage": "se.hal.page.TriggerHttpPage"}, {"se.hal.intf.HalHttpPage": "se.hal.page.UserConfigHttpPage"} ] }