From 1c59e048e46139f7ed6d0ee924901aea3878e67d Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 13 Jul 2012 16:29:25 +0200 Subject: 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 --- .../java/com/c2kernel/lifecycle/instance/Activity.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/Activity.java') 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(); } } -- cgit v1.2.3