Renamed DB Upgrade classes

This commit is contained in:
Ziver Koc 2021-12-03 01:53:23 +01:00
parent fa78d02778
commit 5dae45bb0b
6 changed files with 20 additions and 25 deletions

View file

@ -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);
} }

View file

@ -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();

View file

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

View file

@ -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"},

View file

@ -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);
} }

View file

@ -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"},