diff options
author | Arnaud Cuccuru | 2014-07-25 13:45:10 +0000 |
---|---|---|
committer | Arnaud Cuccuru | 2014-07-25 13:45:10 +0000 |
commit | b56126e17f64b5fa635304723392209bff6965fb (patch) | |
tree | 704529819c57ede31ea38a5af748739522e57327 /extraplugins/moka | |
parent | bd3ca46c74ae258c8d9edb228ad77a5349747199 (diff) | |
download | org.eclipse.papyrus-b56126e17f64b5fa635304723392209bff6965fb.tar.gz org.eclipse.papyrus-b56126e17f64b5fa635304723392209bff6965fb.tar.xz org.eclipse.papyrus-b56126e17f64b5fa635304723392209bff6965fb.zip |
439639: [Moka] oepm.async.fuml.debug.AsyncControlDelegate.terminate
shall send a TerminateSignalInstance to all objects in the execution
locus
https://bugs.eclipse.org/bugs/show_bug.cgi?id=439639
Change-Id: Icea43ed6c95bd69192614b592b1392d612d314e0
Diffstat (limited to 'extraplugins/moka')
-rw-r--r-- | extraplugins/moka/org.eclipse.papyrus.moka.async.fuml/src/org/eclipse/papyrus/moka/async/fuml/debug/AsyncControlDelegate.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.async.fuml/src/org/eclipse/papyrus/moka/async/fuml/debug/AsyncControlDelegate.java b/extraplugins/moka/org.eclipse.papyrus.moka.async.fuml/src/org/eclipse/papyrus/moka/async/fuml/debug/AsyncControlDelegate.java index 4bfa9600863..304720c0e50 100644 --- a/extraplugins/moka/org.eclipse.papyrus.moka.async.fuml/src/org/eclipse/papyrus/moka/async/fuml/debug/AsyncControlDelegate.java +++ b/extraplugins/moka/org.eclipse.papyrus.moka.async.fuml/src/org/eclipse/papyrus/moka/async/fuml/debug/AsyncControlDelegate.java @@ -40,6 +40,7 @@ import org.eclipse.papyrus.moka.fuml.Semantics.Actions.CompleteActions.AcceptEve import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.ActivityEdgeInstance; import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.ActivityExecution; import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.ActivityNodeActivation; +import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.ExtensionalValue; import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.Object_; import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.Communications.EventAccepter; import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.Communications.ObjectActivation; @@ -208,11 +209,21 @@ public class AsyncControlDelegate extends ControlDelegate { AnimationUtils.getInstance().removeAnimationMarker(o); } } - for(ObjectActivation activation : objectActivations) { - if(activation != null /* && ((AsyncObjectActivation)activation).getCurrentState() == ObjectActivationState.WAITING */) { - activation.send(new TerminateSignalInstance()); + /**********/ + // 439639: [Moka] oepm.async.fuml.debug.AsyncControlDelegate.terminate shall send a TerminateSignalInstance to all objects in the execution locus + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=439639 + for (ExtensionalValue v :FUMLExecutionEngine.eInstance.getLocus().extensionalValues) { + if (v instanceof Object_) { + ((Object_)v).send(new TerminateSignalInstance()) ; } } +// for(ObjectActivation activation : objectActivations) { +// if(activation != null /* && ((AsyncObjectActivation)activation).getCurrentState() == ObjectActivationState.WAITING */) { +// //activation.send(new TerminateSignalInstance()); +// activation.object.send(new TerminateSignalInstance()) ; +// } +// } + /***********/ for(Object lock : this.locks.values()) { synchronized(lock) { lock.notify(); |