diff options
author | Camille Letavernier | 2014-07-31 08:11:21 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2014-07-31 08:11:21 +0000 |
commit | c1b76bd45899b4ea674b10eea29dae887abfc8da (patch) | |
tree | 00681af44d163f43daea214ee88bb9e1442a90ca /extraplugins | |
parent | cb7717318dae59b88b769ee4e98f345caaf8c80a (diff) | |
parent | b56126e17f64b5fa635304723392209bff6965fb (diff) | |
download | org.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.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(); |