Bug 528754 - Standalone state machine shall be able to receive time
events occurrence.
Change-Id: I1398a9b5b1b72ce0a36ef3c2512810312572db65
Signed-off-by: jeremie.tatibouet <jeremie.tatibouet@cea.fr>
diff --git a/bundles/core/engines/org.eclipse.papyrus.moka.timedfuml/src/org/eclipse/papyrus/moka/timedfuml/semantics/StateMachines/TimedStateMachineExecution.java b/bundles/core/engines/org.eclipse.papyrus.moka.timedfuml/src/org/eclipse/papyrus/moka/timedfuml/semantics/StateMachines/TimedStateMachineExecution.java
index 29b41cf..5b84e78 100644
--- a/bundles/core/engines/org.eclipse.papyrus.moka.timedfuml/src/org/eclipse/papyrus/moka/timedfuml/semantics/StateMachines/TimedStateMachineExecution.java
+++ b/bundles/core/engines/org.eclipse.papyrus.moka.timedfuml/src/org/eclipse/papyrus/moka/timedfuml/semantics/StateMachines/TimedStateMachineExecution.java
@@ -12,8 +12,13 @@
*****************************************************************************/
package org.eclipse.papyrus.moka.timedfuml.semantics.StateMachines;
+import java.util.List;
+
import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IObject_;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.IParameterValue;
import org.eclipse.papyrus.moka.fuml.statemachines.Semantics.StateMachines.StateMachineExecution;
+import org.eclipse.papyrus.moka.timedfuml.semantics.CommonBehaviors.TimedObjectActivation;
+import org.eclipse.uml2.uml.Class;
public class TimedStateMachineExecution extends StateMachineExecution{
@@ -26,4 +31,15 @@
super();
this.configuration = new TimedStateMachineConfiguration(this);
}
+
+ public void startBehavior(Class classifier, List<IParameterValue> inputs) {
+ // The behavior captured here is almost identical to the one provide by Object_.
+ // Instead of using a simple ObjectActivation we use a StateMachineObjectActivation.
+ // This specialized kind of ObjectActivation allows the registering of time events.
+ if (this.objectActivation == null) {
+ this.objectActivation = new TimedObjectActivation();
+ this.objectActivation.setObject(this);
+ }
+ this.objectActivation.startBehavior(classifier, inputs);
+ }
}