From 79bdf4aa01fb9ca991de032733919923a19192c8 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Sun, 27 Oct 2013 21:06:45 +0100 Subject: 3.0-SNAPSHOT Do Integer.parseInt(propObj.toString()) to tolerate String or Integer version properties. --- src/main/java/com/c2kernel/lifecycle/instance/Activity.java | 4 ++-- src/main/java/com/c2kernel/lifecycle/instance/OrSplit.java | 2 +- src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java | 2 +- .../lifecycle/instance/predefined/CreateItemFromDescription.java | 7 ++++++- .../lifecycle/instance/predefined/entitycreation/Outcome.java | 4 ++-- 5 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java index a386194..a83eadd 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java @@ -82,7 +82,7 @@ public class Activity extends WfVertex public StateMachine getStateMachine() throws InvalidDataException { if (machine == null) { String name = (String)getProperties().get("StateMachineName"); - Integer version = (Integer)getProperties().get("StateMachineVersion"); + int version = getVersionNumberProperty("StateMachineVersion"); try { machine = LocalObjectLoader.getStateMachine(name, version); } catch (ObjectNotFoundException ex) { @@ -104,7 +104,7 @@ public class Activity extends WfVertex } return machine; } - + /** return the current State of the State machine (Used in Serialisation) */ public int getState() throws InvalidDataException { diff --git a/src/main/java/com/c2kernel/lifecycle/instance/OrSplit.java b/src/main/java/com/c2kernel/lifecycle/instance/OrSplit.java index 89f5ad2..357e86a 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/OrSplit.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/OrSplit.java @@ -24,7 +24,7 @@ public class OrSplit extends Split { String nexts; String scriptName = (String) getProperties().get("RoutingScriptName"); - Integer scriptVersion = (Integer) getProperties().get("RoutingScriptVersion"); + int scriptVersion = getVersionNumberProperty("RoutingScriptVersion"); try { nexts = this.evaluateScript(scriptName, scriptVersion, itemSysKey).toString(); } catch (ScriptingEngineException e) { diff --git a/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java b/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java index a74a939..f8c314d 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java @@ -33,7 +33,7 @@ public class XOrSplit extends Split ArrayList nextsToFollow = new ArrayList(); String nexts; String scriptName = (String) getProperties().get("RoutingScriptName"); - int scriptVersion = (Integer) getProperties().get("RoutingScriptVersion"); + int scriptVersion = getVersionNumberProperty("RoutingScriptVersion"); try { nexts = this.evaluateScript(scriptName, scriptVersion, itemSysKey).toString(); } catch (ScriptingEngineException e) { diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java index 2e3d652..10e54d1 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java @@ -93,7 +93,12 @@ public class CreateItemFromDescription extends PredefinedStep // get the first member from the wf collection CollectionMember wfMember = members.get(0); wfDefName = wfMember.resolveEntity().getName(); - wfDefVer = (Integer)wfMember.getProperties().get("Version"); + Object wfVerObj = wfMember.getProperties().get("Version"); + try { + wfDefVer = Integer.parseInt(wfVerObj.toString()); + } catch (NumberFormatException ex) { + throw new InvalidDataException("Invalid workflow version number: "+wfVerObj.toString(), ""); + } } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java index a8431de..9ab5793 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java @@ -10,10 +10,10 @@ public class Outcome { public Outcome() { } - public Outcome(String schema, String version, String viewname, String path) { + public Outcome(String schema, int version, String viewname, String path) { super(); this.schema = schema; - this.version = Integer.parseInt(version); + this.version = version; this.viewname = viewname; this.path = path; } -- cgit v1.2.3