diff --git a/hal-default.db b/hal-default.db index 72015ee9..0e84aae8 100755 Binary files a/hal-default.db and b/hal-default.db differ diff --git a/src/se/koc/hal/deamon/DataDeletionDaemon.java b/src/se/koc/hal/deamon/DataDeletionDaemon.java old mode 100644 new mode 100755 index 812f3953..8fd576d9 --- a/src/se/koc/hal/deamon/DataDeletionDaemon.java +++ b/src/se/koc/hal/deamon/DataDeletionDaemon.java @@ -28,7 +28,7 @@ public class DataDeletionDaemon extends TimerTask implements HalDaemon { try { List sensorList = Sensor.getSensors(HalContext.getDB()); for(Sensor sensor : sensorList){ - logger.fine("Deleting old data for sensor_id: " + sensor.getId()); + logger.fine("Deleting old data for sensor id: " + sensor.getId()); aggregateSensor(sensor.getId()); } } catch (SQLException e) { @@ -80,8 +80,6 @@ public class DataDeletionDaemon extends TimerTask implements HalDaemon { stmt.setLong(3, TimeConstants.HOUR_IN_MS-1); stmt.setLong(4, System.currentTimeMillis()-TimeConstants.SEVEN_DAYS_IN_MS); DBConnection.exec(stmt, new AggrDataDeletor(sensorId)); - - logger.fine("Done deleting"); } catch (SQLException e) { e.printStackTrace(); } diff --git a/src/se/koc/hal/page/PCConfigureHttpPage.java b/src/se/koc/hal/page/PCConfigureHttpPage.java index 65db860f..ad806949 100755 --- a/src/se/koc/hal/page/PCConfigureHttpPage.java +++ b/src/se/koc/hal/page/PCConfigureHttpPage.java @@ -27,10 +27,29 @@ public class PCConfigureHttpPage extends HalHttpPage { // Save new input if(request.containsKey("action")){ - if(request.get("action").equals("update_user")){ - localUser.setUserName(request.get("username")); - localUser.setAddress(request.get("address")); - localUser.save(db); + String action = request.get("action"); + switch(action) { + 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; + + case "create_external_user": break; + case "modify_external_user": break; + case "remove_external_user": break; + + case "modify_external_sensor": + Sensor sensor = Sensor.getSensor(db, Integer.parseInt(request.get("id"))); + if(sensor != null){ + sensor.setSynced(Boolean.parseBoolean(request.get("sync"))); + sensor.save(db); + } + break; } } diff --git a/src/se/koc/hal/struct/Sensor.java b/src/se/koc/hal/struct/Sensor.java index d2d215ea..b2bff403 100755 --- a/src/se/koc/hal/struct/Sensor.java +++ b/src/se/koc/hal/struct/Sensor.java @@ -12,13 +12,19 @@ import zutil.db.handler.SimpleSQLResult; @DBBean.DBTable("sensor") public class Sensor extends DBBean{ + // Sensor specific data private String name; - private long user_id; private String type; private String config; - private long external_id; - + // User configuration + private long user_id; + private long external_id; + /** local sensor= if sensor should be public. external sensor= if sensor should be requested from host **/ + private boolean sync; + + + public static List getExternalSensors(DBConnection db) throws SQLException{ PreparedStatement stmt = db.getPreparedStatement( "SELECT sensor.* FROM sensor,user WHERE user.external == 1 AND user.id == sensor.user_id" ); return DBConnection.exec(stmt, DBBeanSQLResultHandler.createList(Sensor.class, db) ); @@ -40,7 +46,11 @@ public class Sensor extends DBBean{ return DBConnection.exec(stmt, DBBeanSQLResultHandler.createList(Sensor.class, db) ); } - + public static Sensor getSensor(DBConnection db, int id) throws SQLException{ + return DBBean.load(db, Sensor.class, id); + } + + public static long getHighestSequenceId(long sensorId) throws SQLException{ PreparedStatement stmt = HalContext.getDB().getPreparedStatement("SELECT MAX(sequence_id) FROM sensor_data_aggr WHERE sensor_id == ?"); stmt.setLong(1, sensorId); @@ -74,4 +84,10 @@ public class Sensor extends DBBean{ public void setExternalId(long external_id) { this.external_id = external_id; } + public boolean isSynced() { + return sync; + } + public void setSynced(boolean synced) { + this.sync = synced; + } } diff --git a/web-resource/configure.tmpl b/web-resource/configure.tmpl index fb42d789..28dcbc3a 100755 --- a/web-resource/configure.tmpl +++ b/web-resource/configure.tmpl @@ -5,7 +5,7 @@
Profile Information
- +
@@ -130,8 +130,22 @@ {{.config}}
- - + + + + {{^.sync}} + + + {{/.sync}} + {{#.sync}} + + + {{/.sync}} +