refs #579: Use IS to persist Scheduled Task configuration on smart-executor

https://support.d4science.org/issues/579

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/vre-management/smart-executor-api@119098 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Luca Frosini 2015-09-28 15:44:20 +00:00
parent ecd8ef4a25
commit 01ad32df56
2 changed files with 54 additions and 34 deletions

View File

@ -23,6 +23,9 @@ public class LaunchParameter {
@XmlElement
protected String pluginName;
@XmlJavaTypeAdapter(MapAdapter.class)
protected Map<String, String> pluginCapabilities;
@XmlJavaTypeAdapter(MapAdapter.class)
protected Map<String, Object> inputs;
@ -32,49 +35,37 @@ public class LaunchParameter {
protected LaunchParameter(){}
/**
* @param pluginName
* @param inputs
*/
public LaunchParameter(String pluginName, Map<String, Object> inputs) {
this.pluginName = pluginName;
this.inputs = inputs;
this.persist = false;
this.scheduling = null;
this(pluginName, null, inputs, false, null);
}
public LaunchParameter(String pluginName, Map<String, String> pluginCapabilities, Map<String, Object> inputs) {
this(pluginName, pluginCapabilities, inputs, false, null);
}
/**
* @param name
* @param inputs
* @param persist
*/
public LaunchParameter(String pluginName, Map<String, Object> inputs, boolean persist) {
this.pluginName = pluginName;
this.inputs = inputs;
this.persist = persist;
this.scheduling = null;
this(pluginName, null, inputs, persist, null);
}
public LaunchParameter(String pluginName, Map<String, String> pluginCapabilities, Map<String, Object> inputs, boolean persist) {
this(pluginName, pluginCapabilities, inputs, persist, null);
}
/**
* @param name
* @param inputs
* @param scheduling
*/
public LaunchParameter(String pluginName, Map<String, Object> inputs, Scheduling scheduling) {
this.pluginName = pluginName;
this.inputs = inputs;
this.persist = false;
this.scheduling = scheduling;
this(pluginName, null, inputs, false, scheduling);
}
public LaunchParameter(String pluginName, Map<String, String> pluginCapabilities, Map<String, Object> inputs, Scheduling scheduling) {
this(pluginName, pluginCapabilities, inputs, false, scheduling);
}
/**
* @param name
* @param inputs
* @param persist
* @param scheduling
*/
public LaunchParameter(String pluginName, Map<String, Object> inputs, boolean persist, Scheduling scheduling) {
this(pluginName, null, inputs, persist, scheduling);
}
public LaunchParameter(String pluginName, Map<String, String> pluginCapabilities, Map<String, Object> inputs, boolean persist, Scheduling scheduling) {
this.pluginName = pluginName;
this.pluginCapabilities = pluginCapabilities;
this.inputs = inputs;
this.persist = persist;
this.scheduling = scheduling;
@ -95,6 +86,20 @@ public class LaunchParameter {
return pluginName;
}
/**
* @return the pluginCapabilities
*/
public Map<String, String> getPluginCapabilities() {
return pluginCapabilities;
}
/**
* @param pluginCapabilities the pluginCapabilities to set
*/
public void setPluginCapabilities(Map<String, String> pluginCapabilities) {
this.pluginCapabilities = pluginCapabilities;
}
/**
* @return the inputs
*/
@ -119,8 +124,9 @@ public class LaunchParameter {
@Override
public String toString(){
return String.format("%s : { Scheduling : %s, Inputs : %s}",
this.getClass().getSimpleName(), scheduling, inputs);
return String.format("%s : { Plugin : { Name: %s , Capabilites : %s} Scheduling : %s, Inputs : %s}",
this.getClass().getSimpleName(), pluginName, pluginCapabilities,
scheduling, inputs);
}
/**

View File

@ -160,6 +160,20 @@ public class Scheduling {
return firstStartTime;
}
/**
* @return the firstStartTime
*/
public Long getFirstStartTime() {
return firstStartTime;
}
/**
* @param firstStartTime the firstStartTime to set
*/
public void setFirstStartTime(Long firstStartTime) {
this.firstStartTime = firstStartTime;
}
/**
* @return the endTime