Skip to content
Snippets Groups Projects
Commit e70e3b0b authored by cramakri's avatar cramakri
Browse files

LMS-2821 Added support for injected maintenance plugins

SVN: 24599
parent 79f423e0
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
......@@ -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";
......
......@@ -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)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment