From 01ad32df56af3aefa970533c79a66a4d67d79572 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Mon, 28 Sep 2015 15:44:20 +0000 Subject: [PATCH] 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 --- .../executor/api/types/LaunchParameter.java | 74 ++++++++++--------- .../executor/api/types/Scheduling.java | 14 ++++ 2 files changed, 54 insertions(+), 34 deletions(-) diff --git a/src/main/java/org/gcube/vremanagement/executor/api/types/LaunchParameter.java b/src/main/java/org/gcube/vremanagement/executor/api/types/LaunchParameter.java index adc4fb1..e8fb8d4 100644 --- a/src/main/java/org/gcube/vremanagement/executor/api/types/LaunchParameter.java +++ b/src/main/java/org/gcube/vremanagement/executor/api/types/LaunchParameter.java @@ -23,6 +23,9 @@ public class LaunchParameter { @XmlElement protected String pluginName; + @XmlJavaTypeAdapter(MapAdapter.class) + protected Map pluginCapabilities; + @XmlJavaTypeAdapter(MapAdapter.class) protected Map inputs; @@ -32,49 +35,37 @@ public class LaunchParameter { protected LaunchParameter(){} - /** - * @param pluginName - * @param inputs - */ public LaunchParameter(String pluginName, Map inputs) { - this.pluginName = pluginName; - this.inputs = inputs; - this.persist = false; - this.scheduling = null; + this(pluginName, null, inputs, false, null); + } + + public LaunchParameter(String pluginName, Map pluginCapabilities, Map inputs) { + this(pluginName, pluginCapabilities, inputs, false, null); } - /** - * @param name - * @param inputs - * @param persist - */ public LaunchParameter(String pluginName, Map 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 pluginCapabilities, Map inputs, boolean persist) { + this(pluginName, pluginCapabilities, inputs, persist, null); } - /** - * @param name - * @param inputs - * @param scheduling - */ public LaunchParameter(String pluginName, Map 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 pluginCapabilities, Map inputs, Scheduling scheduling) { + this(pluginName, pluginCapabilities, inputs, false, scheduling); } - /** - * @param name - * @param inputs - * @param persist - * @param scheduling - */ public LaunchParameter(String pluginName, Map inputs, boolean persist, Scheduling scheduling) { + this(pluginName, null, inputs, persist, scheduling); + } + + public LaunchParameter(String pluginName, Map pluginCapabilities, Map 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 getPluginCapabilities() { + return pluginCapabilities; + } + + /** + * @param pluginCapabilities the pluginCapabilities to set + */ + public void setPluginCapabilities(Map 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); } /** diff --git a/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java b/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java index 7a6c6b3..6631a0e 100644 --- a/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java +++ b/src/main/java/org/gcube/vremanagement/executor/api/types/Scheduling.java @@ -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