summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-07-17 12:17:30 +0200
committerAndrew Branson <andrew.branson@cern.ch>2013-09-16 12:39:07 +0200
commitbce2990a1434bf78e85adbfc66cec1a402342f3c (patch)
treebd2fa9fd24650db0431b99f26a6341f8f31dc949 /src/main/java/com/c2kernel/lifecycle/instance
parentbeb0d5c91f228728092063a87827d5ecc4dd318f (diff)
Mapfile started
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/stateMachine/State.java31
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java16
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java72
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionOutcome.java36
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionResource.java9
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionScript.java27
6 files changed, 169 insertions, 22 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/State.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/State.java
index 8c5924b..b4488c0 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/State.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/State.java
@@ -2,7 +2,6 @@ package com.c2kernel.lifecycle.instance.stateMachine;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.HashMap;
public class State implements Serializable {
@@ -15,6 +14,7 @@ public class State implements Serializable {
public State() {
possibleTransitions = new ArrayList<Transition>();
+ possibleTransitionIds = new ArrayList<Integer>();
}
public String getName() {
@@ -25,21 +25,20 @@ public class State implements Serializable {
this.name = name;
}
- public void setPossibleTransitionNames(ArrayList<Integer> newIds) {
- possibleTransitionIds = newIds;
- possibleTransitions.clear();
+
+ public int getCode() {
+ return code;
}
-
- protected boolean resolveTransitions(HashMap<Integer, Transition> transitions) {
- possibleTransitions.clear();
- boolean allFound = true;
- for (Integer name : possibleTransitionIds) {
- if (transitions.keySet().contains(name))
- possibleTransitions.add(transitions.get(name));
- else {
- allFound = false;
- }
- }
- return allFound;
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public boolean isProceeds() {
+ return proceeds;
+ }
+
+ public void setProceeds(boolean proceeds) {
+ this.proceeds = proceeds;
}
}
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 fe3e74b..29ad7da 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java
@@ -17,6 +17,7 @@ public class StateMachine implements Serializable
private final HashMap<Integer, Transition> transitionCodes;
State initialState;
+ int initialStateCode;
boolean isCoherent = false;
public StateMachine() {
@@ -61,4 +62,19 @@ public class StateMachine implements Serializable
public State getInitialState() {
return initialState;
}
+
+ public void setInitialState(State initialState) {
+ this.initialState = initialState;
+ initialStateCode = initialState.getCode();
+ }
+
+ public int getInitialStateCode() {
+ return initialStateCode;
+ }
+
+ public void setInitialStateCode(int initialStateCode) {
+ this.initialStateCode = initialStateCode;
+ initialState = stateCodes.get(initialStateCode);
+ if (initialState == null) isCoherent = false;
+ }
} \ No newline at end of file
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 85383f7..36a3d50 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java
@@ -23,13 +23,73 @@ public class Transition implements Serializable {
// permissions
String roleOverride;
- // schema properties
- String outcomeSchemaName, outcomeSchemaVersion; // Name & version of the schema of the data required for this transition.
- boolean outcomeRequired = true; // If true, then the data must be supplied to perform the transition, otherwise it is optional
-
- // script properties
- String scriptName, scriptVersion; // Name & version of the script to be run by the agent during this transition
+ TransitionOutcome outcome;
+ TransitionScript script;
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public State getOriginState() {
+ return originState;
+ }
+
+ public void setOriginState(State originState) {
+ this.originState = originState;
+ }
+
+ public State getTerminalState() {
+ return terminalState;
+ }
+
+ public void setTerminalState(State terminalState) {
+ this.terminalState = terminalState;
+ }
+
+ public String getEnabledProp() {
+ return enabledProp;
+ }
+
+ public void setEnabledProp(String enabledProp) {
+ this.enabledProp = enabledProp;
+ }
+
+ public boolean isRequiresActive() {
+ return requiresActive;
+ }
+
+ public void setRequiresActive(boolean requiresActive) {
+ this.requiresActive = requiresActive;
+ }
+
+ public String getRoleOverride() {
+ return roleOverride;
+ }
+
+ public void setRoleOverride(String roleOverride) {
+ this.roleOverride = roleOverride;
+ }
+
+ public TransitionOutcome getOutcome() {
+ return outcome;
+ }
+
+ public void setOutcome(TransitionOutcome outcome) {
+ this.outcome = outcome;
+ }
+
+ public TransitionScript getScript() {
+ return script;
+ }
+
+ public void setScript(TransitionScript script) {
+ this.script = script;
+ }
+
public Transition() {
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionOutcome.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionOutcome.java
new file mode 100644
index 0000000..9646bc3
--- /dev/null
+++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionOutcome.java
@@ -0,0 +1,36 @@
+package com.c2kernel.lifecycle.instance.stateMachine;
+
+public class TransitionOutcome extends TransitionResource {
+
+ // schema properties
+ String outcomeSchemaName, outcomeSchemaVersion; // Name & version of the schema of the data required for this transition.
+ boolean outcomeRequired = true; // If true, then the data must be supplied to perform the transition, otherwise it is optional
+
+ public TransitionOutcome() {
+ }
+
+ public String getOutcomeSchemaName() {
+ return outcomeSchemaName;
+ }
+
+ public void setOutcomeSchemaName(String outcomeSchemaName) {
+ this.outcomeSchemaName = outcomeSchemaName;
+ }
+
+ public String getOutcomeSchemaVersion() {
+ return outcomeSchemaVersion;
+ }
+
+ public void setOutcomeSchemaVersion(String outcomeSchemaVersion) {
+ this.outcomeSchemaVersion = outcomeSchemaVersion;
+ }
+
+ public boolean isOutcomeRequired() {
+ return outcomeRequired;
+ }
+
+ public void setOutcomeRequired(boolean outcomeRequired) {
+ this.outcomeRequired = outcomeRequired;
+ }
+
+}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionResource.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionResource.java
new file mode 100644
index 0000000..f644a4c
--- /dev/null
+++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionResource.java
@@ -0,0 +1,9 @@
+package com.c2kernel.lifecycle.instance.stateMachine;
+
+public class TransitionResource {
+
+ public TransitionResource() {
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionScript.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionScript.java
new file mode 100644
index 0000000..80a122a
--- /dev/null
+++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/TransitionScript.java
@@ -0,0 +1,27 @@
+package com.c2kernel.lifecycle.instance.stateMachine;
+
+public class TransitionScript extends TransitionResource {
+
+ // script properties
+ String scriptName, scriptVersion; // Name & version of the script to be run by the agent during this transition
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public String getScriptVersion() {
+ return scriptVersion;
+ }
+
+ public void setScriptVersion(String scriptVersion) {
+ this.scriptVersion = scriptVersion;
+ }
+
+ public TransitionScript() {
+ }
+
+}