diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-03-10 10:12:09 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-03-10 10:12:09 +0100 |
| commit | 59000bddf2cd1551d0ddfd423d835a20c4feab18 (patch) | |
| tree | f462e86414490c08ec380825d266538ef41f57fc | |
| parent | 7c341c90d5d45ddf4b868f7ccec91d9cdd23792f (diff) | |
More alignment with Agilium version.
Fixes an advancement problem on Join
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java | 19 |
1 files changed, 13 insertions, 6 deletions
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<Vertex, Serializable> isMarked;
+ private Hashtable<Vertex, Object> isMarked;
private Hashtable<Vertex, Vertex> HasNextMarked;
public Hashtable<String, Vertex> hasprevActive;
private long mCurrentNbActExp = 0;
@@ -24,7 +24,7 @@ public class AdvancementCalculator implements Serializable private boolean mHasPrevActive = false;
public AdvancementCalculator()
{
- isMarked = new Hashtable<Vertex, Serializable>();
+ isMarked = new Hashtable<Vertex, Object>();
HasNextMarked = new Hashtable<Vertex, Vertex>();
hasprevActive = new Hashtable<String, Vertex>();
}
@@ -39,7 +39,7 @@ public class AdvancementCalculator implements Serializable activity = act;
Vertex v = activity.getChildGraphModel().getStartVertex();
check(v, this);
- isMarked = new Hashtable<Vertex, Serializable>();
+ isMarked = new Hashtable<Vertex, Object>();
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;
|
