diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2012-07-13 16:29:25 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2012-07-13 16:29:25 +0200 |
| commit | 1c59e048e46139f7ed6d0ee924901aea3878e67d (patch) | |
| tree | 5570cb76ff0317cde0a0ca22ebcbd9a1bafe0fce /src/main/java/com/c2kernel/lifecycle/instance/Activity.java | |
| parent | 0b7ccbb852f40b4869918ff793c3db3a586bd3cc (diff) | |
New property 'Breakpoint' in Activity. If set to true, the workflow will
not proceed automatically past that activity after COMPLETE or DONE
transitions, but will instead wait for PROCEED or SKIP.
AUTOSTART removed. Now composite activities autostart, while atomic ones
don't.
closes #30
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/Activity.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/Activity.java | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java index 8dc6b9d..c91a270 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java @@ -175,13 +175,14 @@ public class Activity extends WfVertex }
}
}
- if (transitionID == Transitions.COMPLETE && state == States.RSTARTED)
+ if ((transitionID == Transitions.COMPLETE || transitionID == Transitions.DONE) &&
+ (state == States.RSTARTED || getProperties().get("Breakpoint").equals(Boolean.TRUE)))
setActive(false);
- if (transitionID == Transitions.START)
+ else if (transitionID == Transitions.START)
start();
- if ((transitionID == Transitions.SKIP && getActive())
+ else if ((transitionID == Transitions.SKIP && getActive())
|| transitionID == Transitions.DONE
- || (transitionID == Transitions.COMPLETE && state == States.STARTED)
+ || transitionID == Transitions.COMPLETE
|| transitionID == Transitions.PROCEED)
try
{
@@ -402,11 +403,6 @@ public class Activity extends WfVertex else
{
DateUtility.setToNow(mActiveDate);
- if (((Boolean) getProperties().get(StateMachine.AUTOSTART)).booleanValue() && machine.state == States.WAITING)
- {
- machine.traverse(Transitions.START);
- start();
- }
pushJobsToAgents();
}
}
|
