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>Configuration</th>
|
||||||
<th>
|
<th>
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
|
<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">
|
<button type="submit" class="btn btn-danger btn-xs pull-right" name="action" value="remove_all_detected_events">
|
||||||
<span class="glyphicon glyphicon-trash"></span>
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
</button>
|
</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</th>
|
</th>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
||||||
|
|
@ -63,9 +63,17 @@
|
||||||
<th>Configuration</th>
|
<th>Configuration</th>
|
||||||
<th>
|
<th>
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<button type="submit" class="btn btn-danger btn-xs pull-right" name="action" value="remove_all_detected_sensors">
|
<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>
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
</button>
|
</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</th>
|
</th>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@ package se.hal.page;
|
||||||
|
|
||||||
import se.hal.EventControllerManager;
|
import se.hal.EventControllerManager;
|
||||||
import se.hal.HalContext;
|
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.intf.HalWebPage;
|
||||||
import se.hal.util.ClassConfigurationFacade;
|
import se.hal.util.ClassConfigurationFacade;
|
||||||
import se.hal.struct.Event;
|
import se.hal.struct.Event;
|
||||||
|
|
@ -103,12 +106,33 @@ public class EventConfigWebPage extends HalWebPage {
|
||||||
case "remove_all_detected_events":
|
case "remove_all_detected_events":
|
||||||
EventControllerManager.getInstance().clearDetectedDevices();
|
EventControllerManager.getInstance().clearDetectedDevices();
|
||||||
break;
|
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
|
// Output
|
||||||
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
||||||
tmpl.set("user", localUser);
|
tmpl.set("user", localUser);
|
||||||
|
tmpl.set("scanning", scanning);
|
||||||
tmpl.set("localEvents", Event.getLocalEvents(db));
|
tmpl.set("localEvents", Event.getLocalEvents(db));
|
||||||
tmpl.set("detectedEvents", EventControllerManager.getInstance().getDetectedDevices());
|
tmpl.set("detectedEvents", EventControllerManager.getInstance().getDetectedDevices());
|
||||||
tmpl.set("availableEventConfigClasses", EventControllerManager.getInstance().getAvailableDeviceConfigs());
|
tmpl.set("availableEventConfigClasses", EventControllerManager.getInstance().getAvailableDeviceConfigs());
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@ package se.hal.page;
|
||||||
|
|
||||||
import se.hal.HalContext;
|
import se.hal.HalContext;
|
||||||
import se.hal.SensorControllerManager;
|
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.intf.HalWebPage;
|
||||||
import se.hal.util.ClassConfigurationFacade;
|
import se.hal.util.ClassConfigurationFacade;
|
||||||
import se.hal.struct.Sensor;
|
import se.hal.struct.Sensor;
|
||||||
|
|
@ -52,7 +55,10 @@ public class SensorConfigWebPage extends HalWebPage {
|
||||||
User user;
|
User user;
|
||||||
|
|
||||||
switch(request.get("action")) {
|
switch(request.get("action")) {
|
||||||
|
// ----------------------------------------
|
||||||
// Local Sensors
|
// Local Sensors
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
case "create_local_sensor":
|
case "create_local_sensor":
|
||||||
logger.info("Creating sensor: " + request.get("name"));
|
logger.info("Creating sensor: " + request.get("name"));
|
||||||
sensor = new Sensor();
|
sensor = new Sensor();
|
||||||
|
|
@ -107,7 +113,21 @@ public class SensorConfigWebPage extends HalWebPage {
|
||||||
SensorControllerManager.getInstance().clearDetectedDevices();
|
SensorControllerManager.getInstance().clearDetectedDevices();
|
||||||
break;
|
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
|
// External Users
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
case "create_external_user":
|
case "create_external_user":
|
||||||
logger.info("Creating external user: " + request.get("hostname"));
|
logger.info("Creating external user: " + request.get("hostname"));
|
||||||
user = new User();
|
user = new User();
|
||||||
|
|
@ -151,7 +171,10 @@ public class SensorConfigWebPage extends HalWebPage {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
// External Sensors
|
// External Sensors
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
case "modify_external_sensor":
|
case "modify_external_sensor":
|
||||||
sensor = Sensor.getSensor(db, id);
|
sensor = Sensor.getSensor(db, id);
|
||||||
if (sensor != null) {
|
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
|
// Output
|
||||||
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
||||||
tmpl.set("user", localUser);
|
tmpl.set("user", localUser);
|
||||||
|
tmpl.set("scanning", scanning);
|
||||||
tmpl.set("localSensors", Sensor.getLocalSensors(db));
|
tmpl.set("localSensors", Sensor.getLocalSensors(db));
|
||||||
tmpl.set("detectedSensors", SensorControllerManager.getInstance().getDetectedDevices());
|
tmpl.set("detectedSensors", SensorControllerManager.getInstance().getDetectedDevices());
|
||||||
tmpl.set("extUsers", User.getExternalUsers(db));
|
tmpl.set("extUsers", User.getExternalUsers(db));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue