From 59000bddf2cd1551d0ddfd423d835a20c4feab18 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 10 Mar 2014 10:12:09 +0100 Subject: More alignment with Agilium version. Fixes an advancement problem on Join --- .../lifecycle/instance/AdvancementCalculator.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java b/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java index 6302dc7..e688a47 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java @@ -10,7 +10,7 @@ import com.c2kernel.graph.model.Vertex; public class AdvancementCalculator implements Serializable { private CompositeActivity activity; - private Hashtable isMarked; + private Hashtable isMarked; private Hashtable HasNextMarked; public Hashtable hasprevActive; private long mCurrentNbActExp = 0; @@ -24,7 +24,7 @@ public class AdvancementCalculator implements Serializable private boolean mHasPrevActive = false; public AdvancementCalculator() { - isMarked = new Hashtable(); + isMarked = new Hashtable(); HasNextMarked = new Hashtable(); hasprevActive = new Hashtable(); } @@ -39,7 +39,7 @@ public class AdvancementCalculator implements Serializable activity = act; Vertex v = activity.getChildGraphModel().getStartVertex(); check(v, this); - isMarked = new Hashtable(); + isMarked = new Hashtable(); calc(v, this); // Logger.debug(0, act.getName()+" <<<<<<<<<"); } @@ -77,11 +77,10 @@ public class AdvancementCalculator implements Serializable current.mMaximuNbActexp += adv.mMaximuNbActexp; current.mNbActpassed += adv.mNbActpassed; current.mNbActpassedWithCurrent += adv.mNbActpassedWithCurrent; - current.mIsbranchActive = current.mIsbranchActive || adv.mIsbranchActive||act.getActive(); + current.mIsbranchActive = current.mIsbranchActive || adv.mIsbranchActive || act.getActive(); current.mNbActLeftWithCurrent += adv.mNbActLeftWithCurrent; current.mNbActLeftWithoutCurrent += adv.mNbActLeftWithoutCurrent; - current.mHasPrevActive |= adv.mHasPrevActive||act.getActive(); - if (adv.hasprevActive.size()!=0) current.mHasPrevActive=true; + current.mHasPrevActive |= adv.mHasPrevActive || act.getActive() || adv.hasprevActive.size()!=0; } else { @@ -92,6 +91,14 @@ public class AdvancementCalculator implements Serializable current.mNbActpassed += 1; current.mNbActpassedWithCurrent += 1; } + else if (act.getActive()) + { + current.mIsbranchActive = true; + current.mIsbranchFinished = false; + current.mHasPrevActive = true; + current.mNbActpassedWithCurrent += 1; + current.mNbActLeftWithCurrent += 1; + } else { current.mIsbranchFinished = false; -- cgit v1.2.3