diff options
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/stateMachine')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java | 6 | ||||
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java | 30 |
2 files changed, 31 insertions, 5 deletions
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<State> states;
private ArrayList<Transition> 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;
}
}
|
