Added scan button to Event and Sensor config pages
This commit is contained in:
parent
94bfbbd664
commit
81dc81a1ae
4 changed files with 79 additions and 6 deletions
|
|
@ -62,9 +62,17 @@
|
|||
<th>Configuration</th>
|
||||
<th>
|
||||
<form method="POST">
|
||||
<button type="submit" class="btn btn-danger btn-xs pull-right" name="action" value="remove_all_detected_events">
|
||||
<span class="glyphicon glyphicon-trash"></span>
|
||||
</button>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<button type="submit" class="btn btn-primary btn-xs" style="padding: 1px 20px;" name="action" value="start_scan" {{#scanning}}disabled{{/scanning}}>
|
||||
{{#scanning}}<span class="glyphicon glyphicon-refresh anim-spin"></span>{{/scanning}}
|
||||
{{^scanning}}<span class="glyphicon glyphicon-search"></span>{{/scanning}}
|
||||
Scan
|
||||
</button>
|
||||
|
||||
<button type="submit" class="btn btn-danger btn-xs pull-right" name="action" value="remove_all_detected_events">
|
||||
<span class="glyphicon glyphicon-trash"></span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</th>
|
||||
</thead>
|
||||
|
|
|
|||
|
|
@ -63,9 +63,17 @@
|
|||
<th>Configuration</th>
|
||||
<th>
|
||||
<form method="POST">
|
||||
<button type="submit" class="btn btn-danger btn-xs pull-right" name="action" value="remove_all_detected_sensors">
|
||||
<span class="glyphicon glyphicon-trash"></span>
|
||||
</button>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<button type="submit" class="btn btn-primary btn-xs" style="padding: 1px 20px;" name="action" value="start_scan" {{#scanning}}disabled{{/scanning}}>
|
||||
{{#scanning}}<span class="glyphicon glyphicon-refresh anim-spin"></span>{{/scanning}}
|
||||
{{^scanning}}<span class="glyphicon glyphicon-search"></span>{{/scanning}}
|
||||
Scan
|
||||
</button>
|
||||
|
||||
<button type="submit" class="btn btn-danger btn-xs" name="action" value="remove_all_detected_sensors">
|
||||
<span class="glyphicon glyphicon-trash"></span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</th>
|
||||
</thead>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@ package se.hal.page;
|
|||
|
||||
import se.hal.EventControllerManager;
|
||||
import se.hal.HalContext;
|
||||
import se.hal.intf.HalAbstractController;
|
||||
import se.hal.intf.HalAbstractControllerManager;
|
||||
import se.hal.intf.HalScannableController;
|
||||
import se.hal.intf.HalWebPage;
|
||||
import se.hal.util.ClassConfigurationFacade;
|
||||
import se.hal.struct.Event;
|
||||
|
|
@ -103,12 +106,33 @@ public class EventConfigWebPage extends HalWebPage {
|
|||
case "remove_all_detected_events":
|
||||
EventControllerManager.getInstance().clearDetectedDevices();
|
||||
break;
|
||||
|
||||
case "start_scan":
|
||||
for (HalAbstractController controller : HalAbstractControllerManager.getControllers()) {
|
||||
if (controller instanceof HalScannableController) {
|
||||
((HalScannableController) controller).startScan();
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Initiated scanning on controller: " + controller.getClass().getName(), MessageTTL.ONE_VIEW));
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Is any scan active?
|
||||
boolean scanning = false;
|
||||
|
||||
for (HalAbstractController controller : HalAbstractControllerManager.getControllers()) {
|
||||
if (controller instanceof HalScannableController) {
|
||||
scanning |= ((HalScannableController) controller).isScanning();
|
||||
}
|
||||
}
|
||||
|
||||
// Output
|
||||
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
||||
tmpl.set("user", localUser);
|
||||
tmpl.set("scanning", scanning);
|
||||
tmpl.set("localEvents", Event.getLocalEvents(db));
|
||||
tmpl.set("detectedEvents", EventControllerManager.getInstance().getDetectedDevices());
|
||||
tmpl.set("availableEventConfigClasses", EventControllerManager.getInstance().getAvailableDeviceConfigs());
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@ package se.hal.page;
|
|||
|
||||
import se.hal.HalContext;
|
||||
import se.hal.SensorControllerManager;
|
||||
import se.hal.intf.HalAbstractController;
|
||||
import se.hal.intf.HalAbstractControllerManager;
|
||||
import se.hal.intf.HalScannableController;
|
||||
import se.hal.intf.HalWebPage;
|
||||
import se.hal.util.ClassConfigurationFacade;
|
||||
import se.hal.struct.Sensor;
|
||||
|
|
@ -52,7 +55,10 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
User user;
|
||||
|
||||
switch(request.get("action")) {
|
||||
// ----------------------------------------
|
||||
// Local Sensors
|
||||
// ----------------------------------------
|
||||
|
||||
case "create_local_sensor":
|
||||
logger.info("Creating sensor: " + request.get("name"));
|
||||
sensor = new Sensor();
|
||||
|
|
@ -107,7 +113,21 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
SensorControllerManager.getInstance().clearDetectedDevices();
|
||||
break;
|
||||
|
||||
case "start_scan":
|
||||
for (HalAbstractController controller : HalAbstractControllerManager.getControllers()) {
|
||||
if (controller instanceof HalScannableController) {
|
||||
((HalScannableController) controller).startScan();
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Initiated scanning on controller: " + controller.getClass().getName(), MessageTTL.ONE_VIEW));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// ----------------------------------------
|
||||
// External Users
|
||||
// ----------------------------------------
|
||||
|
||||
case "create_external_user":
|
||||
logger.info("Creating external user: " + request.get("hostname"));
|
||||
user = new User();
|
||||
|
|
@ -151,7 +171,10 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
}
|
||||
break;
|
||||
|
||||
// ----------------------------------------
|
||||
// External Sensors
|
||||
// ----------------------------------------
|
||||
|
||||
case "modify_external_sensor":
|
||||
sensor = Sensor.getSensor(db, id);
|
||||
if (sensor != null) {
|
||||
|
|
@ -170,9 +193,19 @@ public class SensorConfigWebPage extends HalWebPage {
|
|||
}
|
||||
}
|
||||
|
||||
// Is any scan active?
|
||||
boolean scanning = false;
|
||||
|
||||
for (HalAbstractController controller : HalAbstractControllerManager.getControllers()) {
|
||||
if (controller instanceof HalScannableController) {
|
||||
scanning |= ((HalScannableController) controller).isScanning();
|
||||
}
|
||||
}
|
||||
|
||||
// Output
|
||||
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
||||
tmpl.set("user", localUser);
|
||||
tmpl.set("scanning", scanning);
|
||||
tmpl.set("localSensors", Sensor.getLocalSensors(db));
|
||||
tmpl.set("detectedSensors", SensorControllerManager.getInstance().getDetectedDevices());
|
||||
tmpl.set("extUsers", User.getExternalUsers(db));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue