Bug 510426: Dedicated / Modular animators for each execution engines
Change-Id: Ia80c45b6383d70e441cd36a2e36e7638d1398c73
Signed-off-by: jeremie.tatibouet <jeremie.tatibouet@cea.fr>
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/META-INF/MANIFEST.MF b/bundles/core/services/org.eclipse.papyrus.moka.animation/META-INF/MANIFEST.MF
index 49ad87d..ccc441e 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.animation/META-INF/MANIFEST.MF
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/META-INF/MANIFEST.MF
@@ -33,6 +33,8 @@
Export-Package: org.eclipse.papyrus.moka.animation,
org.eclipse.papyrus.moka.animation.css;x-internal:=true,
org.eclipse.papyrus.moka.animation.engine,
+ org.eclipse.papyrus.moka.animation.engine.animators,
+ org.eclipse.papyrus.moka.animation.engine.rendering,
org.eclipse.papyrus.moka.animation.presentation.control;x-internal:=true,
org.eclipse.papyrus.moka.animation.presentation.data;x-internal:=true,
org.eclipse.papyrus.moka.animation.utils
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationService.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationService.java
index 140eef7..d3b095e 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationService.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationService.java
@@ -11,88 +11,86 @@
*****************************************************************************/
package org.eclipse.papyrus.moka.animation.engine;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import java.util.Set;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.papyrus.moka.fuml.Semantics.Actions.BasicActions.ICallActionActivation;
-import org.eclipse.papyrus.moka.fuml.Semantics.Actions.CompleteActions.IAcceptEventActionActivation;
-import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.IActivityEdgeInstance;
-import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.IActivityNodeActivation;
+import org.eclipse.papyrus.moka.animation.engine.animators.ActivityAnimator;
+import org.eclipse.papyrus.moka.animation.engine.animators.Animator;
+import org.eclipse.papyrus.moka.animation.engine.animators.StateMachineAnimator;
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationEngine;
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationKind;
+import org.eclipse.papyrus.moka.animation.engine.rendering.DiagramHandler;
+import org.eclipse.papyrus.moka.animation.engine.rendering.IAnimation;
import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IObject_;
import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IValue;
import org.eclipse.papyrus.moka.fuml.Semantics.Loci.LociL1.ISemanticVisitor;
-import org.eclipse.papyrus.moka.fuml.statemachines.interfaces.Semantics.StateMachines.ITransitionActivation;
-import org.eclipse.papyrus.moka.fuml.statemachines.interfaces.Semantics.StateMachines.IVertexActivation;
import org.eclipse.papyrus.moka.service.AbstractMokaService;
import org.eclipse.papyrus.moka.service.IMokaExecutionListener;
-import org.eclipse.papyrus.moka.utils.constants.MokaConstants;
public class AnimationService extends AbstractMokaService implements IAnimation, IMokaExecutionListener {
// The handler responsible for markers application
+ // TODO: the animation engine shall be contributed through an extension point.
protected AnimationEngine engine;
+ // List of child animators that can be used to perform animation
+ // when a node is visited of left by the execution engine.
+ protected List<Animator> animators;
+
public AnimationService() {
this.engine = new AnimationEngine();
+ // TODO: Registration of animators shall be done using an extension point.
+ this.animators = new ArrayList<Animator>();
+ this.animators.add(new ActivityAnimator(engine));
+ this.animators.add(new StateMachineAnimator(engine));
}
public void init(ILaunch launcher, EObject modelElement) {
+ // Initialize elements of the animation service
this.engine.init(modelElement);
}
+ public Animator getAnimator(ISemanticVisitor nodeVisitor){
+ // Find the animator capable of performing animation on the model element
+ // referenced by the visitor.
+ // TODO: in case of conflicting animators the selection should be done
+ // using a priority mechanism.
+ Animator animator = null;
+ Iterator<Animator> animatorsIterator = this.animators.iterator();
+ while(animator == null && animatorsIterator.hasNext()){
+ Animator current = animatorsIterator.next();
+ if(current.accept(nodeVisitor)){
+ animator = current;
+ }
+ }
+ return animator;
+ }
+
@Override
public void nodeVisited(ISemanticVisitor nodeVisitor) {
- if (nodeVisitor instanceof IActivityNodeActivation) {
- IActivityNodeActivation activation = (IActivityNodeActivation) nodeVisitor;
- if (activation.getNode() != null) {
- if (activation instanceof IAcceptEventActionActivation | activation instanceof ICallActionActivation) {
- this.renderAs(activation.getNode(), activation.getExecutionContext(), AnimationKind.ANIMATED);
- } else {
- this.renderAs(activation.getNode(), activation.getExecutionContext(), AnimationKind.ANIMATED, AnimationKind.VISITED, MokaConstants.MOKA_ANIMATION_DELAY);
- }
- }
- } else if (nodeVisitor instanceof IActivityEdgeInstance) {
- IActivityEdgeInstance edgeInstance = (IActivityEdgeInstance) nodeVisitor;
- if (edgeInstance.getEdge() != null) {
- this.engine.startRendering(edgeInstance.getEdge(), edgeInstance.getGroup().getActivityExecution().getContext(), AnimationKind.ANIMATED);
- }
- } else if(nodeVisitor instanceof ITransitionActivation){
- ITransitionActivation transitionActivation = (ITransitionActivation) nodeVisitor;
- if(transitionActivation.getNode() != null){
- this.renderAs(transitionActivation.getNode(), transitionActivation.getExecutionContext(), AnimationKind.ANIMATED);
- }
- } else if(nodeVisitor instanceof IVertexActivation){
- IVertexActivation vertexActivation = (IVertexActivation) nodeVisitor;
- if(vertexActivation.getNode() != null){
- this.renderAs(vertexActivation.getNode(), vertexActivation.getExecutionContext(), AnimationKind.ANIMATED);
- }
+ // Find a registered animator to perform animation when a node gets executed by the execution engine.
+ // If one is found (i.e., it accepts to perform animation on the node interpreted by the visitor)
+ // then the realization of the animation is delegated to this latter. If no animator could be
+ // found then no animation is performed.
+ Animator animator = this.getAnimator(nodeVisitor);
+ if(animator != null){
+ animator.nodeVisited(nodeVisitor);
}
}
@Override
public void nodeLeft(ISemanticVisitor nodeVisitor) {
- if (nodeVisitor instanceof IActivityNodeActivation) {
- IActivityNodeActivation activation = (IActivityNodeActivation) nodeVisitor;
- if (activation.getNode() != null && (activation instanceof IAcceptEventActionActivation | activation instanceof ICallActionActivation)) {
- this.renderAs(activation.getNode(), activation.getExecutionContext(), AnimationKind.VISITED);
- }
- } else if (nodeVisitor instanceof IActivityEdgeInstance) {
- IActivityEdgeInstance edgeInstance = (IActivityEdgeInstance) nodeVisitor;
- if (edgeInstance.getEdge() != null) {
- this.renderAs(edgeInstance.getEdge(), edgeInstance.getGroup().getActivityExecution().getContext(), AnimationKind.VISITED);
- }
- }else if(nodeVisitor instanceof ITransitionActivation){
- ITransitionActivation transitionActivation = (ITransitionActivation) nodeVisitor;
- if(transitionActivation.getNode() != null){
- this.renderAs(transitionActivation.getNode(), transitionActivation.getExecutionContext(), AnimationKind.VISITED);
- }
- } else if(nodeVisitor instanceof IVertexActivation){
- IVertexActivation vertexActivation = (IVertexActivation) nodeVisitor;
- if(vertexActivation.getNode() != null){
- this.renderAs(vertexActivation.getNode(), vertexActivation.getExecutionContext(), AnimationKind.VISITED);
- }
+ // Find a registered animator to perform animation when a node gets exited by the execution engine.
+ // If one is found, then the realization of the animation is delegated to this latter. If no
+ // animator could be found then no animation is performed
+ Animator animator = this.getAnimator(nodeVisitor);
+ if(animator != null){
+ animator.nodeLeft(nodeVisitor);
}
}
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/ActivityAnimator.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/ActivityAnimator.java
new file mode 100644
index 0000000..52e8e88
--- /dev/null
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/ActivityAnimator.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.animation.engine.animators;
+
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationEngine;
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationKind;
+import org.eclipse.papyrus.moka.fuml.Semantics.Actions.BasicActions.ICallActionActivation;
+import org.eclipse.papyrus.moka.fuml.Semantics.Actions.CompleteActions.IAcceptEventActionActivation;
+import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.IActivityEdgeInstance;
+import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.IActivityNodeActivation;
+import org.eclipse.papyrus.moka.fuml.Semantics.Loci.LociL1.ISemanticVisitor;
+import org.eclipse.papyrus.moka.utils.constants.MokaConstants;
+
+public class ActivityAnimator extends Animator{
+
+ public ActivityAnimator(AnimationEngine engine) {
+ super(engine);
+ }
+
+ @Override
+ public void nodeVisited(ISemanticVisitor nodeVisitor) {
+ // When a node is visited by the execution engine, the following animation logic applies:
+ // 1] If the visitor is for an activity node then if its an accept event action or a call action then the
+ // representation of this node gets the ANIMATED style applied. If it is any other kind of activity
+ // node activation it also gets the ANIMATED style but for a given period of time. After this period
+ // of time the VISITED style gets automatically applied.
+ // 2] If the visitor is for an object flow or a control flow then it gets the ANIMTED style applied.
+ if (nodeVisitor instanceof IActivityNodeActivation) {
+ IActivityNodeActivation activation = (IActivityNodeActivation) nodeVisitor;
+ if (activation.getNode() != null) {
+ if (activation instanceof IAcceptEventActionActivation | activation instanceof ICallActionActivation) {
+ this.renderAs(activation.getNode(), activation.getExecutionContext(), AnimationKind.ANIMATED);
+ } else {
+ this.renderAs(activation.getNode(), activation.getExecutionContext(), AnimationKind.ANIMATED, AnimationKind.VISITED, MokaConstants.MOKA_ANIMATION_DELAY);
+ }
+ }
+ } else{
+ if (nodeVisitor instanceof IActivityEdgeInstance){
+ IActivityEdgeInstance edgeInstance = (IActivityEdgeInstance) nodeVisitor;
+ if (edgeInstance.getEdge() != null) {
+ this.engine.startRendering(edgeInstance.getEdge(), edgeInstance.getGroup().getActivityExecution().getContext(), AnimationKind.ANIMATED);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void nodeLeft(ISemanticVisitor nodeVisitor) {
+ // When a node is left by the execution engine (i.e., the execution of this node is done), the following
+ // animation logic applies.
+ // 1] If the visitor is for a node that is either an accept event action or a call action then the VISITED
+ // style gets applied. For any other node the style remain unchanged.
+ // 2] If the visitor is for an object flow or a control flow then the VISITED style gets applied.
+ if (nodeVisitor instanceof IActivityNodeActivation) {
+ IActivityNodeActivation activation = (IActivityNodeActivation) nodeVisitor;
+ if (activation.getNode() != null && (activation instanceof IAcceptEventActionActivation | activation instanceof ICallActionActivation)) {
+ this.renderAs(activation.getNode(), activation.getExecutionContext(), AnimationKind.VISITED);
+ }
+ } else {
+ if (nodeVisitor instanceof IActivityEdgeInstance) {
+ IActivityEdgeInstance edgeInstance = (IActivityEdgeInstance) nodeVisitor;
+ if (edgeInstance.getEdge() != null) {
+ this.renderAs(edgeInstance.getEdge(), edgeInstance.getGroup().getActivityExecution().getContext(), AnimationKind.VISITED);
+ }
+ }
+ }
+ }
+
+ @Override
+ public boolean accept(ISemanticVisitor visitor) {
+ // If the visitor are either for activity nodes or activity edges then they can be accepted
+ // by this animator to perform animation.
+ if(visitor instanceof IActivityNodeActivation
+ || visitor instanceof IActivityEdgeInstance){
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/Animator.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/Animator.java
new file mode 100644
index 0000000..3bafdc3
--- /dev/null
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/Animator.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.animation.engine.animators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationEngine;
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationKind;
+import org.eclipse.papyrus.moka.animation.engine.rendering.IAnimation;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IObject_;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IValue;
+import org.eclipse.papyrus.moka.fuml.Semantics.Loci.LociL1.ISemanticVisitor;
+import org.eclipse.papyrus.moka.service.IMokaExecutionListener;
+
+public abstract class Animator implements IMokaExecutionListener, IAnimation{
+
+ protected AnimationEngine engine;
+
+ public Animator(AnimationEngine engine){
+ this.engine = engine;
+ }
+
+ public abstract boolean accept(ISemanticVisitor visitor);
+
+ @Override
+ public void valueCreated(IValue value) {
+ // Do nothing
+ }
+
+ @Override
+ public void valueDestroyed(IValue value) {
+ // Do nothing
+ }
+
+ @Override
+ public void renderAs(EObject modelElement, IObject_ object, AnimationKind targetStyle) {
+ // Apply the style to model element if the context is allowed to perform animation.
+ this.engine.removeRenderingRules(modelElement);
+ this.engine.startRendering(modelElement, object, targetStyle);
+ }
+
+ @Override
+ public void renderAs(EObject modelElement, IObject_ object, AnimationKind sourceStyle, AnimationKind targetStyle, int duration) {
+ // Apply the source style to model element during the specified duration. As soon as this period of time as elapsed then
+ // the target style is applied to the model element.
+ this.engine.removeRenderingRules(modelElement);
+ this.engine.startRendering(modelElement, object, sourceStyle);
+ if(duration >= 25){
+ try {
+ Thread.sleep(duration);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ this.engine.stopRendering(modelElement, object, sourceStyle);
+ this.engine.startRendering(modelElement, object, targetStyle);
+ }
+
+}
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/StateMachineAnimator.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/StateMachineAnimator.java
new file mode 100644
index 0000000..6cd775c
--- /dev/null
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/animators/StateMachineAnimator.java
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.animation.engine.animators;
+
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationEngine;
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationKind;
+import org.eclipse.papyrus.moka.fuml.Semantics.Loci.LociL1.ISemanticVisitor;
+import org.eclipse.papyrus.moka.fuml.statemachines.interfaces.Semantics.StateMachines.ITransitionActivation;
+import org.eclipse.papyrus.moka.fuml.statemachines.interfaces.Semantics.StateMachines.IVertexActivation;
+
+public class StateMachineAnimator extends Animator{
+
+ public StateMachineAnimator(AnimationEngine engine) {
+ super(engine);
+ }
+
+ @Override
+ public void nodeVisited(ISemanticVisitor nodeVisitor) {
+ // When the visitor is for a visited state machine model element the following animation logic applies.
+ // 1] If the visitor is for a transition then the ANIMATED style gets applied
+ // 2] If the visitor is for a vertex then the ANIMATED style gets applied
+ if(nodeVisitor instanceof ITransitionActivation){
+ ITransitionActivation transitionActivation = (ITransitionActivation) nodeVisitor;
+ if(transitionActivation.getNode() != null){
+ this.renderAs(transitionActivation.getNode(), transitionActivation.getExecutionContext(), AnimationKind.ANIMATED);
+ }
+ } else {
+ if(nodeVisitor instanceof IVertexActivation){
+ IVertexActivation vertexActivation = (IVertexActivation) nodeVisitor;
+ if(vertexActivation.getNode() != null){
+ this.renderAs(vertexActivation.getNode(), vertexActivation.getExecutionContext(), AnimationKind.ANIMATED);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void nodeLeft(ISemanticVisitor nodeVisitor) {
+ // When the visitor is for a left state machine model element the following animation logic applies.
+ // 1] If the visitor is for a transition then the VISITED style gets applied
+ // 2] If the visitor is for a vertex then the VISITED style gets applied
+ if(nodeVisitor instanceof ITransitionActivation){
+ ITransitionActivation transitionActivation = (ITransitionActivation) nodeVisitor;
+ if(transitionActivation.getNode() != null){
+ this.renderAs(transitionActivation.getNode(), transitionActivation.getExecutionContext(), AnimationKind.VISITED);
+ }
+ } else {
+ if(nodeVisitor instanceof IVertexActivation) {
+ IVertexActivation vertexActivation = (IVertexActivation) nodeVisitor;
+ if(vertexActivation.getNode() != null){
+ this.renderAs(vertexActivation.getNode(), vertexActivation.getExecutionContext(), AnimationKind.VISITED);
+ }
+ }
+ }
+ }
+
+ @Override
+ public boolean accept(ISemanticVisitor visitor) {
+ // If the visitor is either for a transition or a vertex then it can be accepted
+ // by this animator to perform animation.
+ if(visitor instanceof ITransitionActivation
+ || visitor instanceof IVertexActivation){
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationEngine.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/AnimationEngine.java
similarity index 99%
rename from bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationEngine.java
rename to bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/AnimationEngine.java
index c939812..97f8d24 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationEngine.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/AnimationEngine.java
@@ -11,7 +11,7 @@
* CEA LIST - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.moka.animation.engine;
+package org.eclipse.papyrus.moka.animation.engine.rendering;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationKind.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/AnimationKind.java
similarity index 90%
rename from bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationKind.java
rename to bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/AnimationKind.java
index b6f9412..6394232 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/AnimationKind.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/AnimationKind.java
@@ -9,7 +9,7 @@
* Contributors:
* CEA LIST Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.moka.animation.engine;
+package org.eclipse.papyrus.moka.animation.engine.rendering;
public enum AnimationKind {
ANIMATED, SUSPENDED, VISITED, CREATION, DESTRUCTION
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/DiagramHandler.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/DiagramHandler.java
similarity index 99%
rename from bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/DiagramHandler.java
rename to bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/DiagramHandler.java
index 85ede3e..f332543 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/DiagramHandler.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/DiagramHandler.java
@@ -9,7 +9,7 @@
* Contributors:
* CEA LIST Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.moka.animation.engine;
+package org.eclipse.papyrus.moka.animation.engine.rendering;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/IAnimation.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/IAnimation.java
similarity index 76%
rename from bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/IAnimation.java
rename to bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/IAnimation.java
index 489175f..d102c1b 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/IAnimation.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/IAnimation.java
@@ -9,7 +9,7 @@
* Contributors:
* CEA LIST Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.moka.animation.engine;
+package org.eclipse.papyrus.moka.animation.engine.rendering;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IObject_;
@@ -19,8 +19,8 @@
// Render the specified model element using the specified style. Existing style
// are removed in order to ensure that the specified style is used. Moving from
// a style to another style just consists in two successive call to this operation
- public void renderAs(EObject modelElement, IObject_ animator, AnimationKind targetStyle);
+ public void renderAs(EObject modelElement, IObject_ object, AnimationKind targetStyle);
- public void renderAs(EObject modelElement, IObject_ animator, AnimationKind sourceStyle, AnimationKind targetStyle, int duration);
+ public void renderAs(EObject modelElement, IObject_ object, AnimationKind sourceStyle, AnimationKind targetStyle, int duration);
}
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/IRenderingEngine.java b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/IRenderingEngine.java
similarity index 93%
rename from bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/IRenderingEngine.java
rename to bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/IRenderingEngine.java
index 44c304a..4b2cae3 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/IRenderingEngine.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.animation/src/org/eclipse/papyrus/moka/animation/engine/rendering/IRenderingEngine.java
@@ -9,7 +9,7 @@
* Contributors:
* CEA LIST Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.moka.animation.engine;
+package org.eclipse.papyrus.moka.animation.engine.rendering;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IObject_;
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/DebugServiceHelper.java b/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/DebugServiceHelper.java
index c510c3d..fa69487 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/DebugServiceHelper.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/DebugServiceHelper.java
@@ -19,7 +19,7 @@
import org.eclipse.debug.core.IBreakpointManager;
import org.eclipse.debug.core.model.IBreakpoint;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.moka.animation.engine.IAnimation;
+import org.eclipse.papyrus.moka.animation.engine.rendering.IAnimation;
import org.eclipse.papyrus.moka.debug.breakpoint.MokaBreakpoint;
import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.IActivityEdgeInstance;
import org.eclipse.papyrus.moka.fuml.Semantics.Activities.IntermediateActivities.IActivityNodeActivation;
diff --git a/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/MokaThread.java b/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/MokaThread.java
index 1826b92..cf6266a 100644
--- a/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/MokaThread.java
+++ b/bundles/core/services/org.eclipse.papyrus.moka.debug/src/org/eclipse/papyrus/moka/debug/engine/MokaThread.java
@@ -21,8 +21,8 @@
import org.eclipse.debug.core.model.IBreakpoint;
import org.eclipse.debug.core.model.IStackFrame;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.moka.animation.engine.AnimationKind;
-import org.eclipse.papyrus.moka.animation.engine.IAnimation;
+import org.eclipse.papyrus.moka.animation.engine.rendering.AnimationKind;
+import org.eclipse.papyrus.moka.animation.engine.rendering.IAnimation;
import org.eclipse.papyrus.moka.debug.model.data.mapping.MokaStackFrame;
import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.IObject_;
import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.Communications.IObjectActivation;