From 0f892332b19ba8741a7db66a5c4daa386b2b5c1e Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 25 Oct 2013 17:27:29 +0200 Subject: Changes and refactoring to gui requirements Used descriptions must use an integer version. --- .../instance/stateMachine/StateMachine.java | 6 ++--- .../instance/stateMachine/Transition.java | 30 ++++++++++++++++++++-- 2 files changed, 31 insertions(+), 5 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/stateMachine') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java index f9cf144..1506701 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java @@ -16,7 +16,7 @@ import com.c2kernel.utils.Logger; public class StateMachine implements DescriptionObject { public String name; - public String version; + public int version; private ArrayList states; private ArrayList transitions; @@ -92,7 +92,7 @@ public class StateMachine implements DescriptionObject } @Override - public String getVersion() { + public int getVersion() { return version; } @@ -100,7 +100,7 @@ public class StateMachine implements DescriptionObject this.name = name; } - public void setVersion(String version) { + public void setVersion(int version) { this.version = version; } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java index 9815889..01ede5a 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java @@ -40,6 +40,16 @@ public class Transition implements Serializable { public Transition() { } + + public Transition(int id, String name, int originStateId, int targetStateId) { + super(); + this.id = id; + this.name = name; + this.originStateId = originStateId; + this.targetStateId = targetStateId; + } + + public String getName() { return name; } @@ -234,7 +244,9 @@ public class Transition implements Serializable { } public boolean hasOutcome() { - return outcome.schemaName!=null && outcome.schemaName.length()>0; + return outcome!=null + && outcome.schemaName!=null && outcome.schemaName.length()>0 + && outcome.schemaVersion!=null && outcome.schemaVersion.length()>0; } public Schema getSchema(CastorHashMap actProps) throws InvalidDataException, ObjectNotFoundException { @@ -249,7 +261,21 @@ public class Transition implements Serializable { return null; } + public String getScriptName(CastorHashMap actProps) { + return resolveValue(script.scriptName, actProps); + } + + public int getScriptVersion(CastorHashMap actProps) throws InvalidDataException { + try { + return Integer.parseInt(resolveValue(script.scriptVersion, actProps)); + } catch (NumberFormatException ex) { + throw new InvalidDataException("Bad Script version number: "+script.scriptVersion+" ("+resolveValue(script.scriptVersion, actProps)); + } + } + public boolean hasScript() { - return script!=null && script.getScriptName() != null; + return script!=null + && script.scriptName!=null && script.scriptName.length()>0 + && script.scriptVersion!=null && script.scriptVersion.length()>0; } } -- cgit v1.2.3