Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamille Letavernier2014-07-31 08:11:21 +0000
committerGerrit Code Review @ Eclipse.org2014-07-31 08:11:21 +0000
commitc1b76bd45899b4ea674b10eea29dae887abfc8da (patch)
tree00681af44d163f43daea214ee88bb9e1442a90ca /extraplugins
parentcb7717318dae59b88b769ee4e98f345caaf8c80a (diff)
parentb56126e17f64b5fa635304723392209bff6965fb (diff)
downloadorg.eclipse.papyrus-c1b76bd45899b4ea674b10eea29dae887abfc8da.tar.gz
org.eclipse.papyrus-c1b76bd45899b4ea674b10eea29dae887abfc8da.tar.xz
org.eclipse.papyrus-c1b76bd45899b4ea674b10eea29dae887abfc8da.zip
Merge "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"
Diffstat (limited to 'extraplugins')
-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