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 @@