Commit 663c0b84 authored by Depasse Arthur's avatar Depasse Arthur

résolution de pb

parent f07a511f
......@@ -509,7 +509,7 @@
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7IzxAC8REemUD62u2ND_rQ" name="State" tooltipText="" outgoingEdges="_LmGFoF-gEemRWcGjpF2T8A _o2KaoGCWEem6daeI_HTQDw _zPQc4G2xEemjJLy0_4_Kjg _5X7rUG2xEemjJLy0_4_Kjg" incomingEdges="_Ll21EF-gEemRWcGjpF2T8A _Ll5RUF-gEemRWcGjpF2T8A _Ll6fcF-gEemRWcGjpF2T8A _LmDpYF-gEemRWcGjpF2T8A" width="12" height="10">
<ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7IzxAC8REemUD62u2ND_rQ" name="State" tooltipText="" outgoingEdges="_LmGFoF-gEemRWcGjpF2T8A _o2KaoGCWEem6daeI_HTQDw _zPQc4G2xEemjJLy0_4_Kjg _5X7rUG2xEemjJLy0_4_Kjg _OGyysHWXEemSG6CGjg3iew" incomingEdges="_Ll21EF-gEemRWcGjpF2T8A _Ll5RUF-gEemRWcGjpF2T8A _Ll6fcF-gEemRWcGjpF2T8A _LmDpYF-gEemRWcGjpF2T8A" width="12" height="10">
<target xmi:type="ecore:EClass" href="fsm.ecore#//State"/>
<semanticElements xmi:type="ecore:EClass" href="fsm.ecore#//State"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
......@@ -758,25 +758,23 @@
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_zPQc4G2xEemjJLy0_4_Kjg" name="[0..*] onEnteredActions" sourceNode="_7IzxAC8REemUD62u2ND_rQ" targetNode="_HF-6EEQNEemrwoRpiiTFJA">
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_zPQc4G2xEemjJLy0_4_Kjg" name="[0..1] onEnteredActions" sourceNode="_7IzxAC8REemUD62u2ND_rQ" targetNode="_HF-6EEQNEemrwoRpiiTFJA">
<target xmi:type="ecore:EReference" href="fsm.ecore#//State/onEnteredActions"/>
<semanticElements xmi:type="ecore:EReference" href="fsm.ecore#//State/onEnteredActions"/>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_9xWGIG2yEemjJLy0_4_Kjg" description="_36gmIGXREemlk9JwcFvGuA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_9xWGIW2yEemjJLy0_4_Kjg" showIcon="false"/>
<endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_9xWGIm2yEemjJLy0_4_Kjg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_zqOE4HWkEemLj80b9HKNdQ" routingStyle="manhattan" strokeColor="0,0,0">
<description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_zqOE4XWkEemLj80b9HKNdQ" showIcon="false"/>
<endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_zqOE4nWkEemLj80b9HKNdQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5X7rUG2xEemjJLy0_4_Kjg" name="[0..*] onExitedActions" sourceNode="_7IzxAC8REemUD62u2ND_rQ" targetNode="_HF-6EEQNEemrwoRpiiTFJA">
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5X7rUG2xEemjJLy0_4_Kjg" name="[0..1] onExitedActions" sourceNode="_7IzxAC8REemUD62u2ND_rQ" targetNode="_HF-6EEQNEemrwoRpiiTFJA">
<target xmi:type="ecore:EReference" href="fsm.ecore#//State/onExitedActions"/>
<semanticElements xmi:type="ecore:EReference" href="fsm.ecore#//State/onExitedActions"/>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5X8SYG2xEemjJLy0_4_Kjg" description="_36gmIGXREemlk9JwcFvGuA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5X8SYW2xEemjJLy0_4_Kjg" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5X8SYm2xEemjJLy0_4_Kjg" showIcon="false" labelColor="39,76,114">
<customFeatures>labelSize</customFeatures>
</endLabelStyle>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_zqPTAHWkEemLj80b9HKNdQ" routingStyle="manhattan" strokeColor="0,0,0">
<description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_zqPTAXWkEemLj80b9HKNdQ" showIcon="false"/>
<endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_zqPTAnWkEemLj80b9HKNdQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
</ownedDiagramElements>
......
......@@ -3,8 +3,8 @@
package fr.supelec.plong9.fsm;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
/**
......
......@@ -239,7 +239,7 @@ public interface FsmPackage extends EPackage {
int STATE__INCOMING_TRANSITIONS = 3;
/**
* The feature id for the '<em><b>On Entered Actions</b></em>' containment reference list.
* The feature id for the '<em><b>On Entered Actions</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
......@@ -248,7 +248,7 @@ public interface FsmPackage extends EPackage {
int STATE__ON_ENTERED_ACTIONS = 4;
/**
* The feature id for the '<em><b>On Exited Actions</b></em>' containment reference list.
* The feature id for the '<em><b>On Exited Actions</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
......@@ -774,10 +774,10 @@ public interface FsmPackage extends EPackage {
EReference getState_IncomingTransitions();
/**
* Returns the meta object for the containment reference list '{@link fr.supelec.plong9.fsm.State#getOnEnteredActions <em>On Entered Actions</em>}'.
* Returns the meta object for the reference '{@link fr.supelec.plong9.fsm.State#getOnEnteredActions <em>On Entered Actions</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference list '<em>On Entered Actions</em>'.
* @return the meta object for the reference '<em>On Entered Actions</em>'.
* @see fr.supelec.plong9.fsm.State#getOnEnteredActions()
* @see #getState()
* @generated
......@@ -785,10 +785,10 @@ public interface FsmPackage extends EPackage {
EReference getState_OnEnteredActions();
/**
* Returns the meta object for the containment reference list '{@link fr.supelec.plong9.fsm.State#getOnExitedActions <em>On Exited Actions</em>}'.
* Returns the meta object for the reference '{@link fr.supelec.plong9.fsm.State#getOnExitedActions <em>On Exited Actions</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference list '<em>On Exited Actions</em>'.
* @return the meta object for the reference '<em>On Exited Actions</em>'.
* @see fr.supelec.plong9.fsm.State#getOnExitedActions()
* @see #getState()
* @generated
......@@ -860,6 +860,17 @@ public interface FsmPackage extends EPackage {
*/
EReference getTransition_Guard();
/**
* Returns the meta object for the reference '{@link fr.supelec.plong9.fsm.Transition#getEvent <em>Event</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the reference '<em>Event</em>'.
* @see fr.supelec.plong9.fsm.Transition#getEvent()
* @see #getTransition()
* @generated
*/
EReference getTransition_Event();
/**
* Returns the meta object for the reference '{@link fr.supelec.plong9.fsm.Transition#getTarget <em>Target</em>}'.
* <!-- begin-user-doc -->
......@@ -1011,17 +1022,6 @@ public interface FsmPackage extends EPackage {
*/
EAttribute getStringToStringMap_Value();
/**
* Returns the meta object for the reference '{@link fr.supelec.plong9.fsm.Transition#getEvent <em>Event</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the reference '<em>Event</em>'.
* @see fr.supelec.plong9.fsm.Transition#getEvent()
* @see #getTransition()
* @generated
*/
EReference getTransition_Event();
/**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
......@@ -1194,7 +1194,7 @@ public interface FsmPackage extends EPackage {
EReference STATE__INCOMING_TRANSITIONS = eINSTANCE.getState_IncomingTransitions();
/**
* The meta object literal for the '<em><b>On Entered Actions</b></em>' containment reference list feature.
* The meta object literal for the '<em><b>On Entered Actions</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
......@@ -1202,7 +1202,7 @@ public interface FsmPackage extends EPackage {
EReference STATE__ON_ENTERED_ACTIONS = eINSTANCE.getState_OnEnteredActions();
/**
* The meta object literal for the '<em><b>On Exited Actions</b></em>' containment reference list feature.
* The meta object literal for the '<em><b>On Exited Actions</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
......@@ -1259,6 +1259,14 @@ public interface FsmPackage extends EPackage {
*/
EReference TRANSITION__GUARD = eINSTANCE.getTransition_Guard();
/**
* The meta object literal for the '<em><b>Event</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference TRANSITION__EVENT = eINSTANCE.getTransition_Event();
/**
* The meta object literal for the '<em><b>Target</b></em>' reference feature.
* <!-- begin-user-doc -->
......@@ -1381,14 +1389,6 @@ public interface FsmPackage extends EPackage {
*/
EAttribute STRING_TO_STRING_MAP__VALUE = eINSTANCE.getStringToStringMap_Value();
/**
* The meta object literal for the '<em><b>Event</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference TRANSITION__EVENT = eINSTANCE.getTransition_Event();
}
} //FsmPackage
......@@ -3,6 +3,7 @@
package fr.supelec.plong9.fsm;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
/**
......@@ -28,7 +29,7 @@ public interface Message extends EObject {
* Returns the value of the '<em><b>Event</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Event</em>' attribute isn't clear,
* If the meaning of the '<em>Event</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
......@@ -56,7 +57,7 @@ public interface Message extends EObject {
* and the value is of type {@link java.lang.String},
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Data</em>' attribute isn't clear,
* If the meaning of the '<em>Data</em>' map isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
......
......@@ -120,36 +120,56 @@ public interface State extends EObject {
EList<Transition> getIncomingTransitions();
/**
* Returns the value of the '<em><b>On Entered Actions</b></em>' containment reference list.
* The list contents are of type {@link fr.supelec.plong9.fsm.Action}.
* Returns the value of the '<em><b>On Entered Actions</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>On Entered Actions</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>On Entered Actions</em>' containment reference list.
* @return the value of the '<em>On Entered Actions</em>' reference.
* @see #setOnEnteredActions(Action)
* @see fr.supelec.plong9.fsm.FsmPackage#getState_OnEnteredActions()
* @model containment="true"
* @model
* @generated
*/
Action getOnEnteredActions();
/**
* Sets the value of the '{@link fr.supelec.plong9.fsm.State#getOnEnteredActions <em>On Entered Actions</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>On Entered Actions</em>' reference.
* @see #getOnEnteredActions()
* @generated
*/
EList<Action> getOnEnteredActions();
void setOnEnteredActions(Action value);
/**
* Returns the value of the '<em><b>On Exited Actions</b></em>' containment reference list.
* The list contents are of type {@link fr.supelec.plong9.fsm.Action}.
* Returns the value of the '<em><b>On Exited Actions</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>On Exited Actions</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>On Exited Actions</em>' containment reference list.
* @return the value of the '<em>On Exited Actions</em>' reference.
* @see #setOnExitedActions(Action)
* @see fr.supelec.plong9.fsm.FsmPackage#getState_OnExitedActions()
* @model containment="true"
* @model
* @generated
*/
Action getOnExitedActions();
/**
* Sets the value of the '{@link fr.supelec.plong9.fsm.State#getOnExitedActions <em>On Exited Actions</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>On Exited Actions</em>' reference.
* @see #getOnExitedActions()
* @generated
*/
EList<Action> getOnExitedActions();
void setOnExitedActions(Action value);
/**
* Returns the value of the '<em><b>Expected Message</b></em>' reference.
......
......@@ -3,6 +3,7 @@
package fr.supelec.plong9.fsm;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
......@@ -124,57 +125,57 @@ public interface Transition extends EObject {
void setGuard(Guard value);
/**
* Returns the value of the '<em><b>Target</b></em>' reference.
* It is bidirectional and its opposite is '{@link fr.supelec.plong9.fsm.State#getIncomingTransitions <em>Incoming Transitions</em>}'.
* Returns the value of the '<em><b>Event</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Target</em>' reference isn't clear,
* If the meaning of the '<em>Event</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Target</em>' reference.
* @see #setTarget(State)
* @see fr.supelec.plong9.fsm.FsmPackage#getTransition_Target()
* @see fr.supelec.plong9.fsm.State#getIncomingTransitions
* @model opposite="incomingTransitions" required="true"
* @return the value of the '<em>Event</em>' reference.
* @see #setEvent(Event)
* @see fr.supelec.plong9.fsm.FsmPackage#getTransition_Event()
* @model required="true"
* @generated
*/
State getTarget();
Event getEvent();
/**
* Sets the value of the '{@link fr.supelec.plong9.fsm.Transition#getTarget <em>Target</em>}' reference.
* Sets the value of the '{@link fr.supelec.plong9.fsm.Transition#getEvent <em>Event</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Target</em>' reference.
* @see #getTarget()
* @param value the new value of the '<em>Event</em>' reference.
* @see #getEvent()
* @generated
*/
void setTarget(State value);
void setEvent(Event value);
/**
* Returns the value of the '<em><b>Event</b></em>' reference.
* Returns the value of the '<em><b>Target</b></em>' reference.
* It is bidirectional and its opposite is '{@link fr.supelec.plong9.fsm.State#getIncomingTransitions <em>Incoming Transitions</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Event</em>' attribute isn't clear,
* If the meaning of the '<em>Target</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Event</em>' reference.
* @see #setEvent(Event)
* @see fr.supelec.plong9.fsm.FsmPackage#getTransition_Event()
* @model required="true"
* @return the value of the '<em>Target</em>' reference.
* @see #setTarget(State)
* @see fr.supelec.plong9.fsm.FsmPackage#getTransition_Target()
* @see fr.supelec.plong9.fsm.State#getIncomingTransitions
* @model opposite="incomingTransitions" required="true"
* @generated
*/
Event getEvent();
State getTarget();
/**
* Sets the value of the '{@link fr.supelec.plong9.fsm.Transition#getEvent <em>Event</em>}' reference.
* Sets the value of the '{@link fr.supelec.plong9.fsm.Transition#getTarget <em>Target</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Event</em>' reference.
* @see #getEvent()
* @param value the new value of the '<em>Target</em>' reference.
* @see #getTarget()
* @generated
*/
void setEvent(Event value);
void setTarget(State value);
} // Transition
......@@ -16,8 +16,8 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
......
......@@ -5,6 +5,7 @@ package fr.supelec.plong9.fsm.impl;
import fr.supelec.plong9.fsm.*;
import java.util.Map;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
......
......@@ -12,6 +12,7 @@ import fr.supelec.plong9.fsm.State;
import fr.supelec.plong9.fsm.Transition;
import java.util.Map;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
......@@ -380,6 +381,15 @@ public class FsmPackageImpl extends EPackageImpl implements FsmPackage {
return (EReference) transitionEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getTransition_Event() {
return (EReference) transitionEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......@@ -506,15 +516,6 @@ public class FsmPackageImpl extends EPackageImpl implements FsmPackage {
return (EAttribute) stringToStringMapEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getTransition_Event() {
return (EReference) transitionEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......@@ -675,11 +676,11 @@ public class FsmPackageImpl extends EPackageImpl implements FsmPackage {
initEReference(getState_IncomingTransitions(), this.getTransition(), this.getTransition_Target(),
"incomingTransitions", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getState_OnEnteredActions(), this.getAction(), null, "onEnteredActions", null, 0, -1,
State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getState_OnExitedActions(), this.getAction(), null, "onExitedActions", null, 0, -1, State.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
initEReference(getState_OnEnteredActions(), this.getAction(), null, "onEnteredActions", null, 0, 1, State.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getState_OnExitedActions(), this.getAction(), null, "onExitedActions", null, 0, 1, State.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getState_ExpectedMessage(), this.getMessage(), null, "expectedMessage", null, 0, 1, State.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
......
......@@ -5,16 +5,19 @@ package fr.supelec.plong9.fsm.impl;
import fr.supelec.plong9.fsm.Event;
import fr.supelec.plong9.fsm.FsmPackage;
import fr.supelec.plong9.fsm.Message;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EcoreEMap;
import org.eclipse.emf.ecore.util.InternalEList;
......@@ -208,7 +211,6 @@ public class MessageImpl extends MinimalEObjectImpl.Container implements Message
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
......
......@@ -22,7 +22,6 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
......@@ -89,24 +88,24 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
protected EList<Transition> incomingTransitions;
/**
* The cached value of the '{@link #getOnEnteredActions() <em>On Entered Actions</em>}' containment reference list.
* The cached value of the '{@link #getOnEnteredActions() <em>On Entered Actions</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOnEnteredActions()
* @generated
* @ordered
*/
protected EList<Action> onEnteredActions;
protected Action onEnteredActions;
/**
* The cached value of the '{@link #getOnExitedActions() <em>On Exited Actions</em>}' containment reference list.
* The cached value of the '{@link #getOnExitedActions() <em>On Exited Actions</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOnExitedActions()
* @generated
* @ordered
*/
protected EList<Action> onExitedActions;
protected Action onExitedActions;
/**
* The cached value of the '{@link #getExpectedMessage() <em>Expected Message</em>}' reference.
......@@ -234,10 +233,15 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
* <!-- end-user-doc -->
* @generated
*/
public EList<Action> getOnEnteredActions() {
if (onEnteredActions == null) {
onEnteredActions = new EObjectContainmentEList<Action>(Action.class, this,
FsmPackage.STATE__ON_ENTERED_ACTIONS);
public Action getOnEnteredActions() {
if (onEnteredActions != null && onEnteredActions.eIsProxy()) {
InternalEObject oldOnEnteredActions = (InternalEObject) onEnteredActions;
onEnteredActions = (Action) eResolveProxy(oldOnEnteredActions);
if (onEnteredActions != oldOnEnteredActions) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmPackage.STATE__ON_ENTERED_ACTIONS,
oldOnEnteredActions, onEnteredActions));
}
}
return onEnteredActions;
}
......@@ -247,10 +251,37 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
* <!-- end-user-doc -->
* @generated
*/
public EList<Action> getOnExitedActions() {
if (onExitedActions == null) {
onExitedActions = new EObjectContainmentEList<Action>(Action.class, this,
FsmPackage.STATE__ON_EXITED_ACTIONS);
public Action basicGetOnEnteredActions() {
return onEnteredActions;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setOnEnteredActions(Action newOnEnteredActions) {
Action oldOnEnteredActions = onEnteredActions;
onEnteredActions = newOnEnteredActions;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FsmPackage.STATE__ON_ENTERED_ACTIONS,
oldOnEnteredActions, onEnteredActions));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Action getOnExitedActions() {
if (onExitedActions != null && onExitedActions.eIsProxy()) {
InternalEObject oldOnExitedActions = (InternalEObject) onExitedActions;
onExitedActions = (Action) eResolveProxy(oldOnExitedActions);
if (onExitedActions != oldOnExitedActions) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmPackage.STATE__ON_EXITED_ACTIONS,
oldOnExitedActions, onExitedActions));
}
}
return onExitedActions;
}
......@@ -260,7 +291,6 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
* <!-- end-user-doc -->
* @generated
*/
<<<<<<< HEAD
public Action basicGetOnExitedActions() {
return onExitedActions;
}
......@@ -323,8 +353,6 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
* <!-- end-user-doc -->
* @generated
*/
=======
>>>>>>> 374413b4f3c72624ca7dff57109f4d08062575e1
@SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
......@@ -357,10 +385,6 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
return ((InternalEList<?>) getOutgoingTransitions()).basicRemove(otherEnd, msgs);
case FsmPackage.STATE__INCOMING_TRANSITIONS:
return ((InternalEList<?>) getIncomingTransitions()).basicRemove(otherEnd, msgs);
case FsmPackage.STATE__ON_ENTERED_ACTIONS:
return ((InternalEList<?>) getOnEnteredActions()).basicRemove(otherEnd, msgs);
case FsmPackage.STATE__ON_EXITED_ACTIONS:
return ((InternalEList<?>) getOnExitedActions()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
......@@ -396,9 +420,10 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
case FsmPackage.STATE__INCOMING_TRANSITIONS:
return getIncomingTransitions();
case FsmPackage.STATE__ON_ENTERED_ACTIONS:
return getOnEnteredActions();
if (resolve)
return getOnEnteredActions();
return basicGetOnEnteredActions();
case FsmPackage.STATE__ON_EXITED_ACTIONS:
<<<<<<< HEAD
if (resolve)
return getOnExitedActions();
return basicGetOnExitedActions();
......@@ -406,9 +431,6 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
if (resolve)
return getExpectedMessage();
return basicGetExpectedMessage();
=======
return getOnExitedActions();
>>>>>>> 374413b4f3c72624ca7dff57109f4d08062575e1
}
return super.eGet(featureID, resolve, coreType);
}
......@@ -437,12 +459,10 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
getIncomingTransitions().addAll((Collection<? extends Transition>) newValue);
return;
case FsmPackage.STATE__ON_ENTERED_ACTIONS:
getOnEnteredActions().clear();
getOnEnteredActions().addAll((Collection<? extends Action>) newValue);
setOnEnteredActions((Action) newValue);
return;
case FsmPackage.STATE__ON_EXITED_ACTIONS:
getOnExitedActions().clear();
getOnExitedActions().addAll((Collection<? extends Action>) newValue);
setOnExitedActions((Action) newValue);
return;
case FsmPackage.STATE__EXPECTED_MESSAGE:
setExpectedMessage((Message) newValue);
......@@ -472,10 +492,10 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
getIncomingTransitions().clear();
return;
case FsmPackage.STATE__ON_ENTERED_ACTIONS:
getOnEnteredActions().clear();
setOnEnteredActions((Action) null);
return;
case FsmPackage.STATE__ON_EXITED_ACTIONS:
getOnExitedActions().clear();
setOnExitedActions((Action) null);
return;
case FsmPackage.STATE__EXPECTED_MESSAGE:
setExpectedMessage((Message) null);
......@@ -501,15 +521,11 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State {
case FsmPackage.STATE__INCOMING_TRANSITIONS:
return incomingTransitions != null && !incomingTransitions.isEmpty();
case FsmPackage.STATE__ON_ENTERED_ACTIONS:
return onEnteredActions != null && !onEnteredActions.isEmpty();
return onEnteredActions != null;
case FsmPackage.STATE__ON_EXITED_ACTIONS:
<<<<<<< HEAD
return onExitedActions != null;
case FsmPackage.STATE__EXPECTED_MESSAGE:
return expectedMessage != null;
=======
return onExitedActions != null && !onExitedActions.isEmpty();
>>>>>>> 374413b4f3c72624ca7dff57109f4d08062575e1
}
return super.eIsSet(featureID);
}
......
......@@ -10,10 +10,12 @@ import fr.supelec.plong9.fsm.State;
import fr.supelec.plong9.fsm.Transition;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
......@@ -237,6 +239,45 @@ public class TransitionImpl extends MinimalEObjectImpl.Container implements Tran
eNotify(new ENotificationImpl(this, Notification.SET, FsmPackage.TRANSITION__GUARD, oldGuard, guard));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Event getEvent() {
if (event != null && event.eIsProxy()) {
InternalEObject oldEvent = (InternalEObject) event;
event = (Event) eResolveProxy(oldEvent);
if (event != oldEvent) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmPackage.TRANSITION__EVENT, oldEvent,
event));