From 3b362b7f68cb382c67f9b38d5d4837ce191a3796 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 14 Dec 2015 18:18:14 +0100 Subject: [PATCH] Local senor is configurable in the web Former-commit-id: ceb417b12c57751efffdabebb7b514d25a06bb90 --- src/se/koc/hal/page/PCConfigureHttpPage.java | 39 ++++-- src/se/koc/hal/struct/Sensor.java | 23 ++-- web-resource/configure.tmpl | 125 +++++++++++++++---- 3 files changed, 147 insertions(+), 40 deletions(-) diff --git a/src/se/koc/hal/page/PCConfigureHttpPage.java b/src/se/koc/hal/page/PCConfigureHttpPage.java index 9726267b..f509d00a 100755 --- a/src/se/koc/hal/page/PCConfigureHttpPage.java +++ b/src/se/koc/hal/page/PCConfigureHttpPage.java @@ -28,19 +28,42 @@ public class PCConfigureHttpPage extends HalHttpPage { // Save new input if(request.containsKey("action")){ String action = request.get("action"); + int id = (request.containsKey("id") ? Integer.parseInt(request.get("id")) : -1); Sensor sensor; User user; switch(action) { + // Local User case "modify_local_user": localUser.setUserName(request.get("username")); localUser.setAddress(request.get("address")); localUser.save(db); break; - case "create_local_sensor": break; - case "modify_local_sensor": break; - case "remove_local_sensor": break; + // Local Sensors + case "create_local_sensor": + sensor = new Sensor(); + sensor.setName(request.get("name")); + sensor.setType(request.get("type")); + sensor.setConfig(request.get("config")); + sensor.setUserId(localUser); + sensor.setSynced(true); + sensor.save(db); + case "modify_local_sensor": + sensor = Sensor.getSensor(db, id); + if(sensor != null){ + sensor.setName(request.get("name")); + sensor.setType(request.get("type")); + sensor.setConfig(request.get("config")); + sensor.save(db); + } + break; + case "remove_local_sensor": + sensor = Sensor.getSensor(db, id); + if(sensor != null) + sensor.delete(db); + break; + // External Users case "create_external_user": user = new User(); user.setHostname(request.get("hostname")); @@ -49,7 +72,7 @@ public class PCConfigureHttpPage extends HalHttpPage { user.save(db); break; case "modify_external_user": - user = User.getUser(db, Integer.parseInt(request.get("id"))); + user = User.getUser(db, id); if(user != null){ user.setHostname(request.get("hostname")); user.setPort(Integer.parseInt(request.get("port"))); @@ -57,14 +80,14 @@ public class PCConfigureHttpPage extends HalHttpPage { } break; case "remove_external_user": - user = User.getUser(db, Integer.parseInt(request.get("id"))); - if(user != null){ + user = User.getUser(db, id); + if(user != null) user.delete(db); - } break; + // External Sensors case "modify_external_sensor": - sensor = Sensor.getSensor(db, Integer.parseInt(request.get("id"))); + sensor = Sensor.getSensor(db, id); if(sensor != null){ sensor.setSynced(Boolean.parseBoolean(request.get("sync"))); sensor.save(db); diff --git a/src/se/koc/hal/struct/Sensor.java b/src/se/koc/hal/struct/Sensor.java index b2bff403..ff9b1e73 100755 --- a/src/se/koc/hal/struct/Sensor.java +++ b/src/se/koc/hal/struct/Sensor.java @@ -19,9 +19,9 @@ public class Sensor extends DBBean{ // User configuration private long user_id; - private long external_id; + private long external_id = -1; /** local sensor= if sensor should be public. external sensor= if sensor should be requested from host **/ - private boolean sync; + private boolean sync = false; @@ -66,18 +66,25 @@ public class Sensor extends DBBean{ public void setName(String name) { this.name = name; } - public long getUserId() { - return user_id; - } - public void setUserId(long user_id) { - this.user_id = user_id; - } public String getType() { return type; } public void setType(String type) { this.type = type; } + public String getConfig() { + return config; + } + public void setConfig(String config) { + this.config = config; + } + + public long getUserId() { + return user_id; + } + public void setUserId(User user) { + this.user_id = user.getId(); + } public long getExternalId() { return external_id; } diff --git a/web-resource/configure.tmpl b/web-resource/configure.tmpl index 8b6b3d07..857b0a8a 100755 --- a/web-resource/configure.tmpl +++ b/web-resource/configure.tmpl @@ -40,7 +40,10 @@ Type Configuration - + {{#localSensor}} @@ -49,10 +52,25 @@ {{.type}} {{.config}} -
- - -
+
+ + + +
+ + + +
+
{{/localSensor}} @@ -75,8 +93,7 @@ Port @@ -94,7 +111,7 @@
- \ No newline at end of file + + + + + + +