diff --git a/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenancePlugin.java b/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenancePlugin.java index 90a918ebafdf4d943ac1c219ed39f19c68fc8a95..b70384e27d99c775777ed9eff4cef5a3432484bc 100644 --- a/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenancePlugin.java +++ b/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenancePlugin.java @@ -43,6 +43,18 @@ public class MaintenancePlugin this.requiresDataStoreLock = requiresDataStoreLock(); } + /** + * Constructor that takes a configured maintenance task. + * + * @param task + */ + public MaintenancePlugin(IMaintenanceTask task, MaintenanceTaskParameters parameters) + { + this.parameters = parameters; + this.task = task; + this.requiresDataStoreLock = requiresDataStoreLock(); + } + private boolean requiresDataStoreLock() { if (task instanceof IDataStoreLockingMaintenanceTask) diff --git a/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskParameters.java b/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskParameters.java index e1f7ef7fd4d9db570445f743a613d9d37a3befd3..1df85fe93e0833b6a74f8a45fbeb67c5c364d245 100644 --- a/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskParameters.java +++ b/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskParameters.java @@ -34,13 +34,13 @@ import ch.systemsx.cisd.common.utilities.PropertyUtils; */ public class MaintenanceTaskParameters { - static final String TIME_FORMAT = "HH:mm"; + public static final String CLASS_KEY = "class"; - static final int ONE_DAY_IN_SEC = 60 * 60 * 24; + public static final String INTERVAL_KEY = "interval"; - static final String CLASS_KEY = "class"; + static final String TIME_FORMAT = "HH:mm"; - static final String INTERVAL_KEY = "interval"; + static final int ONE_DAY_IN_SEC = 60 * 60 * 24; static final String START_KEY = "start"; diff --git a/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskUtils.java b/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskUtils.java index f1369c945dfa2ec97b24a977d50d443bed2f1a32..2d98422931130c0676eff2a5ee3929a975e9ba7b 100644 --- a/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskUtils.java +++ b/common/source/java/ch/systemsx/cisd/common/maintenance/MaintenanceTaskUtils.java @@ -51,12 +51,21 @@ public class MaintenanceTaskUtils MaintenancePlugin plugin = new MaintenancePlugin(parameters); plugins.add(plugin); } + for (MaintenancePlugin plugin : plugins) { plugin.start(); } } + /** + * Inject a maintenance plugin into the running plugin environment. + */ + public static void injectMaintenancePlugin(MaintenancePlugin plugin) + { + plugin.start(); + } + public static MaintenanceTaskParameters[] createMaintenancePlugins( final Properties serviceProperties) {