Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaud Cuccuru2014-07-25 13:45:10 +0000
committerArnaud Cuccuru2014-07-25 13:45:10 +0000
commitb56126e17f64b5fa635304723392209bff6965fb (patch)
tree704529819c57ede31ea38a5af748739522e57327 /extraplugins/moka
parentbd3ca46c74ae258c8d9edb228ad77a5349747199 (diff)
downloadorg.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.java17
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();

Back to the top