From 71a3b23bce68b73c88ea478a0a46683876d0111e Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 2 Oct 2014 09:42:59 +0200 Subject: 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. --- .../lifecycle/instance/predefined/PredefinedStep.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java') 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 ""; + return bundleData(new String[]{ data }); } public static String[] getDataList(String xmlData) -- cgit v1.2.3