diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-10-02 09:42:59 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-10-02 09:42:59 +0200 |
| commit | 71a3b23bce68b73c88ea478a0a46683876d0111e (patch) | |
| tree | 5d0b3700cb81ae73db61b1cb53792cfe8bca0834 /src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java | |
| parent | a4af569e384baf0dcff0198016a309ed66b9910a (diff) | |
Check the schema type of the predefined step before bundling the params
into a PredefinedStepOutcome.
Added single parameter execution method for scripts that can't handle
the ... method params.
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java index 7a318ba..d68f22e 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java @@ -14,6 +14,9 @@ import org.xml.sax.InputSource; import com.c2kernel.common.InvalidDataException;
import com.c2kernel.lifecycle.instance.Activity;
+import com.c2kernel.lifecycle.instance.predefined.agent.AgentPredefinedStepContainer;
+import com.c2kernel.lifecycle.instance.predefined.item.ItemPredefinedStepContainer;
+import com.c2kernel.lifecycle.instance.predefined.server.ServerPredefinedStepContainer;
import com.c2kernel.persistency.outcome.Outcome;
import com.c2kernel.utils.Logger;
/***********************************************************************************************************************************************************************************************************************************************************************************************************
@@ -92,6 +95,19 @@ public abstract class PredefinedStep extends Activity {
return getName();
}
+
+ static public String getPredefStepSchemaName(String stepName) {
+ PredefinedStepContainer[] allSteps = { new ItemPredefinedStepContainer(), new AgentPredefinedStepContainer(), new ServerPredefinedStepContainer() };
+ for (PredefinedStepContainer thisContainer : allSteps) {
+ String stepPath = thisContainer.getName()+"/"+stepName;
+ Activity step = (Activity)thisContainer.search(stepPath);
+ if (step != null) {
+ return (String)step.getProperties().get("SchemaType");
+ }
+ }
+ return "PredefinedStepOutcome"; // default to standard if not found - server may be a newer version
+ }
+
// generic bundling of parameters
static public String bundleData(String[] data)
{
@@ -132,7 +148,7 @@ public abstract class PredefinedStep extends Activity // generic bundling of single parameter
static public String bundleData(String data)
{
- return "<PredefinedStepOutcome><param><![CDATA[" + data + "]]></param></PredefinedStepOutcome>";
+ return bundleData(new String[]{ data });
}
public static String[] getDataList(String xmlData)
|
