Bug 514260 - [BPMN] IllegalArgumentException: incomingConversationLinks /
outgoingConversationLinks
merge from papurys/streams/2.0-maintenance fcb00b6afd
Change-Id: I519ed8c9fbc58ae740d148bc8658641815f5b297
Signed-off-by: Géry Deloge <gery.deloge@cea.fr>
diff --git a/org.eclipse.papyrus.bpmn/custom-src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementCustom.java b/org.eclipse.papyrus.bpmn/custom-src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementCustom.java
index a581520..b761eae 100755
--- a/org.eclipse.papyrus.bpmn/custom-src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementCustom.java
+++ b/org.eclipse.papyrus.bpmn/custom-src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementCustom.java
@@ -69,7 +69,7 @@
}
}
if (flowElementsContainer == null) {
- log.error("no container for " + flowElement);
+ log.info("no container for " + flowElement);
}
return flowElementsContainer;
}
diff --git a/org.eclipse.papyrus.bpmn/model/BPMNProfile.ecore b/org.eclipse.papyrus.bpmn/model/BPMNProfile.ecore
index 4223f5b..fd4a3b6 100755
--- a/org.eclipse.papyrus.bpmn/model/BPMNProfile.ecore
+++ b/org.eclipse.papyrus.bpmn/model/BPMNProfile.ecore
@@ -42,6 +42,16 @@
eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//ActivityGroup"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FlowNode" abstract="true" eSuperTypes="#//FlowElement">
+ <eAnnotations source="duplicates">
+ <contents xsi:type="ecore:EReference" name="incoming" ordered="false" upperBound="-1"
+ eType="#//SequenceFlow" eOpposite="#//SequenceFlow/targetRef">
+ <eAnnotations source="redefines" references="#//BaseElement/incoming"/>
+ </contents>
+ <contents xsi:type="ecore:EReference" name="outgoing" ordered="false" upperBound="-1"
+ eType="#//SequenceFlow" eOpposite="#//SequenceFlow/sourceRef">
+ <eAnnotations source="redefines" references="#//BaseElement/outgoing"/>
+ </contents>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityNode" ordered="false"
eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//ActivityNode"/>
</eClassifiers>
@@ -445,6 +455,10 @@
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="conditionExpression" ordered="false"
eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"
+ lowerBound="1" eType="#//FlowNode" volatile="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"
+ lowerBound="1" eType="#//FlowNode" volatile="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BPMNExpression" eSuperTypes="#//BaseElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueExpression"
@@ -1462,6 +1476,17 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="self.structureRef = self.base_Class"/>
</eAnnotations>
+ <eAnnotations source="duplicates">
+ <eAnnotations source="structureRef">
+ <details key="eType" value="uml::Class"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="structureRef" ordered="false" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element">
+ <eAnnotations source="redefines" references="#//ItemDefinition/structureRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.base_Class"/>
+ </eAnnotations>
+ </contents>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="errorCode" ordered="false"
eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
</eClassifiers>
@@ -1575,7 +1600,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="outerParticipantRef" ordered="false"
lowerBound="1" eType="#//Participant"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Participant" eSuperTypes="#//BaseElement">
+ <eClassifiers xsi:type="ecore:EClass" name="Participant" eSuperTypes="#//BaseElement #//InteractionNode">
<eOperations name="Participantownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="Participant.ownership"/>
@@ -1792,8 +1817,12 @@
upperBound="-1" eType="#//BPMNInterface"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InteractionNode" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
- lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InteractionNode_Element"
+ ordered="false" lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="base_Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outgoingConversationLinks"
ordered="false" upperBound="-1" eType="#//ConversationLink" eOpposite="#//ConversationLink/sourceRef"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="incomingConversationLinks"
@@ -2001,7 +2030,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"
eType="#//BPMNMessage"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ConversationNode" abstract="true" eSuperTypes="#//InteractionNode">
+ <eClassifiers xsi:type="ecore:EClass" name="ConversationNode" abstract="true" eSuperTypes="#//BaseElement #//InteractionNode">
<eOperations name="ConversationNodeparticipantRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="ConversationNode.participantRefs"/>
@@ -2274,6 +2303,15 @@
eType="#//BPMNProcess" eOpposite="#//BPMNProcess/resources"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResourceAssignmentExpression" eSuperTypes="#//BPMNExpression">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_OpaqueExpression">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_OpaqueExpression" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//OpaqueExpression">
+ <eAnnotations source="redefines" references="#//BPMNExpression/base_OpaqueExpression"/>
+ </contents>
+ </eAnnotations>
<eOperations name="ResourceAssignmentExpressionexpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="ResourceAssignmentExpression.expression"/>
@@ -2572,7 +2610,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Event" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Event"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BPMNActivity" abstract="true" eSuperTypes="#//FlowNode">
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNActivity" abstract="true" eSuperTypes="#//FlowNode #//InteractionNode">
<eOperations name="BPMNActivityresources" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="BPMNActivity.resources"/>
@@ -2734,6 +2772,15 @@
upperBound="-1" eType="#//ResourceRole"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BoundaryEvent" eSuperTypes="#//CatchEvent">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_AcceptEventAction">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_AcceptEventAction" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//AcceptEventAction">
+ <eAnnotations source="redefines" references="#//CatchEvent/base_AcceptEventAction"/>
+ </contents>
+ </eAnnotations>
<eOperations name="boundaryEventattachedToRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="boundaryEvent.attachedToRef"/>
@@ -2795,7 +2842,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputAssociation"
ordered="false" upperBound="-1" eType="#//DataOutputAssociation"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BPMNEvent" abstract="true" eSuperTypes="#//FlowNode">
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNEvent" abstract="true" eSuperTypes="#//FlowNode #//InteractionNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="eventClass" ordered="false"
eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="_eventDefinitions" ordered="false"
@@ -2999,6 +3046,17 @@
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//CallEvent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Escalation" eSuperTypes="#//ItemDefinition">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="structureRef">
+ <details key="eType" value="uml::Class"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="structureRef" ordered="false" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element">
+ <eAnnotations source="redefines" references="#//ItemDefinition/structureRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.base_Class"/>
+ </eAnnotations>
+ </contents>
+ </eAnnotations>
<eOperations name="EscalationstructureRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="Escalation.structureRef"/>
@@ -3041,6 +3099,18 @@
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//CallEvent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BPMNSignal" eSuperTypes="#//ItemDefinition">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="structureRef">
+ <details key="lowerBound" value="1"/>
+ <details key="eType" value="uml::Class"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="structureRef" ordered="false" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element">
+ <eAnnotations source="redefines" references="#//ItemDefinition/structureRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.base_Class"/>
+ </eAnnotations>
+ </contents>
+ </eAnnotations>
<eOperations name="BPMNSignalstructureRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="BPMNSignal.structureRef"/>
@@ -3157,7 +3227,17 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//CallEvent"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="IntermediateCatchEvent" eSuperTypes="#//CatchEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="IntermediateCatchEvent" eSuperTypes="#//CatchEvent">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_AcceptEventAction">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_AcceptEventAction" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//AcceptEventAction">
+ <eAnnotations source="redefines" references="#//CatchEvent/base_AcceptEventAction"/>
+ </contents>
+ </eAnnotations>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntermediateThrowEvent" eSuperTypes="#//ThrowEvent">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_SendObjectAction"
ordered="false" lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//SendObjectAction"/>
@@ -3166,7 +3246,17 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//CallEvent"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ImplicitThrowEvent" eSuperTypes="#//ThrowEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ImplicitThrowEvent" eSuperTypes="#//ThrowEvent">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_CallOperationAction">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_CallOperationAction" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//CallOperationAction">
+ <eAnnotations source="redefines" references="#//ThrowEvent/base_CallOperationAction"/>
+ </contents>
+ </eAnnotations>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CancelEventDefinition" eSuperTypes="#//EventDefinition">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//CallEvent"/>
diff --git a/org.eclipse.papyrus.bpmn/model/bpmn.profile.genmodel b/org.eclipse.papyrus.bpmn/model/bpmn.profile.genmodel
index 8bb4ca3..c853f21 100755
--- a/org.eclipse.papyrus.bpmn/model/bpmn.profile.genmodel
+++ b/org.eclipse.papyrus.bpmn/model/bpmn.profile.genmodel
@@ -10,12 +10,12 @@
<details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
<details key="UNION_PROPERTIES" value="REPORT"/>
<details key="UNTYPED_PROPERTIES" value="REPORT"/>
- <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+ <details key="DUPLICATE_FEATURES" value="PROCESS"/>
<details key="SUBSETTING_PROPERTIES" value="REPORT"/>
<details key="VALIDATION_DELEGATES" value="IGNORE"/>
<details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
<details key="COMMENTS" value="PROCESS"/>
- <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+ <details key="DUPLICATE_FEATURE_INHERITANCE" value="PROCESS"/>
<details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
<details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
<details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
@@ -245,6 +245,10 @@
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute BPMNProfile.ecore#//SequenceFlow/isImmediate"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference BPMNProfile.ecore#//SequenceFlow/conditionExpression"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference BPMNProfile.ecore#//SequenceFlow/sourceRef"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference BPMNProfile.ecore#//SequenceFlow/targetRef"/>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="BPMNProfile.ecore#//SequenceFlow/SequenceFlowconditionExpression">
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="BPMNProfile.ecore#//SequenceFlow/SequenceFlowconditionExpression/diagnostics"/>
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="BPMNProfile.ecore#//SequenceFlow/SequenceFlowconditionExpression/context"/>
@@ -717,7 +721,7 @@
</genClasses>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="BPMNProfile.ecore#//InteractionNode">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
- propertySortChoices="true" ecoreFeature="ecore:EReference BPMNProfile.ecore#//InteractionNode/base_Element"/>
+ propertySortChoices="true" ecoreFeature="ecore:EReference BPMNProfile.ecore#//InteractionNode/base_InteractionNode_Element"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference BPMNProfile.ecore#//InteractionNode/outgoingConversationLinks"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java
index dda361f..f203ac7 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java
@@ -35,7 +35,7 @@
* @model abstract="true"
* @generated
*/
-public interface BPMNActivity extends FlowNode {
+public interface BPMNActivity extends FlowNode, InteractionNode {
/**
* Returns the value of the '<em><b>Is For Compensation</b></em>' attribute.
* The default value is <code>"false"</code>.
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java
index 3d82053..97dbbb6 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java
@@ -23,7 +23,7 @@
* @model abstract="true"
* @generated
*/
-public interface BPMNEvent extends FlowNode {
+public interface BPMNEvent extends FlowNode, InteractionNode {
/**
* Returns the value of the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java
index 832a2cd..0889af2 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java
@@ -2328,13 +2328,31 @@
int SEQUENCE_FLOW__CONDITION_EXPRESSION = FLOW_ELEMENT_FEATURE_COUNT + 2;
/**
+ * The feature id for the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__SOURCE_REF = FLOW_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__TARGET_REF = FLOW_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
* The number of structural features of the '<em>Sequence Flow</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int SEQUENCE_FLOW_FEATURE_COUNT = FLOW_ELEMENT_FEATURE_COUNT + 3;
+ int SEQUENCE_FLOW_FEATURE_COUNT = FLOW_ELEMENT_FEATURE_COUNT + 5;
/**
* The operation id for the '<em>Sequence Flowcondition Expression</em>' operation.
@@ -6811,13 +6829,40 @@
int PARTICIPANT__INCOMING = BASE_ELEMENT__INCOMING;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__OUTGOING_CONVERSATION_LINKS = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__INCOMING_CONVERSATION_LINKS = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
* The feature id for the '<em><b>Base Property</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PARTICIPANT__BASE_PROPERTY = BASE_ELEMENT_FEATURE_COUNT + 0;
+ int PARTICIPANT__BASE_PROPERTY = BASE_ELEMENT_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Process Ref</b></em>' reference.
@@ -6826,7 +6871,7 @@
* @generated
* @ordered
*/
- int PARTICIPANT__PROCESS_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+ int PARTICIPANT__PROCESS_REF = BASE_ELEMENT_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Participant Multiplicity</b></em>' reference.
@@ -6835,7 +6880,7 @@
* @generated
* @ordered
*/
- int PARTICIPANT__PARTICIPANT_MULTIPLICITY = BASE_ELEMENT_FEATURE_COUNT + 2;
+ int PARTICIPANT__PARTICIPANT_MULTIPLICITY = BASE_ELEMENT_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Partner Entity Ref</b></em>' reference list.
@@ -6844,7 +6889,7 @@
* @generated
* @ordered
*/
- int PARTICIPANT__PARTNER_ENTITY_REF = BASE_ELEMENT_FEATURE_COUNT + 3;
+ int PARTICIPANT__PARTNER_ENTITY_REF = BASE_ELEMENT_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Partner Role Ref</b></em>' reference list.
@@ -6853,7 +6898,7 @@
* @generated
* @ordered
*/
- int PARTICIPANT__PARTNER_ROLE_REF = BASE_ELEMENT_FEATURE_COUNT + 4;
+ int PARTICIPANT__PARTNER_ROLE_REF = BASE_ELEMENT_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>Interface Refs</b></em>' reference list.
@@ -6862,7 +6907,7 @@
* @generated
* @ordered
*/
- int PARTICIPANT__INTERFACE_REFS = BASE_ELEMENT_FEATURE_COUNT + 5;
+ int PARTICIPANT__INTERFACE_REFS = BASE_ELEMENT_FEATURE_COUNT + 8;
/**
* The number of structural features of the '<em>Participant</em>' class.
@@ -6871,7 +6916,7 @@
* @generated
* @ordered
*/
- int PARTICIPANT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 6;
+ int PARTICIPANT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 9;
/**
* The operation id for the '<em>Participantownership</em>' operation.
@@ -6974,13 +7019,13 @@
int INTERACTION_NODE = 47;
/**
- * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INTERACTION_NODE__BASE_ELEMENT = 0;
+ int INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT = 0;
/**
* The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
@@ -7836,13 +7881,76 @@
int CONVERSATION_NODE = 54;
/**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
* The feature id for the '<em><b>Base Element</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONVERSATION_NODE__BASE_ELEMENT = INTERACTION_NODE__BASE_ELEMENT;
+ int CONVERSATION_NODE__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT = BASE_ELEMENT_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
@@ -7851,7 +7959,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS = INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS;
+ int CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS = BASE_ELEMENT_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
@@ -7860,7 +7968,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS = INTERACTION_NODE__INCOMING_CONVERSATION_LINKS;
+ int CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS = BASE_ELEMENT_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Base Information Flow</b></em>' reference.
@@ -7869,7 +7977,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE__BASE_INFORMATION_FLOW = INTERACTION_NODE_FEATURE_COUNT + 0;
+ int CONVERSATION_NODE__BASE_INFORMATION_FLOW = BASE_ELEMENT_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Message Flow Refs</b></em>' reference list.
@@ -7878,7 +7986,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE__MESSAGE_FLOW_REFS = INTERACTION_NODE_FEATURE_COUNT + 1;
+ int CONVERSATION_NODE__MESSAGE_FLOW_REFS = BASE_ELEMENT_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Correlation Keys</b></em>' reference list.
@@ -7887,7 +7995,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE__CORRELATION_KEYS = INTERACTION_NODE_FEATURE_COUNT + 2;
+ int CONVERSATION_NODE__CORRELATION_KEYS = BASE_ELEMENT_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Participant Refs</b></em>' reference list.
@@ -7896,7 +8004,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE__PARTICIPANT_REFS = INTERACTION_NODE_FEATURE_COUNT + 3;
+ int CONVERSATION_NODE__PARTICIPANT_REFS = BASE_ELEMENT_FEATURE_COUNT + 6;
/**
* The number of structural features of the '<em>Conversation Node</em>' class.
@@ -7905,7 +8013,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE_FEATURE_COUNT = INTERACTION_NODE_FEATURE_COUNT + 4;
+ int CONVERSATION_NODE_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 7;
/**
* The operation id for the '<em>Conversation Nodeparticipant Refs</em>' operation.
@@ -7914,7 +8022,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP = INTERACTION_NODE_OPERATION_COUNT + 0;
+ int CONVERSATION_NODE___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
/**
* The number of operations of the '<em>Conversation Node</em>' class.
@@ -7923,7 +8031,7 @@
* @generated
* @ordered
*/
- int CONVERSATION_NODE_OPERATION_COUNT = INTERACTION_NODE_OPERATION_COUNT + 1;
+ int CONVERSATION_NODE_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 1;
/**
* The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationKeyImpl <em>Correlation Key</em>}' class.
@@ -10554,13 +10662,40 @@
int BPMN_ACTIVITY__BASE_ACTIVITY_NODE = FLOW_NODE__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT = FLOW_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS = FLOW_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS = FLOW_NODE_FEATURE_COUNT + 2;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__IS_FOR_COMPENSATION = FLOW_NODE_FEATURE_COUNT + 0;
+ int BPMN_ACTIVITY__IS_FOR_COMPENSATION = FLOW_NODE_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Start Quantity</b></em>' attribute.
@@ -10569,7 +10704,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__START_QUANTITY = FLOW_NODE_FEATURE_COUNT + 1;
+ int BPMN_ACTIVITY__START_QUANTITY = FLOW_NODE_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
@@ -10578,7 +10713,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__COMPLETION_QUANTITY = FLOW_NODE_FEATURE_COUNT + 2;
+ int BPMN_ACTIVITY__COMPLETION_QUANTITY = FLOW_NODE_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Base Action</b></em>' reference.
@@ -10587,7 +10722,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__BASE_ACTION = FLOW_NODE_FEATURE_COUNT + 3;
+ int BPMN_ACTIVITY__BASE_ACTION = FLOW_NODE_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Activity Class</b></em>' reference.
@@ -10596,7 +10731,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__ACTIVITY_CLASS = FLOW_NODE_FEATURE_COUNT + 4;
+ int BPMN_ACTIVITY__ACTIVITY_CLASS = FLOW_NODE_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>Properties</b></em>' reference list.
@@ -10605,7 +10740,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__PROPERTIES = FLOW_NODE_FEATURE_COUNT + 5;
+ int BPMN_ACTIVITY__PROPERTIES = FLOW_NODE_FEATURE_COUNT + 8;
/**
* The feature id for the '<em><b>Default</b></em>' reference.
@@ -10614,7 +10749,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__DEFAULT = FLOW_NODE_FEATURE_COUNT + 6;
+ int BPMN_ACTIVITY__DEFAULT = FLOW_NODE_FEATURE_COUNT + 9;
/**
* The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
@@ -10623,7 +10758,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__BOUNDARY_EVENT_REFS = FLOW_NODE_FEATURE_COUNT + 7;
+ int BPMN_ACTIVITY__BOUNDARY_EVENT_REFS = FLOW_NODE_FEATURE_COUNT + 10;
/**
* The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
@@ -10632,7 +10767,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS = FLOW_NODE_FEATURE_COUNT + 8;
+ int BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS = FLOW_NODE_FEATURE_COUNT + 11;
/**
* The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
@@ -10641,7 +10776,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS = FLOW_NODE_FEATURE_COUNT + 9;
+ int BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS = FLOW_NODE_FEATURE_COUNT + 12;
/**
* The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
@@ -10650,7 +10785,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__LOOP_CHARACTERISTICS = FLOW_NODE_FEATURE_COUNT + 10;
+ int BPMN_ACTIVITY__LOOP_CHARACTERISTICS = FLOW_NODE_FEATURE_COUNT + 13;
/**
* The feature id for the '<em><b>Resources</b></em>' reference list.
@@ -10659,7 +10794,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY__RESOURCES = FLOW_NODE_FEATURE_COUNT + 11;
+ int BPMN_ACTIVITY__RESOURCES = FLOW_NODE_FEATURE_COUNT + 14;
/**
* The number of structural features of the '<em>BPMN Activity</em>' class.
@@ -10668,7 +10803,7 @@
* @generated
* @ordered
*/
- int BPMN_ACTIVITY_FEATURE_COUNT = FLOW_NODE_FEATURE_COUNT + 12;
+ int BPMN_ACTIVITY_FEATURE_COUNT = FLOW_NODE_FEATURE_COUNT + 15;
/**
* The operation id for the '<em>BPMN Activityresources</em>' operation.
@@ -10852,13 +10987,40 @@
int BPMN_EVENT__BASE_ACTIVITY_NODE = FLOW_NODE__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT = FLOW_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__OUTGOING_CONVERSATION_LINKS = FLOW_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__INCOMING_CONVERSATION_LINKS = FLOW_NODE_FEATURE_COUNT + 2;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int BPMN_EVENT__EVENT_CLASS = FLOW_NODE_FEATURE_COUNT + 0;
+ int BPMN_EVENT__EVENT_CLASS = FLOW_NODE_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>event Definitions</b></em>' reference list.
@@ -10867,7 +11029,7 @@
* @generated
* @ordered
*/
- int BPMN_EVENT__EVENT_DEFINITIONS = FLOW_NODE_FEATURE_COUNT + 1;
+ int BPMN_EVENT__EVENT_DEFINITIONS = FLOW_NODE_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Properties</b></em>' reference list.
@@ -10876,7 +11038,7 @@
* @generated
* @ordered
*/
- int BPMN_EVENT__PROPERTIES = FLOW_NODE_FEATURE_COUNT + 2;
+ int BPMN_EVENT__PROPERTIES = FLOW_NODE_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
@@ -10885,7 +11047,7 @@
* @generated
* @ordered
*/
- int BPMN_EVENT__EVENT_DEFINITION_REFS = FLOW_NODE_FEATURE_COUNT + 3;
+ int BPMN_EVENT__EVENT_DEFINITION_REFS = FLOW_NODE_FEATURE_COUNT + 6;
/**
* The number of structural features of the '<em>BPMN Event</em>' class.
@@ -10894,7 +11056,7 @@
* @generated
* @ordered
*/
- int BPMN_EVENT_FEATURE_COUNT = FLOW_NODE_FEATURE_COUNT + 4;
+ int BPMN_EVENT_FEATURE_COUNT = FLOW_NODE_FEATURE_COUNT + 7;
/**
* The number of operations of the '<em>BPMN Event</em>' class.
@@ -11024,6 +11186,33 @@
int CATCH_EVENT__BASE_ACTIVITY_NODE = BPMN_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__BASE_INTERACTION_NODE_ELEMENT = BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__OUTGOING_CONVERSATION_LINKS = BPMN_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__INCOMING_CONVERSATION_LINKS = BPMN_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -11241,6 +11430,33 @@
int BOUNDARY_EVENT__BASE_ACTIVITY_NODE = CATCH_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__BASE_INTERACTION_NODE_ELEMENT = CATCH_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__OUTGOING_CONVERSATION_LINKS = CATCH_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__INCOMING_CONVERSATION_LINKS = CATCH_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -13007,6 +13223,33 @@
int THROW_EVENT__BASE_ACTIVITY_NODE = BPMN_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__BASE_INTERACTION_NODE_ELEMENT = BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__OUTGOING_CONVERSATION_LINKS = BPMN_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__INCOMING_CONVERSATION_LINKS = BPMN_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -13215,6 +13458,33 @@
int END_EVENT__BASE_ACTIVITY_NODE = THROW_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__BASE_INTERACTION_NODE_ELEMENT = THROW_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__OUTGOING_CONVERSATION_LINKS = THROW_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__INCOMING_CONVERSATION_LINKS = THROW_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -13577,6 +13847,33 @@
int START_EVENT__BASE_ACTIVITY_NODE = CATCH_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__BASE_INTERACTION_NODE_ELEMENT = CATCH_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__OUTGOING_CONVERSATION_LINKS = CATCH_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__INCOMING_CONVERSATION_LINKS = CATCH_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -14229,6 +14526,33 @@
int INTERMEDIATE_CATCH_EVENT__BASE_ACTIVITY_NODE = CATCH_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__BASE_INTERACTION_NODE_ELEMENT = CATCH_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__OUTGOING_CONVERSATION_LINKS = CATCH_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__INCOMING_CONVERSATION_LINKS = CATCH_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -14446,6 +14770,33 @@
int INTERMEDIATE_THROW_EVENT__BASE_ACTIVITY_NODE = THROW_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__BASE_INTERACTION_NODE_ELEMENT = THROW_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__OUTGOING_CONVERSATION_LINKS = THROW_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__INCOMING_CONVERSATION_LINKS = THROW_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -14790,6 +15141,33 @@
int IMPLICIT_THROW_EVENT__BASE_ACTIVITY_NODE = THROW_EVENT__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__BASE_INTERACTION_NODE_ELEMENT = THROW_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__OUTGOING_CONVERSATION_LINKS = THROW_EVENT__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__INCOMING_CONVERSATION_LINKS = THROW_EVENT__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Event Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -16194,6 +16572,33 @@
int TASK__BASE_ACTIVITY_NODE = BPMN_ACTIVITY__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__BASE_INTERACTION_NODE_ELEMENT = BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__OUTGOING_CONVERSATION_LINKS = BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__INCOMING_CONVERSATION_LINKS = BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -16501,6 +16906,33 @@
int USER_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__BASE_INTERACTION_NODE_ELEMENT = TASK__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__OUTGOING_CONVERSATION_LINKS = TASK__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__INCOMING_CONVERSATION_LINKS = TASK__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -17731,6 +18163,33 @@
int MANUAL_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__BASE_INTERACTION_NODE_ELEMENT = TASK__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__OUTGOING_CONVERSATION_LINKS = TASK__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__INCOMING_CONVERSATION_LINKS = TASK__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -18120,6 +18579,24 @@
int SUB_CONVERSATION = 114;
/**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__ID = CONVERSATION_NODE__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__EXTENSION_VALUES = CONVERSATION_NODE__EXTENSION_VALUES;
+
+ /**
* The feature id for the '<em><b>Base Element</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -18129,6 +18606,51 @@
int SUB_CONVERSATION__BASE_ELEMENT = CONVERSATION_NODE__BASE_ELEMENT;
/**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__DOCUMENTATION = CONVERSATION_NODE__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__EXTENSION_DEFINITIONS = CONVERSATION_NODE__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__OUTGOING = CONVERSATION_NODE__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__INCOMING = CONVERSATION_NODE__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__BASE_INTERACTION_NODE_ELEMENT = CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
* The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -18446,6 +18968,24 @@
int CALL_CONVERSATION = 116;
/**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__ID = CONVERSATION_NODE__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__EXTENSION_VALUES = CONVERSATION_NODE__EXTENSION_VALUES;
+
+ /**
* The feature id for the '<em><b>Base Element</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -18455,6 +18995,51 @@
int CALL_CONVERSATION__BASE_ELEMENT = CONVERSATION_NODE__BASE_ELEMENT;
/**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__DOCUMENTATION = CONVERSATION_NODE__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__EXTENSION_DEFINITIONS = CONVERSATION_NODE__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__OUTGOING = CONVERSATION_NODE__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__INCOMING = CONVERSATION_NODE__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__BASE_INTERACTION_NODE_ELEMENT = CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
* The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -18591,6 +19176,24 @@
int CONVERSATION = 117;
/**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__ID = CONVERSATION_NODE__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__EXTENSION_VALUES = CONVERSATION_NODE__EXTENSION_VALUES;
+
+ /**
* The feature id for the '<em><b>Base Element</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -18600,6 +19203,51 @@
int CONVERSATION__BASE_ELEMENT = CONVERSATION_NODE__BASE_ELEMENT;
/**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__DOCUMENTATION = CONVERSATION_NODE__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__EXTENSION_DEFINITIONS = CONVERSATION_NODE__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__OUTGOING = CONVERSATION_NODE__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__INCOMING = CONVERSATION_NODE__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__BASE_INTERACTION_NODE_ELEMENT = CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
* The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -18799,6 +19447,33 @@
int SUB_PROCESS__BASE_ACTIVITY_NODE = BPMN_ACTIVITY__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__BASE_INTERACTION_NODE_ELEMENT = BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__OUTGOING_CONVERSATION_LINKS = BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__INCOMING_CONVERSATION_LINKS = BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -19151,6 +19826,33 @@
int CALL_ACTIVITY__BASE_ACTIVITY_NODE = BPMN_ACTIVITY__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT = BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__OUTGOING_CONVERSATION_LINKS = BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__INCOMING_CONVERSATION_LINKS = BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -19476,6 +20178,33 @@
int BUSINESS_RULE_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__BASE_INTERACTION_NODE_ELEMENT = TASK__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__OUTGOING_CONVERSATION_LINKS = TASK__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__INCOMING_CONVERSATION_LINKS = TASK__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -19928,6 +20657,33 @@
int AD_HOC_SUB_PROCESS__BASE_ACTIVITY_NODE = SUB_PROCESS__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__BASE_INTERACTION_NODE_ELEMENT = SUB_PROCESS__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__OUTGOING_CONVERSATION_LINKS = SUB_PROCESS__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__INCOMING_CONVERSATION_LINKS = SUB_PROCESS__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -20316,6 +21072,33 @@
int SCRIPT_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__BASE_INTERACTION_NODE_ELEMENT = TASK__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__OUTGOING_CONVERSATION_LINKS = TASK__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__INCOMING_CONVERSATION_LINKS = TASK__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -20668,6 +21451,33 @@
int SEND_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__BASE_INTERACTION_NODE_ELEMENT = TASK__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__OUTGOING_CONVERSATION_LINKS = TASK__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__INCOMING_CONVERSATION_LINKS = TASK__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -21020,6 +21830,33 @@
int TRANSACTION__BASE_ACTIVITY_NODE = SUB_PROCESS__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__BASE_INTERACTION_NODE_ELEMENT = SUB_PROCESS__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__OUTGOING_CONVERSATION_LINKS = SUB_PROCESS__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__INCOMING_CONVERSATION_LINKS = SUB_PROCESS__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -21535,6 +22372,33 @@
int RECEIVE_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__BASE_INTERACTION_NODE_ELEMENT = TASK__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__OUTGOING_CONVERSATION_LINKS = TASK__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__INCOMING_CONVERSATION_LINKS = TASK__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -21896,6 +22760,33 @@
int SERVICE_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
/**
+ * The feature id for the '<em><b>Base Interaction Node Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__BASE_INTERACTION_NODE_ELEMENT = TASK__BASE_INTERACTION_NODE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__OUTGOING_CONVERSATION_LINKS = TASK__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__INCOMING_CONVERSATION_LINKS = TASK__INCOMING_CONVERSATION_LINKS;
+
+ /**
* The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -23288,6 +24179,28 @@
EReference getSequenceFlow_ConditionExpression();
/**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getSourceRef <em>Source Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getSourceRef()
+ * @see #getSequenceFlow()
+ * @generated
+ */
+ EReference getSequenceFlow_SourceRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getTargetRef <em>Target Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getTargetRef()
+ * @see #getSequenceFlow()
+ * @generated
+ */
+ EReference getSequenceFlow_TargetRef();
+
+ /**
* Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#SequenceFlowconditionExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Flowcondition Expression</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -25400,15 +26313,15 @@
EClass getInteractionNode();
/**
- * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element <em>Base Element</em>}'.
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Base Element</em>'.
- * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element()
+ * @return the meta object for the reference '<em>Base Interaction Node Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_InteractionNode_Element()
* @see #getInteractionNode()
* @generated
*/
- EReference getInteractionNode_Base_Element();
+ EReference getInteractionNode_Base_InteractionNode_Element();
/**
* Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}'.
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java
index 2da0c39..81b3b4e 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java
@@ -27,7 +27,7 @@
* @model abstract="true"
* @generated
*/
-public interface ConversationNode extends InteractionNode {
+public interface ConversationNode extends BaseElement, InteractionNode {
/**
* Returns the value of the '<em><b>Base Information Flow</b></em>' reference.
* <!-- begin-user-doc -->
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java
index 4ae1277..4afbe6c 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java
@@ -15,7 +15,7 @@
* The following features are supported:
* </p>
* <ul>
- * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element <em>Base Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
* </ul>
@@ -26,30 +26,31 @@
*/
public interface InteractionNode extends EObject {
/**
- * Returns the value of the '<em><b>Base Element</b></em>' reference.
+ * Returns the value of the '<em><b>Base Interaction Node Element</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Base Element</em>' reference isn't clear,
+ * If the meaning of the '<em>Base Interaction Node Element</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Base Element</em>' reference.
- * @see #setBase_Element(Element)
- * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInteractionNode_Base_Element()
+ * @return the value of the '<em>Base Interaction Node Element</em>' reference.
+ * @see #setBase_InteractionNode_Element(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInteractionNode_Base_InteractionNode_Element()
* @model required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='base_Element'"
* @generated
*/
- Element getBase_Element();
+ Element getBase_InteractionNode_Element();
/**
- * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element <em>Base Element</em>}' reference.
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Base Element</em>' reference.
- * @see #getBase_Element()
+ * @param value the new value of the '<em>Base Interaction Node Element</em>' reference.
+ * @see #getBase_InteractionNode_Element()
* @generated
*/
- void setBase_Element(Element value);
+ void setBase_InteractionNode_Element(Element value);
/**
* Returns the value of the '<em><b>Outgoing Conversation Links</b></em>' reference list.
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java
index 82e3914..4972031 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java
@@ -29,7 +29,7 @@
* @model
* @generated
*/
-public interface Participant extends BaseElement {
+public interface Participant extends BaseElement, InteractionNode {
/**
* Returns the value of the '<em><b>Base Property</b></em>' reference.
* <!-- begin-user-doc -->
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java
index 07fef75..70202ad 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java
@@ -19,6 +19,8 @@
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getBase_ControlFlow <em>Base Control Flow</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#isImmediate <em>Is Immediate</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getConditionExpression <em>Condition Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getSourceRef <em>Source Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getTargetRef <em>Target Ref</em>}</li>
* </ul>
*
* @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSequenceFlow()
@@ -105,6 +107,58 @@
void setConditionExpression(BPMNExpression value);
/**
+ * Returns the value of the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source Ref</em>' reference.
+ * @see #setSourceRef(FlowNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSequenceFlow_SourceRef()
+ * @model required="true" volatile="true" ordered="false"
+ * @generated
+ */
+ FlowNode getSourceRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getSourceRef <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source Ref</em>' reference.
+ * @see #getSourceRef()
+ * @generated
+ */
+ void setSourceRef(FlowNode value);
+
+ /**
+ * Returns the value of the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Ref</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 Ref</em>' reference.
+ * @see #setTargetRef(FlowNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSequenceFlow_TargetRef()
+ * @model required="true" volatile="true" ordered="false"
+ * @generated
+ */
+ FlowNode getTargetRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getTargetRef <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Ref</em>' reference.
+ * @see #getTargetRef()
+ * @generated
+ */
+ void setTargetRef(FlowNode value);
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java
index e2bec10..7c3629b 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java
@@ -7,6 +7,7 @@
import java.util.Map;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
@@ -17,17 +18,22 @@
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
import org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics;
import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Element;
/**
* <!-- begin-user-doc -->
@@ -37,6 +43,9 @@
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#isForCompensation <em>Is For Compensation</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getStartQuantity <em>Start Quantity</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getCompletionQuantity <em>Completion Quantity</em>}</li>
@@ -55,6 +64,36 @@
*/
public abstract class BPMNActivityImpl extends FlowNodeImpl implements BPMNActivity {
/**
+ * The cached value of the '{@link #getBase_InteractionNode_Element() <em>Base Interaction Node Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InteractionNode_Element()
+ * @generated
+ * @ordered
+ */
+ protected Element base_InteractionNode_Element;
+
+ /**
+ * The cached value of the '{@link #getOutgoingConversationLinks() <em>Outgoing Conversation Links</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutgoingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationLink> outgoingConversationLinks;
+
+ /**
+ * The cached value of the '{@link #getIncomingConversationLinks() <em>Incoming Conversation Links</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncomingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected ConversationLink incomingConversationLinks;
+
+ /**
* The default value of the '{@link #isForCompensation() <em>Is For Compensation</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -228,6 +267,116 @@
* <!-- end-user-doc -->
* @generated
*/
+ public Element getBase_InteractionNode_Element() {
+ if (base_InteractionNode_Element != null && base_InteractionNode_Element.eIsProxy()) {
+ InternalEObject oldBase_InteractionNode_Element = (InternalEObject)base_InteractionNode_Element;
+ base_InteractionNode_Element = (Element)eResolveProxy(oldBase_InteractionNode_Element);
+ if (base_InteractionNode_Element != oldBase_InteractionNode_Element) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+ }
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetBase_InteractionNode_Element() {
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InteractionNode_Element(Element newBase_InteractionNode_Element) {
+ Element oldBase_InteractionNode_Element = base_InteractionNode_Element;
+ base_InteractionNode_Element = newBase_InteractionNode_Element;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationLink> getOutgoingConversationLinks() {
+ if (outgoingConversationLinks == null) {
+ outgoingConversationLinks = new EObjectWithInverseResolvingEList<ConversationLink>(ConversationLink.class, this, BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF);
+ }
+ return outgoingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink getIncomingConversationLinks() {
+ if (incomingConversationLinks != null && incomingConversationLinks.eIsProxy()) {
+ InternalEObject oldIncomingConversationLinks = (InternalEObject)incomingConversationLinks;
+ incomingConversationLinks = (ConversationLink)eResolveProxy(oldIncomingConversationLinks);
+ if (incomingConversationLinks != oldIncomingConversationLinks) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, incomingConversationLinks));
+ }
+ }
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink basicGetIncomingConversationLinks() {
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIncomingConversationLinks(ConversationLink newIncomingConversationLinks, NotificationChain msgs) {
+ ConversationLink oldIncomingConversationLinks = incomingConversationLinks;
+ incomingConversationLinks = newIncomingConversationLinks;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, newIncomingConversationLinks);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIncomingConversationLinks(ConversationLink newIncomingConversationLinks) {
+ if (newIncomingConversationLinks != incomingConversationLinks) {
+ NotificationChain msgs = null;
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ if (newIncomingConversationLinks != null)
+ msgs = ((InternalEObject)newIncomingConversationLinks).eInverseAdd(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ msgs = basicSetIncomingConversationLinks(newIncomingConversationLinks, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS, newIncomingConversationLinks, newIncomingConversationLinks));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public boolean isForCompensation() {
return isForCompensation;
}
@@ -653,9 +802,52 @@
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingConversationLinks()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS:
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ return basicSetIncomingConversationLinks((ConversationLink)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<?>)getOutgoingConversationLinks()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS:
+ return basicSetIncomingConversationLinks(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT:
+ if (resolve) return getBase_InteractionNode_Element();
+ return basicGetBase_InteractionNode_Element();
+ case BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS:
+ return getOutgoingConversationLinks();
+ case BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS:
+ if (resolve) return getIncomingConversationLinks();
+ return basicGetIncomingConversationLinks();
case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
return isForCompensation();
case BPMNProfilePackage.BPMN_ACTIVITY__START_QUANTITY:
@@ -697,6 +889,16 @@
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ getOutgoingConversationLinks().addAll((Collection<? extends ConversationLink>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)newValue);
+ return;
case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
setIsForCompensation((Boolean)newValue);
return;
@@ -750,6 +952,15 @@
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)null);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)null);
+ return;
case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
setIsForCompensation(IS_FOR_COMPENSATION_EDEFAULT);
return;
@@ -798,6 +1009,12 @@
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT:
+ return base_InteractionNode_Element != null;
+ case BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS:
+ return outgoingConversationLinks != null && !outgoingConversationLinks.isEmpty();
+ case BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS:
+ return incomingConversationLinks != null;
case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
return isForCompensation != IS_FOR_COMPENSATION_EDEFAULT;
case BPMNProfilePackage.BPMN_ACTIVITY__START_QUANTITY:
@@ -832,6 +1049,42 @@
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.BPMN_ACTIVITY__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.BPMN_ACTIVITY__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.BPMN_ACTIVITY__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
@SuppressWarnings("unchecked")
public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
switch (operationID) {
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java
index 2d57321..001ecf6 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java
@@ -5,15 +5,21 @@
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;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+import org.eclipse.uml2.uml.Element;
/**
* <!-- begin-user-doc -->
@@ -23,6 +29,9 @@
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getEventClass <em>Event Class</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#get_eventDefinitions <em>event Definitions</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getProperties <em>Properties</em>}</li>
@@ -33,6 +42,36 @@
*/
public abstract class BPMNEventImpl extends FlowNodeImpl implements BPMNEvent {
/**
+ * The cached value of the '{@link #getBase_InteractionNode_Element() <em>Base Interaction Node Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InteractionNode_Element()
+ * @generated
+ * @ordered
+ */
+ protected Element base_InteractionNode_Element;
+
+ /**
+ * The cached value of the '{@link #getOutgoingConversationLinks() <em>Outgoing Conversation Links</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutgoingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationLink> outgoingConversationLinks;
+
+ /**
+ * The cached value of the '{@link #getIncomingConversationLinks() <em>Incoming Conversation Links</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncomingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected ConversationLink incomingConversationLinks;
+
+ /**
* The cached value of the '{@link #getEventClass() <em>Event Class</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -96,6 +135,116 @@
* <!-- end-user-doc -->
* @generated
*/
+ public Element getBase_InteractionNode_Element() {
+ if (base_InteractionNode_Element != null && base_InteractionNode_Element.eIsProxy()) {
+ InternalEObject oldBase_InteractionNode_Element = (InternalEObject)base_InteractionNode_Element;
+ base_InteractionNode_Element = (Element)eResolveProxy(oldBase_InteractionNode_Element);
+ if (base_InteractionNode_Element != oldBase_InteractionNode_Element) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+ }
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetBase_InteractionNode_Element() {
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InteractionNode_Element(Element newBase_InteractionNode_Element) {
+ Element oldBase_InteractionNode_Element = base_InteractionNode_Element;
+ base_InteractionNode_Element = newBase_InteractionNode_Element;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationLink> getOutgoingConversationLinks() {
+ if (outgoingConversationLinks == null) {
+ outgoingConversationLinks = new EObjectWithInverseResolvingEList<ConversationLink>(ConversationLink.class, this, BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF);
+ }
+ return outgoingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink getIncomingConversationLinks() {
+ if (incomingConversationLinks != null && incomingConversationLinks.eIsProxy()) {
+ InternalEObject oldIncomingConversationLinks = (InternalEObject)incomingConversationLinks;
+ incomingConversationLinks = (ConversationLink)eResolveProxy(oldIncomingConversationLinks);
+ if (incomingConversationLinks != oldIncomingConversationLinks) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, incomingConversationLinks));
+ }
+ }
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink basicGetIncomingConversationLinks() {
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIncomingConversationLinks(ConversationLink newIncomingConversationLinks, NotificationChain msgs) {
+ ConversationLink oldIncomingConversationLinks = incomingConversationLinks;
+ incomingConversationLinks = newIncomingConversationLinks;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, newIncomingConversationLinks);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIncomingConversationLinks(ConversationLink newIncomingConversationLinks) {
+ if (newIncomingConversationLinks != incomingConversationLinks) {
+ NotificationChain msgs = null;
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ if (newIncomingConversationLinks != null)
+ msgs = ((InternalEObject)newIncomingConversationLinks).eInverseAdd(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ msgs = basicSetIncomingConversationLinks(newIncomingConversationLinks, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS, newIncomingConversationLinks, newIncomingConversationLinks));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public org.eclipse.uml2.uml.Class getEventClass() {
if (eventClass != null && eventClass.eIsProxy()) {
InternalEObject oldEventClass = (InternalEObject)eventClass;
@@ -170,9 +319,52 @@
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingConversationLinks()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS:
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ return basicSetIncomingConversationLinks((ConversationLink)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<?>)getOutgoingConversationLinks()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS:
+ return basicSetIncomingConversationLinks(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT:
+ if (resolve) return getBase_InteractionNode_Element();
+ return basicGetBase_InteractionNode_Element();
+ case BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS:
+ return getOutgoingConversationLinks();
+ case BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS:
+ if (resolve) return getIncomingConversationLinks();
+ return basicGetIncomingConversationLinks();
case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
if (resolve) return getEventClass();
return basicGetEventClass();
@@ -195,6 +387,16 @@
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ getOutgoingConversationLinks().addAll((Collection<? extends ConversationLink>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)newValue);
+ return;
case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
setEventClass((org.eclipse.uml2.uml.Class)newValue);
return;
@@ -222,6 +424,15 @@
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)null);
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)null);
+ return;
case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
setEventClass((org.eclipse.uml2.uml.Class)null);
return;
@@ -246,6 +457,12 @@
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT:
+ return base_InteractionNode_Element != null;
+ case BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS:
+ return outgoingConversationLinks != null && !outgoingConversationLinks.isEmpty();
+ case BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS:
+ return incomingConversationLinks != null;
case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
return eventClass != null;
case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITIONS:
@@ -258,4 +475,40 @@
return super.eIsSet(featureID);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.BPMN_EVENT__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.BPMN_EVENT__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.BPMN_EVENT__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
} //BPMNEventImpl
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore
index 6e5c2d1..49923b5 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore
@@ -32,6 +32,16 @@
eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityGroup"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FlowNode" abstract="true" eSuperTypes="#//FlowElement">
+ <eAnnotations source="duplicates">
+ <contents xsi:type="ecore:EReference" name="incoming" ordered="false" upperBound="-1"
+ eType="#//SequenceFlow" eOpposite="#//SequenceFlow/targetRef">
+ <eAnnotations source="redefines" references="#//BaseElement/incoming"/>
+ </contents>
+ <contents xsi:type="ecore:EReference" name="outgoing" ordered="false" upperBound="-1"
+ eType="#//SequenceFlow" eOpposite="#//SequenceFlow/sourceRef">
+ <eAnnotations source="redefines" references="#//BaseElement/outgoing"/>
+ </contents>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityNode" ordered="false"
eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityNode"/>
</eClassifiers>
@@ -315,6 +325,10 @@
lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="conditionExpression" ordered="false"
eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"
+ lowerBound="1" eType="#//FlowNode" volatile="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"
+ lowerBound="1" eType="#//FlowNode" volatile="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BPMNExpression" eSuperTypes="#//BaseElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueExpression"
@@ -999,6 +1013,17 @@
eType="#//ItemDefinition"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Error" eSuperTypes="#//ItemDefinition">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="structureRef">
+ <details key="eType" value="uml::Class"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="structureRef" ordered="false" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element">
+ <eAnnotations source="redefines" references="#//ItemDefinition/structureRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.base_Class"/>
+ </eAnnotations>
+ </contents>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="errorCode" ordered="false"
eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
</eClassifiers>
@@ -1082,7 +1107,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="outerParticipantRef" ordered="false"
lowerBound="1" eType="#//Participant"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Participant" eSuperTypes="#//BaseElement">
+ <eClassifiers xsi:type="ecore:EClass" name="Participant" eSuperTypes="#//BaseElement #//InteractionNode">
<eOperations name="Participantownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="Participant.ownership"/>
@@ -1209,8 +1234,12 @@
upperBound="-1" eType="#//BPMNInterface"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InteractionNode" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
- lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InteractionNode_Element"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="base_Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outgoingConversationLinks"
ordered="false" upperBound="-1" eType="#//ConversationLink" eOpposite="#//ConversationLink/sourceRef"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="incomingConversationLinks"
@@ -1348,7 +1377,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"
eType="#//BPMNMessage"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ConversationNode" abstract="true" eSuperTypes="#//InteractionNode">
+ <eClassifiers xsi:type="ecore:EClass" name="ConversationNode" abstract="true" eSuperTypes="#//BaseElement #//InteractionNode">
<eOperations name="ConversationNodeparticipantRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="ConversationNode.participantRefs"/>
@@ -1531,6 +1560,15 @@
eType="#//BPMNProcess" eOpposite="#//BPMNProcess/resources"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResourceAssignmentExpression" eSuperTypes="#//BPMNExpression">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_OpaqueExpression">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_OpaqueExpression" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression">
+ <eAnnotations source="redefines" references="#//BPMNExpression/base_OpaqueExpression"/>
+ </contents>
+ </eAnnotations>
<eOperations name="ResourceAssignmentExpressionexpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="ResourceAssignmentExpression.expression"/>
@@ -1719,7 +1757,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Event" ordered="false"
lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Event"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BPMNActivity" abstract="true" eSuperTypes="#//FlowNode">
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNActivity" abstract="true" eSuperTypes="#//FlowNode #//InteractionNode">
<eOperations name="BPMNActivityresources" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="BPMNActivity.resources"/>
@@ -1821,6 +1859,15 @@
upperBound="-1" eType="#//ResourceRole"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BoundaryEvent" eSuperTypes="#//CatchEvent">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_AcceptEventAction">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_AcceptEventAction" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//AcceptEventAction">
+ <eAnnotations source="redefines" references="#//CatchEvent/base_AcceptEventAction"/>
+ </contents>
+ </eAnnotations>
<eOperations name="boundaryEventattachedToRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="boundaryEvent.attachedToRef"/>
@@ -1862,7 +1909,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputAssociation"
ordered="false" upperBound="-1" eType="#//DataOutputAssociation"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BPMNEvent" abstract="true" eSuperTypes="#//FlowNode">
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNEvent" abstract="true" eSuperTypes="#//FlowNode #//InteractionNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="eventClass" ordered="false"
eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="_eventDefinitions" ordered="false"
@@ -1996,6 +2043,17 @@
lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Escalation" eSuperTypes="#//ItemDefinition">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="structureRef">
+ <details key="eType" value="uml::Class"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="structureRef" ordered="false" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element">
+ <eAnnotations source="redefines" references="#//ItemDefinition/structureRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.base_Class"/>
+ </eAnnotations>
+ </contents>
+ </eAnnotations>
<eOperations name="EscalationstructureRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="Escalation.structureRef"/>
@@ -2028,6 +2086,18 @@
lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BPMNSignal" eSuperTypes="#//ItemDefinition">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="structureRef">
+ <details key="lowerBound" value="1"/>
+ <details key="eType" value="uml::Class"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="structureRef" ordered="false" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element">
+ <eAnnotations source="redefines" references="#//ItemDefinition/structureRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.base_Class"/>
+ </eAnnotations>
+ </contents>
+ </eAnnotations>
<eOperations name="BPMNSignalstructureRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="BPMNSignal.structureRef"/>
@@ -2114,7 +2184,17 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="IntermediateCatchEvent" eSuperTypes="#//CatchEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="IntermediateCatchEvent" eSuperTypes="#//CatchEvent">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_AcceptEventAction">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_AcceptEventAction" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//AcceptEventAction">
+ <eAnnotations source="redefines" references="#//CatchEvent/base_AcceptEventAction"/>
+ </contents>
+ </eAnnotations>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntermediateThrowEvent" eSuperTypes="#//ThrowEvent">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_SendObjectAction"
ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//SendObjectAction"/>
@@ -2123,7 +2203,17 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ImplicitThrowEvent" eSuperTypes="#//ThrowEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ImplicitThrowEvent" eSuperTypes="#//ThrowEvent">
+ <eAnnotations source="duplicates">
+ <eAnnotations source="base_CallOperationAction">
+ <details key="lowerBound" value="1"/>
+ </eAnnotations>
+ <contents xsi:type="ecore:EReference" name="base_CallOperationAction" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallOperationAction">
+ <eAnnotations source="redefines" references="#//ThrowEvent/base_CallOperationAction"/>
+ </contents>
+ </eAnnotations>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CancelEventDefinition" eSuperTypes="#//EventDefinition">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java
index f0e3e0d..a999218 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java
@@ -15,14 +15,12 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EValidator;
-import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfileFactory;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
-import org.eclipse.uml2.types.TypesPackage;
import org.eclipse.uml2.uml.UMLPackage;
/**
@@ -1050,8 +1048,6 @@
isInited = true;
// Initialize simple dependencies
- EcorePackage.eINSTANCE.eClass();
- TypesPackage.eINSTANCE.eClass();
UMLPackage.eINSTANCE.eClass();
// Load packages
@@ -1860,6 +1856,24 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EReference getSequenceFlow_SourceRef() {
+ return (EReference)getSequenceFlow().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceFlow_TargetRef() {
+ return (EReference)getSequenceFlow().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EOperation getSequenceFlow__SequenceFlowconditionExpression__DiagnosticChain_Map() {
return getSequenceFlow().getEOperations().get(0);
}
@@ -3738,7 +3752,7 @@
* <!-- end-user-doc -->
* @generated
*/
- public EReference getInteractionNode_Base_Element() {
+ public EReference getInteractionNode_Base_InteractionNode_Element() {
return (EReference)getInteractionNode().getEStructuralFeatures().get(0);
}
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java
index 6193ed0..cd63c58 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java
@@ -5,21 +5,31 @@
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
+import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecore.util.EObjectValidator;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+import org.eclipse.uml2.uml.Element;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>BPMN Signal</b></em>'.
* <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNSignalImpl#getStructureRef <em>Structure Ref</em>}</li>
+ * </ul>
*
* @generated
*/
@@ -48,6 +58,59 @@
* <!-- end-user-doc -->
* @generated
*/
+ @Override
+ public Element getStructureRef() {
+ if (structureRef != null && structureRef.eIsProxy()) {
+ InternalEObject oldStructureRef = (InternalEObject)structureRef;
+ structureRef = (Element)eResolveProxy(oldStructureRef);
+ if (structureRef != oldStructureRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_SIGNAL__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+ }
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetStructureRef() {
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setStructureRef(Element newStructureRef) {
+ if (newStructureRef != null && !(newStructureRef instanceof org.eclipse.uml2.uml.Class)) {
+ throw new IllegalArgumentException("newStructureRef must be an instance of org.eclipse.uml2.uml.Class");
+ }
+ Element oldStructureRef = structureRef;
+ structureRef = newStructureRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_SIGNAL__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStructureRef() {
+ return structureRef != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public boolean BPMNSignalstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
// TODO: implement this method
// -> specify the condition that violates the invariant
@@ -74,6 +137,20 @@
* @generated
*/
@Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_SIGNAL__STRUCTURE_REF:
+ return isSetStructureRef();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
@SuppressWarnings("unchecked")
public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
switch (operationID) {
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java
index c337720..6e23b01 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java
@@ -19,6 +19,7 @@
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+import org.eclipse.uml2.uml.AcceptEventAction;
/**
* <!-- begin-user-doc -->
@@ -30,6 +31,7 @@
* <ul>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BoundaryEventImpl#isCancelActivity <em>Cancel Activity</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BoundaryEventImpl#getAttachedToRef <em>Attached To Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BoundaryEventImpl#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
* </ul>
*
* @generated
@@ -119,6 +121,56 @@
* <!-- end-user-doc -->
* @generated
*/
+ @Override
+ public AcceptEventAction getBase_AcceptEventAction() {
+ if (base_AcceptEventAction != null && base_AcceptEventAction.eIsProxy()) {
+ InternalEObject oldBase_AcceptEventAction = (InternalEObject)base_AcceptEventAction;
+ base_AcceptEventAction = (AcceptEventAction)eResolveProxy(oldBase_AcceptEventAction);
+ if (base_AcceptEventAction != oldBase_AcceptEventAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BOUNDARY_EVENT__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+ }
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AcceptEventAction basicGetBase_AcceptEventAction() {
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_AcceptEventAction(AcceptEventAction newBase_AcceptEventAction) {
+ AcceptEventAction oldBase_AcceptEventAction = base_AcceptEventAction;
+ base_AcceptEventAction = newBase_AcceptEventAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BOUNDARY_EVENT__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_AcceptEventAction() {
+ return base_AcceptEventAction != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public boolean boundaryEventattachedToRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
// TODO: implement this method
// -> specify the condition that violates the invariant
@@ -198,6 +250,8 @@
return cancelActivity != CANCEL_ACTIVITY_EDEFAULT;
case BPMNProfilePackage.BOUNDARY_EVENT__ATTACHED_TO_REF:
return basicGetAttachedToRef() != null;
+ case BPMNProfilePackage.BOUNDARY_EVENT__BASE_ACCEPT_EVENT_ACTION:
+ return isSetBase_AcceptEventAction();
}
return super.eIsSet(featureID);
}
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java
index b501a1f..c437c7f 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java
@@ -7,6 +7,7 @@
import java.util.Map;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
@@ -17,12 +18,17 @@
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.InformationFlow;
/**
@@ -33,6 +39,9 @@
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getBase_InformationFlow <em>Base Information Flow</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getMessageFlowRefs <em>Message Flow Refs</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getCorrelationKeys <em>Correlation Keys</em>}</li>
@@ -41,7 +50,37 @@
*
* @generated
*/
-public abstract class ConversationNodeImpl extends InteractionNodeImpl implements ConversationNode {
+public abstract class ConversationNodeImpl extends BaseElementImpl implements ConversationNode {
+ /**
+ * The cached value of the '{@link #getBase_InteractionNode_Element() <em>Base Interaction Node Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InteractionNode_Element()
+ * @generated
+ * @ordered
+ */
+ protected Element base_InteractionNode_Element;
+
+ /**
+ * The cached value of the '{@link #getOutgoingConversationLinks() <em>Outgoing Conversation Links</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutgoingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationLink> outgoingConversationLinks;
+
+ /**
+ * The cached value of the '{@link #getIncomingConversationLinks() <em>Incoming Conversation Links</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncomingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected ConversationLink incomingConversationLinks;
+
/**
* The cached value of the '{@link #getBase_InformationFlow() <em>Base Information Flow</em>}' reference.
* <!-- begin-user-doc -->
@@ -106,6 +145,116 @@
* <!-- end-user-doc -->
* @generated
*/
+ public Element getBase_InteractionNode_Element() {
+ if (base_InteractionNode_Element != null && base_InteractionNode_Element.eIsProxy()) {
+ InternalEObject oldBase_InteractionNode_Element = (InternalEObject)base_InteractionNode_Element;
+ base_InteractionNode_Element = (Element)eResolveProxy(oldBase_InteractionNode_Element);
+ if (base_InteractionNode_Element != oldBase_InteractionNode_Element) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+ }
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetBase_InteractionNode_Element() {
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InteractionNode_Element(Element newBase_InteractionNode_Element) {
+ Element oldBase_InteractionNode_Element = base_InteractionNode_Element;
+ base_InteractionNode_Element = newBase_InteractionNode_Element;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationLink> getOutgoingConversationLinks() {
+ if (outgoingConversationLinks == null) {
+ outgoingConversationLinks = new EObjectWithInverseResolvingEList<ConversationLink>(ConversationLink.class, this, BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF);
+ }
+ return outgoingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink getIncomingConversationLinks() {
+ if (incomingConversationLinks != null && incomingConversationLinks.eIsProxy()) {
+ InternalEObject oldIncomingConversationLinks = (InternalEObject)incomingConversationLinks;
+ incomingConversationLinks = (ConversationLink)eResolveProxy(oldIncomingConversationLinks);
+ if (incomingConversationLinks != oldIncomingConversationLinks) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, incomingConversationLinks));
+ }
+ }
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink basicGetIncomingConversationLinks() {
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIncomingConversationLinks(ConversationLink newIncomingConversationLinks, NotificationChain msgs) {
+ ConversationLink oldIncomingConversationLinks = incomingConversationLinks;
+ incomingConversationLinks = newIncomingConversationLinks;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, newIncomingConversationLinks);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIncomingConversationLinks(ConversationLink newIncomingConversationLinks) {
+ if (newIncomingConversationLinks != incomingConversationLinks) {
+ NotificationChain msgs = null;
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ if (newIncomingConversationLinks != null)
+ msgs = ((InternalEObject)newIncomingConversationLinks).eInverseAdd(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ msgs = basicSetIncomingConversationLinks(newIncomingConversationLinks, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS, newIncomingConversationLinks, newIncomingConversationLinks));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public InformationFlow getBase_InformationFlow() {
if (base_InformationFlow != null && base_InformationFlow.eIsProxy()) {
InternalEObject oldBase_InformationFlow = (InternalEObject)base_InformationFlow;
@@ -205,9 +354,52 @@
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingConversationLinks()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS:
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ return basicSetIncomingConversationLinks((ConversationLink)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<?>)getOutgoingConversationLinks()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS:
+ return basicSetIncomingConversationLinks(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ if (resolve) return getBase_InteractionNode_Element();
+ return basicGetBase_InteractionNode_Element();
+ case BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return getOutgoingConversationLinks();
+ case BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS:
+ if (resolve) return getIncomingConversationLinks();
+ return basicGetIncomingConversationLinks();
case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
if (resolve) return getBase_InformationFlow();
return basicGetBase_InformationFlow();
@@ -230,6 +422,16 @@
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ getOutgoingConversationLinks().addAll((Collection<? extends ConversationLink>)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)newValue);
+ return;
case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
setBase_InformationFlow((InformationFlow)newValue);
return;
@@ -257,6 +459,15 @@
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)null);
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)null);
+ return;
case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
setBase_InformationFlow((InformationFlow)null);
return;
@@ -281,6 +492,12 @@
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ return base_InteractionNode_Element != null;
+ case BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return outgoingConversationLinks != null && !outgoingConversationLinks.isEmpty();
+ case BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS:
+ return incomingConversationLinks != null;
case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
return base_InformationFlow != null;
case BPMNProfilePackage.CONVERSATION_NODE__MESSAGE_FLOW_REFS:
@@ -299,6 +516,42 @@
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.CONVERSATION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
@SuppressWarnings("unchecked")
public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
switch (operationID) {
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java
index 8dd2450..3bf4dc3 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java
@@ -4,8 +4,10 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.uml2.uml.Element;
/**
* <!-- begin-user-doc -->
@@ -16,6 +18,7 @@
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorImpl#getErrorCode <em>Error Code</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorImpl#getStructureRef <em>Structure Ref</em>}</li>
* </ul>
*
* @generated
@@ -87,6 +90,59 @@
* @generated
*/
@Override
+ public Element getStructureRef() {
+ if (structureRef != null && structureRef.eIsProxy()) {
+ InternalEObject oldStructureRef = (InternalEObject)structureRef;
+ structureRef = (Element)eResolveProxy(oldStructureRef);
+ if (structureRef != oldStructureRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ERROR__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+ }
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetStructureRef() {
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setStructureRef(Element newStructureRef) {
+ if (newStructureRef != null && !(newStructureRef instanceof org.eclipse.uml2.uml.Class)) {
+ throw new IllegalArgumentException("newStructureRef must be an instance of org.eclipse.uml2.uml.Class");
+ }
+ Element oldStructureRef = structureRef;
+ structureRef = newStructureRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ERROR__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStructureRef() {
+ return structureRef != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case BPMNProfilePackage.ERROR__ERROR_CODE:
@@ -135,6 +191,8 @@
switch (featureID) {
case BPMNProfilePackage.ERROR__ERROR_CODE:
return ERROR_CODE_EDEFAULT == null ? errorCode != null : !ERROR_CODE_EDEFAULT.equals(errorCode);
+ case BPMNProfilePackage.ERROR__STRUCTURE_REF:
+ return isSetStructureRef();
}
return super.eIsSet(featureID);
}
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java
index 125f41b..25ad01a 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java
@@ -11,12 +11,14 @@
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecore.util.EObjectValidator;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+import org.eclipse.uml2.uml.Element;
/**
* <!-- begin-user-doc -->
@@ -27,6 +29,7 @@
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationImpl#getEscalationCode <em>Escalation Code</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationImpl#getStructureRef <em>Structure Ref</em>}</li>
* </ul>
*
* @generated
@@ -97,6 +100,59 @@
* <!-- end-user-doc -->
* @generated
*/
+ @Override
+ public Element getStructureRef() {
+ if (structureRef != null && structureRef.eIsProxy()) {
+ InternalEObject oldStructureRef = (InternalEObject)structureRef;
+ structureRef = (Element)eResolveProxy(oldStructureRef);
+ if (structureRef != oldStructureRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ESCALATION__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+ }
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetStructureRef() {
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setStructureRef(Element newStructureRef) {
+ if (newStructureRef != null && !(newStructureRef instanceof org.eclipse.uml2.uml.Class)) {
+ throw new IllegalArgumentException("newStructureRef must be an instance of org.eclipse.uml2.uml.Class");
+ }
+ Element oldStructureRef = structureRef;
+ structureRef = newStructureRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ESCALATION__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStructureRef() {
+ return structureRef != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public boolean EscalationstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
// TODO: implement this method
// -> specify the condition that violates the invariant
@@ -171,6 +227,8 @@
switch (featureID) {
case BPMNProfilePackage.ESCALATION__ESCALATION_CODE:
return ESCALATION_CODE_EDEFAULT == null ? escalationCode != null : !ESCALATION_CODE_EDEFAULT.equals(escalationCode);
+ case BPMNProfilePackage.ESCALATION__STRUCTURE_REF:
+ return isSetStructureRef();
}
return super.eIsSet(featureID);
}
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java
index d3fd65c..fa5bfbc 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java
@@ -3,11 +3,17 @@
package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
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;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
import org.eclipse.uml2.uml.ActivityNode;
/**
@@ -19,6 +25,8 @@
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowNodeImpl#getBase_ActivityNode <em>Base Activity Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowNodeImpl#getIncoming <em>Incoming</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowNodeImpl#getOutgoing <em>Outgoing</em>}</li>
* </ul>
*
* @generated
@@ -97,6 +105,83 @@
* @generated
*/
@Override
+ public EList<BPMNAssociation> getIncoming() {
+ if (incoming == null) {
+ incoming = new EObjectWithInverseResolvingEList<BPMNAssociation>(SequenceFlow.class, this, BPMNProfilePackage.FLOW_NODE__INCOMING, BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF);
+ }
+ return incoming;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetIncoming() {
+ return incoming != null && !incoming.isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<BPMNAssociation> getOutgoing() {
+ if (outgoing == null) {
+ outgoing = new EObjectWithInverseResolvingEList<BPMNAssociation>(SequenceFlow.class, this, BPMNProfilePackage.FLOW_NODE__OUTGOING, BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF);
+ }
+ return outgoing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOutgoing() {
+ return outgoing != null && !outgoing.isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_NODE__INCOMING:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncoming()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.FLOW_NODE__OUTGOING:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoing()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_NODE__INCOMING:
+ return ((InternalEList<?>)getIncoming()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.FLOW_NODE__OUTGOING:
+ return ((InternalEList<?>)getOutgoing()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE:
@@ -146,6 +231,10 @@
switch (featureID) {
case BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE:
return base_ActivityNode != null;
+ case BPMNProfilePackage.FLOW_NODE__INCOMING:
+ return isSetIncoming();
+ case BPMNProfilePackage.FLOW_NODE__OUTGOING:
+ return isSetOutgoing();
}
return super.eIsSet(featureID);
}
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java
index 976c4f0..16e1fd7 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java
@@ -2,14 +2,24 @@
*/
package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Implicit Throw Event</b></em>'.
* <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImplicitThrowEventImpl#getBase_CallOperationAction <em>Base Call Operation Action</em>}</li>
+ * </ul>
*
* @generated
*/
@@ -33,4 +43,68 @@
return BPMNProfilePackage.eINSTANCE.getImplicitThrowEvent();
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public CallOperationAction getBase_CallOperationAction() {
+ if (base_CallOperationAction != null && base_CallOperationAction.eIsProxy()) {
+ InternalEObject oldBase_CallOperationAction = (InternalEObject)base_CallOperationAction;
+ base_CallOperationAction = (CallOperationAction)eResolveProxy(oldBase_CallOperationAction);
+ if (base_CallOperationAction != oldBase_CallOperationAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.IMPLICIT_THROW_EVENT__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+ }
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public CallOperationAction basicGetBase_CallOperationAction() {
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_CallOperationAction(CallOperationAction newBase_CallOperationAction) {
+ CallOperationAction oldBase_CallOperationAction = base_CallOperationAction;
+ base_CallOperationAction = newBase_CallOperationAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.IMPLICIT_THROW_EVENT__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_CallOperationAction() {
+ return base_CallOperationAction != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.IMPLICIT_THROW_EVENT__BASE_CALL_OPERATION_ACTION:
+ return isSetBase_CallOperationAction();
+ }
+ return super.eIsSet(featureID);
+ }
+
} //ImplicitThrowEventImpl
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java
index 2764780..2ebc206 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java
@@ -26,7 +26,7 @@
* The following features are implemented:
* </p>
* <ul>
- * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl#getBase_Element <em>Base Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
* </ul>
@@ -35,14 +35,14 @@
*/
public abstract class InteractionNodeImpl extends MinimalEObjectImpl.Container implements InteractionNode {
/**
- * The cached value of the '{@link #getBase_Element() <em>Base Element</em>}' reference.
+ * The cached value of the '{@link #getBase_InteractionNode_Element() <em>Base Interaction Node Element</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getBase_Element()
+ * @see #getBase_InteractionNode_Element()
* @generated
* @ordered
*/
- protected Element base_Element;
+ protected Element base_InteractionNode_Element;
/**
* The cached value of the '{@link #getOutgoingConversationLinks() <em>Outgoing Conversation Links</em>}' reference list.
@@ -87,16 +87,16 @@
* <!-- end-user-doc -->
* @generated
*/
- public Element getBase_Element() {
- if (base_Element != null && base_Element.eIsProxy()) {
- InternalEObject oldBase_Element = (InternalEObject)base_Element;
- base_Element = (Element)eResolveProxy(oldBase_Element);
- if (base_Element != oldBase_Element) {
+ public Element getBase_InteractionNode_Element() {
+ if (base_InteractionNode_Element != null && base_InteractionNode_Element.eIsProxy()) {
+ InternalEObject oldBase_InteractionNode_Element = (InternalEObject)base_InteractionNode_Element;
+ base_InteractionNode_Element = (Element)eResolveProxy(oldBase_InteractionNode_Element);
+ if (base_InteractionNode_Element != oldBase_InteractionNode_Element) {
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT, oldBase_Element, base_Element));
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
}
}
- return base_Element;
+ return base_InteractionNode_Element;
}
/**
@@ -104,8 +104,8 @@
* <!-- end-user-doc -->
* @generated
*/
- public Element basicGetBase_Element() {
- return base_Element;
+ public Element basicGetBase_InteractionNode_Element() {
+ return base_InteractionNode_Element;
}
/**
@@ -113,11 +113,11 @@
* <!-- end-user-doc -->
* @generated
*/
- public void setBase_Element(Element newBase_Element) {
- Element oldBase_Element = base_Element;
- base_Element = newBase_Element;
+ public void setBase_InteractionNode_Element(Element newBase_InteractionNode_Element) {
+ Element oldBase_InteractionNode_Element = base_InteractionNode_Element;
+ base_InteractionNode_Element = newBase_InteractionNode_Element;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT, oldBase_Element, base_Element));
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
}
/**
@@ -235,9 +235,9 @@
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
- case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
- if (resolve) return getBase_Element();
- return basicGetBase_Element();
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ if (resolve) return getBase_InteractionNode_Element();
+ return basicGetBase_InteractionNode_Element();
case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
return getOutgoingConversationLinks();
case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
@@ -256,8 +256,8 @@
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
- setBase_Element((Element)newValue);
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)newValue);
return;
case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
getOutgoingConversationLinks().clear();
@@ -278,8 +278,8 @@
@Override
public void eUnset(int featureID) {
switch (featureID) {
- case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
- setBase_Element((Element)null);
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)null);
return;
case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
getOutgoingConversationLinks().clear();
@@ -299,8 +299,8 @@
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
- return base_Element != null;
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT:
+ return base_InteractionNode_Element != null;
case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
return outgoingConversationLinks != null && !outgoingConversationLinks.isEmpty();
case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java
index dd66e5e..40f0405 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java
@@ -2,14 +2,24 @@
*/
package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent;
+import org.eclipse.uml2.uml.AcceptEventAction;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Intermediate Catch Event</b></em>'.
* <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.IntermediateCatchEventImpl#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
+ * </ul>
*
* @generated
*/
@@ -33,4 +43,68 @@
return BPMNProfilePackage.eINSTANCE.getIntermediateCatchEvent();
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AcceptEventAction getBase_AcceptEventAction() {
+ if (base_AcceptEventAction != null && base_AcceptEventAction.eIsProxy()) {
+ InternalEObject oldBase_AcceptEventAction = (InternalEObject)base_AcceptEventAction;
+ base_AcceptEventAction = (AcceptEventAction)eResolveProxy(oldBase_AcceptEventAction);
+ if (base_AcceptEventAction != oldBase_AcceptEventAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INTERMEDIATE_CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+ }
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AcceptEventAction basicGetBase_AcceptEventAction() {
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_AcceptEventAction(AcceptEventAction newBase_AcceptEventAction) {
+ AcceptEventAction oldBase_AcceptEventAction = base_AcceptEventAction;
+ base_AcceptEventAction = newBase_AcceptEventAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INTERMEDIATE_CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_AcceptEventAction() {
+ return base_AcceptEventAction != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERMEDIATE_CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION:
+ return isSetBase_AcceptEventAction();
+ }
+ return super.eIsSet(featureID);
+ }
+
} //IntermediateCatchEventImpl
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java
index e33c6e6..400638b 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java
@@ -23,11 +23,14 @@
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Property;
/**
@@ -38,6 +41,9 @@
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getBase_InteractionNode_Element <em>Base Interaction Node Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getBase_Property <em>Base Property</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getProcessRef <em>Process Ref</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getParticipantMultiplicity <em>Participant Multiplicity</em>}</li>
@@ -50,6 +56,36 @@
*/
public class ParticipantImpl extends BaseElementImpl implements Participant {
/**
+ * The cached value of the '{@link #getBase_InteractionNode_Element() <em>Base Interaction Node Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InteractionNode_Element()
+ * @generated
+ * @ordered
+ */
+ protected Element base_InteractionNode_Element;
+
+ /**
+ * The cached value of the '{@link #getOutgoingConversationLinks() <em>Outgoing Conversation Links</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutgoingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationLink> outgoingConversationLinks;
+
+ /**
+ * The cached value of the '{@link #getIncomingConversationLinks() <em>Incoming Conversation Links</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncomingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected ConversationLink incomingConversationLinks;
+
+ /**
* The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -129,6 +165,116 @@
* <!-- end-user-doc -->
* @generated
*/
+ public Element getBase_InteractionNode_Element() {
+ if (base_InteractionNode_Element != null && base_InteractionNode_Element.eIsProxy()) {
+ InternalEObject oldBase_InteractionNode_Element = (InternalEObject)base_InteractionNode_Element;
+ base_InteractionNode_Element = (Element)eResolveProxy(oldBase_InteractionNode_Element);
+ if (base_InteractionNode_Element != oldBase_InteractionNode_Element) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+ }
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetBase_InteractionNode_Element() {
+ return base_InteractionNode_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InteractionNode_Element(Element newBase_InteractionNode_Element) {
+ Element oldBase_InteractionNode_Element = base_InteractionNode_Element;
+ base_InteractionNode_Element = newBase_InteractionNode_Element;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT, oldBase_InteractionNode_Element, base_InteractionNode_Element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationLink> getOutgoingConversationLinks() {
+ if (outgoingConversationLinks == null) {
+ outgoingConversationLinks = new EObjectWithInverseResolvingEList<ConversationLink>(ConversationLink.class, this, BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF);
+ }
+ return outgoingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink getIncomingConversationLinks() {
+ if (incomingConversationLinks != null && incomingConversationLinks.eIsProxy()) {
+ InternalEObject oldIncomingConversationLinks = (InternalEObject)incomingConversationLinks;
+ incomingConversationLinks = (ConversationLink)eResolveProxy(oldIncomingConversationLinks);
+ if (incomingConversationLinks != oldIncomingConversationLinks) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, incomingConversationLinks));
+ }
+ }
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink basicGetIncomingConversationLinks() {
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIncomingConversationLinks(ConversationLink newIncomingConversationLinks, NotificationChain msgs) {
+ ConversationLink oldIncomingConversationLinks = incomingConversationLinks;
+ incomingConversationLinks = newIncomingConversationLinks;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, newIncomingConversationLinks);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIncomingConversationLinks(ConversationLink newIncomingConversationLinks) {
+ if (newIncomingConversationLinks != incomingConversationLinks) {
+ NotificationChain msgs = null;
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ if (newIncomingConversationLinks != null)
+ msgs = ((InternalEObject)newIncomingConversationLinks).eInverseAdd(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ msgs = basicSetIncomingConversationLinks(newIncomingConversationLinks, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS, newIncomingConversationLinks, newIncomingConversationLinks));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public Property getBase_Property() {
if (base_Property != null && base_Property.eIsProxy()) {
InternalEObject oldBase_Property = (InternalEObject)base_Property;
@@ -508,6 +654,12 @@
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingConversationLinks()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS:
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ return basicSetIncomingConversationLinks((ConversationLink)otherEnd, msgs);
case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getPartnerEntityRef()).basicAdd(otherEnd, msgs);
case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
@@ -524,6 +676,10 @@
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<?>)getOutgoingConversationLinks()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS:
+ return basicSetIncomingConversationLinks(null, msgs);
case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
return ((InternalEList<?>)getPartnerEntityRef()).basicRemove(otherEnd, msgs);
case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
@@ -540,6 +696,14 @@
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT:
+ if (resolve) return getBase_InteractionNode_Element();
+ return basicGetBase_InteractionNode_Element();
+ case BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS:
+ return getOutgoingConversationLinks();
+ case BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS:
+ if (resolve) return getIncomingConversationLinks();
+ return basicGetIncomingConversationLinks();
case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
if (resolve) return getBase_Property();
return basicGetBase_Property();
@@ -568,6 +732,16 @@
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ getOutgoingConversationLinks().addAll((Collection<? extends ConversationLink>)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)newValue);
+ return;
case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
setBase_Property((Property)newValue);
return;
@@ -601,6 +775,15 @@
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT:
+ setBase_InteractionNode_Element((Element)null);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ return;
+ case BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)null);
+ return;
case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
setBase_Property((Property)null);
return;
@@ -631,6 +814,12 @@
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT:
+ return base_InteractionNode_Element != null;
+ case BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS:
+ return outgoingConversationLinks != null && !outgoingConversationLinks.isEmpty();
+ case BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS:
+ return incomingConversationLinks != null;
case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
return base_Property != null;
case BPMNProfilePackage.PARTICIPANT__PROCESS_REF:
@@ -653,6 +842,42 @@
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == InteractionNode.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_INTERACTION_NODE_ELEMENT: return BPMNProfilePackage.PARTICIPANT__BASE_INTERACTION_NODE_ELEMENT;
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS: return BPMNProfilePackage.PARTICIPANT__OUTGOING_CONVERSATION_LINKS;
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS: return BPMNProfilePackage.PARTICIPANT__INCOMING_CONVERSATION_LINKS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
@SuppressWarnings("unchecked")
public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
switch (operationID) {
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java
index 9bdd9fe..4fe2795 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java
@@ -19,6 +19,7 @@
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+import org.eclipse.uml2.uml.OpaqueExpression;
/**
* <!-- begin-user-doc -->
@@ -29,6 +30,7 @@
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceAssignmentExpressionImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceAssignmentExpressionImpl#getBase_OpaqueExpression <em>Base Opaque Expression</em>}</li>
* </ul>
*
* @generated
@@ -106,6 +108,56 @@
* <!-- end-user-doc -->
* @generated
*/
+ @Override
+ public OpaqueExpression getBase_OpaqueExpression() {
+ if (base_OpaqueExpression != null && base_OpaqueExpression.eIsProxy()) {
+ InternalEObject oldBase_OpaqueExpression = (InternalEObject)base_OpaqueExpression;
+ base_OpaqueExpression = (OpaqueExpression)eResolveProxy(oldBase_OpaqueExpression);
+ if (base_OpaqueExpression != oldBase_OpaqueExpression) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__BASE_OPAQUE_EXPRESSION, oldBase_OpaqueExpression, base_OpaqueExpression));
+ }
+ }
+ return base_OpaqueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public OpaqueExpression basicGetBase_OpaqueExpression() {
+ return base_OpaqueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_OpaqueExpression(OpaqueExpression newBase_OpaqueExpression) {
+ OpaqueExpression oldBase_OpaqueExpression = base_OpaqueExpression;
+ base_OpaqueExpression = newBase_OpaqueExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__BASE_OPAQUE_EXPRESSION, oldBase_OpaqueExpression, base_OpaqueExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_OpaqueExpression() {
+ return base_OpaqueExpression != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public boolean ResourceAssignmentExpressionexpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
// TODO: implement this method
// -> specify the condition that violates the invariant
@@ -181,6 +233,8 @@
switch (featureID) {
case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION:
return expression != null;
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__BASE_OPAQUE_EXPRESSION:
+ return isSetBase_OpaqueExpression();
}
return super.eIsSet(featureID);
}
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java
index 2eace80..92f881c 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java
@@ -17,6 +17,7 @@
import org.eclipse.emf.ecore.util.EObjectValidator;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
import org.eclipse.uml2.uml.ControlFlow;
@@ -32,6 +33,8 @@
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#getBase_ControlFlow <em>Base Control Flow</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#isImmediate <em>Is Immediate</em>}</li>
* <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#getConditionExpression <em>Condition Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#getSourceRef <em>Source Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#getTargetRef <em>Target Ref</em>}</li>
* </ul>
*
* @generated
@@ -198,6 +201,72 @@
* <!-- end-user-doc -->
* @generated
*/
+ public FlowNode getSourceRef() {
+ FlowNode sourceRef = basicGetSourceRef();
+ return sourceRef != null && sourceRef.eIsProxy() ? (FlowNode)eResolveProxy((InternalEObject)sourceRef) : sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowNode basicGetSourceRef() {
+ // TODO: implement this method to return the 'Source Ref' reference
+ // -> do not perform proxy resolution
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSourceRef(FlowNode newSourceRef) {
+ // TODO: implement this method to set the 'Source Ref' reference
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowNode getTargetRef() {
+ FlowNode targetRef = basicGetTargetRef();
+ return targetRef != null && targetRef.eIsProxy() ? (FlowNode)eResolveProxy((InternalEObject)targetRef) : targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowNode basicGetTargetRef() {
+ // TODO: implement this method to return the 'Target Ref' reference
+ // -> do not perform proxy resolution
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetRef(FlowNode newTargetRef) {
+ // TODO: implement this method to set the 'Target Ref' reference
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public boolean SequenceFlowconditionExpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
// TODO: implement this method
// -> specify the condition that violates the invariant
@@ -284,6 +353,12 @@
case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
if (resolve) return getConditionExpression();
return basicGetConditionExpression();
+ case BPMNProfilePackage.SEQUENCE_FLOW__SOURCE_REF:
+ if (resolve) return getSourceRef();
+ return basicGetSourceRef();
+ case BPMNProfilePackage.SEQUENCE_FLOW__TARGET_REF:
+ if (resolve) return getTargetRef();
+ return basicGetTargetRef();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -305,6 +380,12 @@
case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
setConditionExpression((BPMNExpression)newValue);
return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__SOURCE_REF:
+ setSourceRef((FlowNode)newValue);
+ return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__TARGET_REF:
+ setTargetRef((FlowNode)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -326,6 +407,12 @@
case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
setConditionExpression((BPMNExpression)null);
return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__SOURCE_REF:
+ setSourceRef((FlowNode)null);
+ return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__TARGET_REF:
+ setTargetRef((FlowNode)null);
+ return;
}
super.eUnset(featureID);
}
@@ -344,6 +431,10 @@
return isImmediate != IS_IMMEDIATE_EDEFAULT;
case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
return conditionExpression != null;
+ case BPMNProfilePackage.SEQUENCE_FLOW__SOURCE_REF:
+ return basicGetSourceRef() != null;
+ case BPMNProfilePackage.SEQUENCE_FLOW__TARGET_REF:
+ return basicGetTargetRef() != null;
}
return super.eIsSet(featureID);
}
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java
index 4869c4b..d571606 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java
@@ -5,6 +5,136 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Assignment;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Category;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Conversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObject;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStore;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Documentation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Gateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Group;
+import org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Lane;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Performer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Resource;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RootElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SendTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Task;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Transaction;
+import org.eclipse.papyrus.bpmn.BPMNProfile.UserTask;
import org.eclipse.papyrus.bpmn.BPMNProfile.*;
/**
@@ -423,6 +553,7 @@
Participant participant = (Participant)theEObject;
T result = caseParticipant(participant);
if (result == null) result = caseBaseElement(participant);
+ if (result == null) result = caseInteractionNode(participant);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -479,6 +610,7 @@
case BPMNProfilePackage.CONVERSATION_NODE: {
ConversationNode conversationNode = (ConversationNode)theEObject;
T result = caseConversationNode(conversationNode);
+ if (result == null) result = caseBaseElement(conversationNode);
if (result == null) result = caseInteractionNode(conversationNode);
if (result == null) result = defaultCase(theEObject);
return result;
@@ -622,6 +754,7 @@
BPMNActivity bpmnActivity = (BPMNActivity)theEObject;
T result = caseBPMNActivity(bpmnActivity);
if (result == null) result = caseFlowNode(bpmnActivity);
+ if (result == null) result = caseInteractionNode(bpmnActivity);
if (result == null) result = caseFlowElement(bpmnActivity);
if (result == null) result = caseBaseElement(bpmnActivity);
if (result == null) result = defaultCase(theEObject);
@@ -633,6 +766,7 @@
if (result == null) result = caseCatchEvent(boundaryEvent);
if (result == null) result = caseBPMNEvent(boundaryEvent);
if (result == null) result = caseFlowNode(boundaryEvent);
+ if (result == null) result = caseInteractionNode(boundaryEvent);
if (result == null) result = caseFlowElement(boundaryEvent);
if (result == null) result = caseBaseElement(boundaryEvent);
if (result == null) result = defaultCase(theEObject);
@@ -643,6 +777,7 @@
T result = caseCatchEvent(catchEvent);
if (result == null) result = caseBPMNEvent(catchEvent);
if (result == null) result = caseFlowNode(catchEvent);
+ if (result == null) result = caseInteractionNode(catchEvent);
if (result == null) result = caseFlowElement(catchEvent);
if (result == null) result = caseBaseElement(catchEvent);
if (result == null) result = defaultCase(theEObject);
@@ -652,6 +787,7 @@
BPMNEvent bpmnEvent = (BPMNEvent)theEObject;
T result = caseBPMNEvent(bpmnEvent);
if (result == null) result = caseFlowNode(bpmnEvent);
+ if (result == null) result = caseInteractionNode(bpmnEvent);
if (result == null) result = caseFlowElement(bpmnEvent);
if (result == null) result = caseBaseElement(bpmnEvent);
if (result == null) result = defaultCase(theEObject);
@@ -745,6 +881,7 @@
if (result == null) result = caseThrowEvent(endEvent);
if (result == null) result = caseBPMNEvent(endEvent);
if (result == null) result = caseFlowNode(endEvent);
+ if (result == null) result = caseInteractionNode(endEvent);
if (result == null) result = caseFlowElement(endEvent);
if (result == null) result = caseBaseElement(endEvent);
if (result == null) result = defaultCase(theEObject);
@@ -755,6 +892,7 @@
T result = caseThrowEvent(throwEvent);
if (result == null) result = caseBPMNEvent(throwEvent);
if (result == null) result = caseFlowNode(throwEvent);
+ if (result == null) result = caseInteractionNode(throwEvent);
if (result == null) result = caseFlowElement(throwEvent);
if (result == null) result = caseBaseElement(throwEvent);
if (result == null) result = defaultCase(theEObject);
@@ -775,6 +913,7 @@
if (result == null) result = caseCatchEvent(startEvent);
if (result == null) result = caseBPMNEvent(startEvent);
if (result == null) result = caseFlowNode(startEvent);
+ if (result == null) result = caseInteractionNode(startEvent);
if (result == null) result = caseFlowElement(startEvent);
if (result == null) result = caseBaseElement(startEvent);
if (result == null) result = defaultCase(theEObject);
@@ -813,6 +952,7 @@
if (result == null) result = caseCatchEvent(intermediateCatchEvent);
if (result == null) result = caseBPMNEvent(intermediateCatchEvent);
if (result == null) result = caseFlowNode(intermediateCatchEvent);
+ if (result == null) result = caseInteractionNode(intermediateCatchEvent);
if (result == null) result = caseFlowElement(intermediateCatchEvent);
if (result == null) result = caseBaseElement(intermediateCatchEvent);
if (result == null) result = defaultCase(theEObject);
@@ -824,6 +964,7 @@
if (result == null) result = caseThrowEvent(intermediateThrowEvent);
if (result == null) result = caseBPMNEvent(intermediateThrowEvent);
if (result == null) result = caseFlowNode(intermediateThrowEvent);
+ if (result == null) result = caseInteractionNode(intermediateThrowEvent);
if (result == null) result = caseFlowElement(intermediateThrowEvent);
if (result == null) result = caseBaseElement(intermediateThrowEvent);
if (result == null) result = defaultCase(theEObject);
@@ -844,6 +985,7 @@
if (result == null) result = caseThrowEvent(implicitThrowEvent);
if (result == null) result = caseBPMNEvent(implicitThrowEvent);
if (result == null) result = caseFlowNode(implicitThrowEvent);
+ if (result == null) result = caseInteractionNode(implicitThrowEvent);
if (result == null) result = caseFlowElement(implicitThrowEvent);
if (result == null) result = caseBaseElement(implicitThrowEvent);
if (result == null) result = defaultCase(theEObject);
@@ -923,6 +1065,7 @@
if (result == null) result = caseTask(userTask);
if (result == null) result = caseBPMNActivity(userTask);
if (result == null) result = caseFlowNode(userTask);
+ if (result == null) result = caseInteractionNode(userTask);
if (result == null) result = caseFlowElement(userTask);
if (result == null) result = caseBaseElement(userTask);
if (result == null) result = defaultCase(theEObject);
@@ -933,6 +1076,7 @@
T result = caseTask(task);
if (result == null) result = caseBPMNActivity(task);
if (result == null) result = caseFlowNode(task);
+ if (result == null) result = caseInteractionNode(task);
if (result == null) result = caseFlowElement(task);
if (result == null) result = caseBaseElement(task);
if (result == null) result = defaultCase(theEObject);
@@ -988,6 +1132,7 @@
if (result == null) result = caseTask(manualTask);
if (result == null) result = caseBPMNActivity(manualTask);
if (result == null) result = caseFlowNode(manualTask);
+ if (result == null) result = caseInteractionNode(manualTask);
if (result == null) result = caseFlowElement(manualTask);
if (result == null) result = caseBaseElement(manualTask);
if (result == null) result = defaultCase(theEObject);
@@ -1007,6 +1152,7 @@
SubConversation subConversation = (SubConversation)theEObject;
T result = caseSubConversation(subConversation);
if (result == null) result = caseConversationNode(subConversation);
+ if (result == null) result = caseBaseElement(subConversation);
if (result == null) result = caseInteractionNode(subConversation);
if (result == null) result = defaultCase(theEObject);
return result;
@@ -1024,6 +1170,7 @@
CallConversation callConversation = (CallConversation)theEObject;
T result = caseCallConversation(callConversation);
if (result == null) result = caseConversationNode(callConversation);
+ if (result == null) result = caseBaseElement(callConversation);
if (result == null) result = caseInteractionNode(callConversation);
if (result == null) result = defaultCase(theEObject);
return result;
@@ -1032,6 +1179,7 @@
Conversation conversation = (Conversation)theEObject;
T result = caseConversation(conversation);
if (result == null) result = caseConversationNode(conversation);
+ if (result == null) result = caseBaseElement(conversation);
if (result == null) result = caseInteractionNode(conversation);
if (result == null) result = defaultCase(theEObject);
return result;
@@ -1042,6 +1190,7 @@
if (result == null) result = caseBPMNActivity(subProcess);
if (result == null) result = caseFlowElementsContainer(subProcess);
if (result == null) result = caseFlowNode(subProcess);
+ if (result == null) result = caseInteractionNode(subProcess);
if (result == null) result = caseFlowElement(subProcess);
if (result == null) result = caseBaseElement(subProcess);
if (result == null) result = defaultCase(theEObject);
@@ -1052,6 +1201,7 @@
T result = caseCallActivity(callActivity);
if (result == null) result = caseBPMNActivity(callActivity);
if (result == null) result = caseFlowNode(callActivity);
+ if (result == null) result = caseInteractionNode(callActivity);
if (result == null) result = caseFlowElement(callActivity);
if (result == null) result = caseBaseElement(callActivity);
if (result == null) result = defaultCase(theEObject);
@@ -1063,6 +1213,7 @@
if (result == null) result = caseTask(businessRuleTask);
if (result == null) result = caseBPMNActivity(businessRuleTask);
if (result == null) result = caseFlowNode(businessRuleTask);
+ if (result == null) result = caseInteractionNode(businessRuleTask);
if (result == null) result = caseFlowElement(businessRuleTask);
if (result == null) result = caseBaseElement(businessRuleTask);
if (result == null) result = defaultCase(theEObject);
@@ -1082,6 +1233,7 @@
if (result == null) result = caseBPMNActivity(adHocSubProcess);
if (result == null) result = caseFlowElementsContainer(adHocSubProcess);
if (result == null) result = caseFlowNode(adHocSubProcess);
+ if (result == null) result = caseInteractionNode(adHocSubProcess);
if (result == null) result = caseFlowElement(adHocSubProcess);
if (result == null) result = caseBaseElement(adHocSubProcess);
if (result == null) result = defaultCase(theEObject);
@@ -1093,6 +1245,7 @@
if (result == null) result = caseTask(scriptTask);
if (result == null) result = caseBPMNActivity(scriptTask);
if (result == null) result = caseFlowNode(scriptTask);
+ if (result == null) result = caseInteractionNode(scriptTask);
if (result == null) result = caseFlowElement(scriptTask);
if (result == null) result = caseBaseElement(scriptTask);
if (result == null) result = defaultCase(theEObject);
@@ -1104,6 +1257,7 @@
if (result == null) result = caseTask(sendTask);
if (result == null) result = caseBPMNActivity(sendTask);
if (result == null) result = caseFlowNode(sendTask);
+ if (result == null) result = caseInteractionNode(sendTask);
if (result == null) result = caseFlowElement(sendTask);
if (result == null) result = caseBaseElement(sendTask);
if (result == null) result = defaultCase(theEObject);
@@ -1116,6 +1270,7 @@
if (result == null) result = caseBPMNActivity(transaction);
if (result == null) result = caseFlowElementsContainer(transaction);
if (result == null) result = caseFlowNode(transaction);
+ if (result == null) result = caseInteractionNode(transaction);
if (result == null) result = caseFlowElement(transaction);
if (result == null) result = caseBaseElement(transaction);
if (result == null) result = defaultCase(theEObject);
@@ -1135,6 +1290,7 @@
if (result == null) result = caseTask(receiveTask);
if (result == null) result = caseBPMNActivity(receiveTask);
if (result == null) result = caseFlowNode(receiveTask);
+ if (result == null) result = caseInteractionNode(receiveTask);
if (result == null) result = caseFlowElement(receiveTask);
if (result == null) result = caseBaseElement(receiveTask);
if (result == null) result = defaultCase(theEObject);
@@ -1146,6 +1302,7 @@
if (result == null) result = caseTask(serviceTask);
if (result == null) result = caseBPMNActivity(serviceTask);
if (result == null) result = caseFlowNode(serviceTask);
+ if (result == null) result = caseInteractionNode(serviceTask);
if (result == null) result = caseFlowElement(serviceTask);
if (result == null) result = caseBaseElement(serviceTask);
if (result == null) result = defaultCase(theEObject);
diff --git a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java
index 8d4ef26..70412c7 100755
--- a/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java
+++ b/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java
@@ -2,12 +2,22 @@
*/
package org.eclipse.papyrus.bpmn.BPMNProfile.util;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
+import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
import org.eclipse.papyrus.bpmn.BPMNProfile.*;
/**
@@ -4904,4 +4914,177 @@
return super.getResourceLocator();
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private String getRedefinitionDetail(EClass eClass, String featureName, String key) {
+ List<EClass> eClasses = new ArrayList<EClass>();
+ eClasses.add(eClass);
+ eClasses.addAll(eClass.getEAllSuperTypes());
+ String redefinitionDetail = null;
+ for (Iterator<EClass> eClassesIterator = eClasses.iterator(); redefinitionDetail == null && eClassesIterator.hasNext(); ) {
+ EAnnotation eAnnotation = eClassesIterator.next().getEAnnotation("duplicates");
+ if (eAnnotation != null) {
+ EAnnotation nestedEAnnotation = eAnnotation.getEAnnotation(featureName);
+ if (nestedEAnnotation != null) {
+ redefinitionDetail = nestedEAnnotation.getDetails().get(key);
+ }
+ }
+ }
+ return redefinitionDetail;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected int getLowerBound(EObject eObject, EStructuralFeature eStructuralFeature) {
+ String redefinitionDetail = getRedefinitionDetail(eObject.eClass(), eStructuralFeature.getName(), "lowerBound");
+ if (redefinitionDetail != null && redefinitionDetail.length() > 0) {
+ try {
+ return Integer.parseInt(redefinitionDetail);
+ }
+ catch (Exception e) {
+ // do nothing
+ }
+ }
+ return eStructuralFeature.getLowerBound();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected int getUpperBound(EObject eObject, EStructuralFeature eStructuralFeature) {
+ String redefinitionDetail = getRedefinitionDetail(eObject.eClass(), eStructuralFeature.getName(), "upperBound");
+ if (redefinitionDetail != null && redefinitionDetail.length() > 0) {
+ try {
+ return Integer.parseInt(redefinitionDetail);
+ }
+ catch (Exception e) {
+ // do nothing
+ }
+ }
+ return eStructuralFeature.getUpperBound();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean isEcoreString(String key) {
+ return super.isEcoreString(key)
+ || "_UI_FeatureHasTooFewValues_diagnostic".equals(key)
+ || "_UI_FeatureHasTooManyValues_diagnostic".equals(key)
+ || "_UI_RequiredFeatureMustBeSet_diagnostic".equals(key);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validate_MultiplicityConforms(EObject eObject, EStructuralFeature eStructuralFeature, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ boolean result = true;
+ if (eStructuralFeature.isMany()) {
+ if (FeatureMapUtil.isFeatureMap(eStructuralFeature) && ExtendedMetaData.INSTANCE.isDocumentRoot(eObject.eClass())) {
+ result = super.validate_MultiplicityConforms(eObject, eStructuralFeature, diagnostics, context);
+ }
+ else {
+ int lowerBound = getLowerBound(eObject, eStructuralFeature);
+ if (lowerBound > 0) {
+ int size = ((List<?>) eObject.eGet(eStructuralFeature)).size();
+ if (size < lowerBound) {
+ result = false;
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ EObjectValidator.DIAGNOSTIC_SOURCE,
+ EObjectValidator.EOBJECT__EVERY_MULTIPCITY_CONFORMS,
+ "_UI_FeatureHasTooFewValues_diagnostic",
+ new Object [] {
+ getFeatureLabel(eStructuralFeature, context),
+ getObjectLabel(eObject, context),
+ size,
+ lowerBound
+ },
+ new Object [] { eObject, eStructuralFeature },
+ context));
+ }
+ }
+ int upperBound = getUpperBound(eObject, eStructuralFeature);
+ if (upperBound > 0 && size > upperBound) {
+ result = false;
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ EObjectValidator.DIAGNOSTIC_SOURCE,
+ EObjectValidator.EOBJECT__EVERY_MULTIPCITY_CONFORMS,
+ "_UI_FeatureHasTooManyValues_diagnostic",
+ new Object [] {
+ getFeatureLabel(eStructuralFeature, context),
+ getObjectLabel(eObject, context),
+ size,
+ upperBound
+ },
+ new Object [] { eObject, eStructuralFeature },
+ context));
+ }
+ }
+ }
+ else {
+ int upperBound = getUpperBound(eObject, eStructuralFeature);
+ if (upperBound > 0) {
+ int size = ((List<?>) eObject.eGet(eStructuralFeature)).size();
+ if (size > upperBound) {
+ result = false;
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ EObjectValidator.DIAGNOSTIC_SOURCE,
+ EObjectValidator.EOBJECT__EVERY_MULTIPCITY_CONFORMS,
+ "_UI_FeatureHasTooManyValues_diagnostic",
+ new Object [] {
+ getFeatureLabel(eStructuralFeature, context),
+ getObjectLabel(eObject, context),
+ size,
+ upperBound
+ },
+ new Object [] { eObject, eStructuralFeature },
+ context));
+ }
+ }
+ }
+ }
+ }
+ }
+ else if (getLowerBound(eObject, eStructuralFeature) >= 1) {
+ if (eStructuralFeature.isUnsettable() ? !eObject.eIsSet(eStructuralFeature) : eObject.eGet(eStructuralFeature, false) == null) {
+ result = false;
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ EObjectValidator.DIAGNOSTIC_SOURCE,
+ EObjectValidator.EOBJECT__EVERY_MULTIPCITY_CONFORMS,
+ "_UI_RequiredFeatureMustBeSet_diagnostic",
+ new Object [] { getFeatureLabel(eStructuralFeature, context), getObjectLabel(eObject, context) },
+ new Object [] { eObject, eStructuralFeature },
+ context));
+ }
+ }
+ }
+ return result;
+ }
+
} //BPMNProfileValidator