summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java
diff options
context:
space:
mode:
authorogattaz <olivier@gattaz.com>2014-06-05 16:51:07 +0200
committerogattaz <olivier@gattaz.com>2014-06-05 16:51:07 +0200
commit2fd193d7936084de91eae46e8c2763914d87ab71 (patch)
treeb136ed97e535f11d4b3433d16c26570c89430ce4 /src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java
parent1225792532f77e6e8f4a9addfc0c0a6cf56e89b8 (diff)
parente73468fd08cc27aa31f76a27c916e45d5987c628 (diff)
Merge branch 'master' of ssh://dev.cccs.uwe.ac.uk:22/var/git/cristal-kernel
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java19
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;