diff --git a/.classpath b/.classpath
index 832df137..c4651da9 100644
--- a/.classpath
+++ b/.classpath
@@ -1,6 +1,6 @@
-
+
@@ -46,5 +46,5 @@
-
+
diff --git a/build.xml b/build.xml
index 2688b26b..72aba5ed 100755
--- a/build.xml
+++ b/build.xml
@@ -46,6 +46,12 @@
+
+
+
+
+
+
@@ -58,12 +64,12 @@
-
+
-
+
diff --git a/hal-default.db b/hal-default.db
index 7a7f4d09..afd8cb42 100755
Binary files a/hal-default.db and b/hal-default.db differ
diff --git a/src/se/hal/HalContext.java b/src/se/hal/HalContext.java
index e931a826..f2984dba 100755
--- a/src/se/hal/HalContext.java
+++ b/src/se/hal/HalContext.java
@@ -16,6 +16,8 @@ import java.sql.Statement;
import java.util.Properties;
import java.util.logging.Logger;
+import se.hal.struct.Sensor;
+
public class HalContext {
private static final Logger logger = LogUtil.getLogger();
@@ -70,8 +72,8 @@ public class HalContext {
referenceDB.exec("SELECT * FROM conf", new PropertiesSQLResult());
// Check DB version
logger.info("DB version: "+ dbConf.getProperty(PROPERTY_DB_VERSION));
- int defaultDBVersion = Integer.parseInt(defaultDBConf.getProperty(PROPERTY_DB_VERSION));
- int dbVersion = (dbConf.getProperty(PROPERTY_DB_VERSION) != null ?
+ final int defaultDBVersion = Integer.parseInt(defaultDBConf.getProperty(PROPERTY_DB_VERSION));
+ final int dbVersion = (dbConf.getProperty(PROPERTY_DB_VERSION) != null ?
Integer.parseInt(dbConf.getProperty(PROPERTY_DB_VERSION)) :
-1);
if(defaultDBVersion > dbVersion ) {
@@ -97,22 +99,39 @@ public class HalContext {
logger.fine("Forced upgrade enabled");
handler.setForcedDBUpgrade(true); //set to true if any of the intermediate db version requires it.
}
- if(result.getBoolean("clear_external_aggr_data")){
- logger.fine("Clearing external aggregate data");
- db.exec("DELETE FROM sensor_data_aggr WHERE sensor_id = "
- + "(SELECT sensor_id FROM user, sensor WHERE user.external == 1 AND sensor.user_id = user.id)");
- }
- if(result.getBoolean("clear_internal_aggr_data")){
- logger.fine("Clearing local aggregate data");
- db.exec("DELETE FROM sensor_data_aggr WHERE sensor_id = "
- + "(SELECT sensor_id FROM user, sensor WHERE user.external == 0 AND sensor.user_id = user.id)");
- }
}
return null;
}
});
handler.upgrade();
+
+ logger.fine("Performing post-upgrade activities");
+ //read upgrade path preferences from the reference database
+ referenceDB.exec("SELECT * FROM db_version_history"
+ + " WHERE db_version <= " + defaultDBVersion
+ + " AND db_version > " + dbVersion,
+ new SQLResultHandler