Renamed DB Upgrade classes
This commit is contained in:
parent
fa78d02778
commit
5dae45bb0b
6 changed files with 20 additions and 25 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
package se.hal;
|
package se.hal;
|
||||||
|
|
||||||
import se.hal.intf.HalDatabaseUpgrade;
|
import se.hal.intf.HalDatabaseUpgrader;
|
||||||
import zutil.db.DBConnection;
|
import zutil.db.DBConnection;
|
||||||
import zutil.log.LogUtil;
|
import zutil.log.LogUtil;
|
||||||
|
|
||||||
|
|
@ -10,7 +10,7 @@ import java.util.logging.Logger;
|
||||||
/**
|
/**
|
||||||
* The DB upgrade class for Hal-Core
|
* The DB upgrade class for Hal-Core
|
||||||
*/
|
*/
|
||||||
public class HalCoreDatabaseUpgrade extends HalDatabaseUpgrade {
|
public class HalCoreDatabaseUpgrader extends HalDatabaseUpgrader {
|
||||||
private static final Logger logger = LogUtil.getLogger();
|
private static final Logger logger = LogUtil.getLogger();
|
||||||
|
|
||||||
private static final int REFERENCE_DB_VERSION = 16;
|
private static final int REFERENCE_DB_VERSION = 16;
|
||||||
|
|
@ -20,7 +20,7 @@ public class HalCoreDatabaseUpgrade extends HalDatabaseUpgrade {
|
||||||
private static final int CLEAR_EXTERNAL_AGGR_DATA_DB_VERSION = 0;
|
private static final int CLEAR_EXTERNAL_AGGR_DATA_DB_VERSION = 0;
|
||||||
|
|
||||||
|
|
||||||
public HalCoreDatabaseUpgrade() {
|
public HalCoreDatabaseUpgrader() {
|
||||||
super(REFERENCE_DB_VERSION, REFERENCE_DB_PATH);
|
super(REFERENCE_DB_VERSION, REFERENCE_DB_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package se.hal;
|
package se.hal;
|
||||||
|
|
||||||
import se.hal.intf.HalDatabaseUpgrade;
|
import se.hal.intf.HalDatabaseUpgrader;
|
||||||
import se.hal.struct.User;
|
import se.hal.struct.User;
|
||||||
import zutil.db.DBConnection;
|
import zutil.db.DBConnection;
|
||||||
import zutil.db.DBUpgradeHandler;
|
import zutil.db.DBUpgradeHandler;
|
||||||
|
|
@ -24,12 +24,12 @@ import java.util.logging.Logger;
|
||||||
public class HalDatabaseUpgradeManager {
|
public class HalDatabaseUpgradeManager {
|
||||||
private static final Logger logger = LogUtil.getLogger();
|
private static final Logger logger = LogUtil.getLogger();
|
||||||
|
|
||||||
private static HalDatabaseUpgrade halCoreUpgrade;
|
private static HalDatabaseUpgrader halCoreUpgrade;
|
||||||
private static Queue<HalDatabaseUpgrade> upgradeQueue;
|
private static Queue<HalDatabaseUpgrader> upgradeQueue;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method will read in all HalDatabaseUpgrade plugins and populate the upgrade queue.
|
* Method will read in all HalDatabaseUpgrader plugins and populate the upgrade queue.
|
||||||
* Node, method will only read in plugins on the first call, any subsequent calls will be ignored.
|
* Node, method will only read in plugins on the first call, any subsequent calls will be ignored.
|
||||||
*
|
*
|
||||||
* @param pluginManager
|
* @param pluginManager
|
||||||
|
|
@ -40,10 +40,10 @@ public class HalDatabaseUpgradeManager {
|
||||||
|
|
||||||
upgradeQueue = new LinkedList<>();
|
upgradeQueue = new LinkedList<>();
|
||||||
|
|
||||||
for (Iterator<HalDatabaseUpgrade> it = pluginManager.getSingletonIterator(HalDatabaseUpgrade.class); it.hasNext(); ) {
|
for (Iterator<HalDatabaseUpgrader> it = pluginManager.getSingletonIterator(HalDatabaseUpgrader.class); it.hasNext(); ) {
|
||||||
HalDatabaseUpgrade dbUpgrade = it.next();
|
HalDatabaseUpgrader dbUpgrade = it.next();
|
||||||
|
|
||||||
if (dbUpgrade instanceof HalCoreDatabaseUpgrade)
|
if (dbUpgrade instanceof HalCoreDatabaseUpgrader)
|
||||||
halCoreUpgrade = dbUpgrade;
|
halCoreUpgrade = dbUpgrade;
|
||||||
else
|
else
|
||||||
upgradeQueue.add(dbUpgrade);
|
upgradeQueue.add(dbUpgrade);
|
||||||
|
|
@ -68,7 +68,7 @@ public class HalDatabaseUpgradeManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized static void upgrade(HalDatabaseUpgrade dbUpgrade) {
|
private synchronized static void upgrade(HalDatabaseUpgrader dbUpgrade) {
|
||||||
DBConnection mainDB = null;
|
DBConnection mainDB = null;
|
||||||
DBConnection referenceDB = null;
|
DBConnection referenceDB = null;
|
||||||
|
|
||||||
|
|
@ -96,7 +96,7 @@ public class HalDatabaseUpgradeManager {
|
||||||
// Evaluate if DB upgrade is needed?
|
// Evaluate if DB upgrade is needed?
|
||||||
|
|
||||||
referenceDB = new DBConnection(DBConnection.DBMS.SQLite, referenceDBPath);
|
referenceDB = new DBConnection(DBConnection.DBMS.SQLite, referenceDBPath);
|
||||||
String mainDBVersionProperty = dbUpgrade.getClass().getSimpleName() + ".db_version";
|
String mainDBVersionProperty = "db_version." + dbUpgrade.getClass().getSimpleName();
|
||||||
|
|
||||||
// Check DB version
|
// Check DB version
|
||||||
final int referenceDBVersion = dbUpgrade.getReferenceDBVersion();
|
final int referenceDBVersion = dbUpgrade.getReferenceDBVersion();
|
||||||
|
|
|
||||||
|
|
@ -7,20 +7,20 @@ import java.sql.SQLException;
|
||||||
/**
|
/**
|
||||||
* A plugin interface for custom plugin DB changes.
|
* A plugin interface for custom plugin DB changes.
|
||||||
*/
|
*/
|
||||||
public abstract class HalDatabaseUpgrade {
|
public abstract class HalDatabaseUpgrader {
|
||||||
|
|
||||||
private int referenceDBVersion;
|
private int referenceDBVersion;
|
||||||
private String referenceDBPath;
|
private String referenceDBPath;
|
||||||
|
|
||||||
|
|
||||||
public HalDatabaseUpgrade(int referenceDBVersion, String referenceDBPath) {
|
public HalDatabaseUpgrader(int referenceDBVersion, String referenceDBPath) {
|
||||||
this.referenceDBVersion = referenceDBVersion;
|
this.referenceDBVersion = referenceDBVersion;
|
||||||
this.referenceDBPath = referenceDBPath;
|
this.referenceDBPath = referenceDBPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the reference DB version which will be used as a to state during the upgrade process.
|
* @return the reference DB version which will be used as a to-state during the upgrade process.
|
||||||
*/
|
*/
|
||||||
public int getReferenceDBVersion() {
|
public int getReferenceDBVersion() {
|
||||||
return referenceDBVersion;
|
return referenceDBVersion;
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"name": "Hal-Core",
|
"name": "Hal-Core",
|
||||||
"description": "Plugin contains core logic for running Hal.",
|
"description": "Plugin contains core logic for running Hal.",
|
||||||
"interfaces": [
|
"interfaces": [
|
||||||
{"se.hal.intf.HalDatabaseUpgrade": "se.hal.HalCoreDatabaseUpgrade"},
|
{"se.hal.intf.HalDatabaseUpgrader": "se.hal.HalCoreDatabaseUpgrader"},
|
||||||
|
|
||||||
{"se.hal.intf.HalAbstractControllerManager": "se.hal.EventControllerManager"},
|
{"se.hal.intf.HalAbstractControllerManager": "se.hal.EventControllerManager"},
|
||||||
{"se.hal.intf.HalAbstractControllerManager": "se.hal.SensorControllerManager"},
|
{"se.hal.intf.HalAbstractControllerManager": "se.hal.SensorControllerManager"},
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,17 @@
|
||||||
package se.hal.plugin.zigbee.db;
|
package se.hal.plugin.zigbee.db;
|
||||||
|
|
||||||
import se.hal.HalContext;
|
import se.hal.HalContext;
|
||||||
import se.hal.intf.HalDatabaseUpgrade;
|
import se.hal.intf.HalDatabaseUpgrader;
|
||||||
import zutil.db.DBConnection;
|
|
||||||
import zutil.log.LogUtil;
|
|
||||||
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The DB upgrade class for Hal-Zigbee plugin
|
* The DB upgrade class for Hal-Zigbee plugin
|
||||||
*/
|
*/
|
||||||
public class ZigbeeHalDatabaseUpgrade extends HalDatabaseUpgrade {
|
public class ZigbeeHalDatabaseUpgrader extends HalDatabaseUpgrader {
|
||||||
private static final int REFERENCE_DB_VERSION = 1;
|
private static final int REFERENCE_DB_VERSION = 1;
|
||||||
private static final String REFERENCE_DB_PATH = HalContext.RESOURCE_ROOT + "/resource/hal-zigbee-reference.db";
|
private static final String REFERENCE_DB_PATH = HalContext.RESOURCE_ROOT + "/resource/hal-zigbee-reference.db";
|
||||||
|
|
||||||
|
|
||||||
public ZigbeeHalDatabaseUpgrade() {
|
public ZigbeeHalDatabaseUpgrader() {
|
||||||
super(REFERENCE_DB_VERSION, REFERENCE_DB_PATH);
|
super(REFERENCE_DB_VERSION, REFERENCE_DB_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"name": "Hal-Zigbee",
|
"name": "Hal-Zigbee",
|
||||||
"description": "A Zigbee plugin for directly connecting to a controller device over serial port.",
|
"description": "A Zigbee plugin for directly connecting to a controller device over serial port.",
|
||||||
"interfaces": [
|
"interfaces": [
|
||||||
{"se.hal.intf.HalDatabaseUpgrade": "se.hal.plugin.zigbee.db.ZigbeeHalDatabaseUpgrade"},
|
{"se.hal.intf.HalDatabaseUpgrader": "se.hal.plugin.zigbee.db.ZigbeeHalDatabaseUpgrader"},
|
||||||
|
|
||||||
{"se.hal.intf.HalEventConfig": "se.hal.plugin.zigbee.device.ZigbeeOnOffConfig"},
|
{"se.hal.intf.HalEventConfig": "se.hal.plugin.zigbee.device.ZigbeeOnOffConfig"},
|
||||||
{"se.hal.intf.HalSensorConfig": "se.hal.plugin.zigbee.device.ZigbeeHumidityConfig"},
|
{"se.hal.intf.HalSensorConfig": "se.hal.plugin.zigbee.device.ZigbeeHumidityConfig"},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue