Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/src/org/eclipse/papyrus/dev/assistants/codegen/generator/ModelingAssistantProviderRule.xtend4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/plugin.properties2
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/provider/ModelingAssistantProviderItemProvider.java177
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.ecore23
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.genmodel10
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.merged.uml55
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.notation84
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.uml31
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/Assistant.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistantPackage.java126
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistedElementTypeFilter.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ConnectionAssistant.java10
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ElementTypeFilter.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ModelingAssistantProvider.java61
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/PopupAssistant.java8
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantImpl.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantPackageImpl.java79
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistedElementTypeFilterImpl.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ConnectionAssistantImpl.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ElementTypeFilterImpl.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ModelingAssistantProviderImpl.java153
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/PopupAssistantImpl.java4
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistantOperations.java6
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistedElementTypeFilterOperations.java6
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ElementTypeFilterOperations.java6
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ModelingAssistantProviderOperations.java70
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src/org/eclipse/papyrus/infra/gmfdiag/assistant/core/util/ModelingAssistantUtil.java16
-rw-r--r--plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator/src/org/eclipse/papyrus/uml/profile/assistants/generator/ModelingAssistantProviderRule.xtend1
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.assistants24
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase/models/usecaseDiagram.assistants12
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants2
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants2
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants2
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java3
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java32
35 files changed, 903 insertions, 134 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/src/org/eclipse/papyrus/dev/assistants/codegen/generator/ModelingAssistantProviderRule.xtend b/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/src/org/eclipse/papyrus/dev/assistants/codegen/generator/ModelingAssistantProviderRule.xtend
index 2f5530fdf7d..d6e4ef71e3e 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/src/org/eclipse/papyrus/dev/assistants/codegen/generator/ModelingAssistantProviderRule.xtend
+++ b/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/src/org/eclipse/papyrus/dev/assistants/codegen/generator/ModelingAssistantProviderRule.xtend
@@ -42,6 +42,7 @@ class ModelingAssistantProviderRule extends org.eclipse.papyrus.uml.profile.assi
// Popup assistants to create non-relationships
popupAssistants.add(type.toPopupAssistant)
} else {
+ relationshipTypeIDs.add(type.identifier)
connectionAssistants.add(type.toConnectionAssistant)
}
]
@@ -50,7 +51,8 @@ class ModelingAssistantProviderRule extends org.eclipse.papyrus.uml.profile.assi
def create createModelingAssistantProvider toModelingAssistantProvider(GenEditorGenerator editor) {
name = editor.modelID
elementTypeIDs.addAll(editor.diagram.validNodes.map[elementType?.uniqueIdentifier].filterNull)
- elementTypeIDs.addAll(editor.diagram.validLinks.map[elementType?.uniqueIdentifier].filterNull)
+ relationshipTypeIDs.addAll(editor.diagram.validLinks.map[elementType?.uniqueIdentifier].filterNull)
+ elementTypeIDs.addAll(relationshipTypeIDs)
popupAssistants.addAll(editor.diagram.validNodes.map[toPopupAssistant])
connectionAssistants.addAll(editor.diagram.validLinks.map[toConnectionAssistant])
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/plugin.properties b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/plugin.properties
index 11862325c22..f4054557eb3 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/plugin.properties
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/plugin.properties
@@ -61,3 +61,5 @@ _UI_AssistedElementTypeFilter_type = Assisted Element Type Filter
_UI_AssistedElementTypeFilter_provider_feature = Provider
_UI_ModelingAssistantProvider_excludedElementType_feature = Excluded Element Type
_UI_ModelingAssistantProvider_excludedElementTypeID_feature = Excluded Element Type ID
+_UI_ModelingAssistantProvider_relationshipType_feature = Relationship Type
+_UI_ModelingAssistantProvider_relationshipTypeID_feature = Relationship Type ID
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/provider/ModelingAssistantProviderItemProvider.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/provider/ModelingAssistantProviderItemProvider.java
index a746a53399d..9a16604b3af 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/provider/ModelingAssistantProviderItemProvider.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.edit/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/provider/ModelingAssistantProviderItemProvider.java
@@ -12,15 +12,24 @@
package org.eclipse.papyrus.infra.gmfdiag.assistant.provider;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
import java.util.Objects;
+import java.util.Set;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.command.RemoveCommand;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
@@ -40,6 +49,9 @@ import org.eclipse.papyrus.infra.filters.FiltersFactory;
import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantFactory;
import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage;
import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSupersetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
/**
* This is the item provider adapter for a {@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider} object.
@@ -82,6 +94,8 @@ public class ModelingAssistantProviderItemProvider extends ItemProviderAdapter i
addClientContextIDPropertyDescriptor(object);
addExcludedElementTypePropertyDescriptor(object);
addExcludedElementTypeIDPropertyDescriptor(object);
+ addRelationshipTypePropertyDescriptor(object);
+ addRelationshipTypeIDPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -304,6 +318,55 @@ public class ModelingAssistantProviderItemProvider extends ItemProviderAdapter i
}
/**
+ * This adds a property descriptor for the Relationship Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addRelationshipTypePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ModelingAssistantProvider_relationshipType_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ModelingAssistantProvider_relationshipType_feature", "_UI_ModelingAssistantProvider_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE,
+ false,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ new String[] { "org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Relationship Type ID feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addRelationshipTypeIDPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ModelingAssistantProvider_relationshipTypeID_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ModelingAssistantProvider_relationshipTypeID_feature", "_UI_ModelingAssistantProvider_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
* <!-- begin-user-doc -->
@@ -399,6 +462,8 @@ public class ModelingAssistantProviderItemProvider extends ItemProviderAdapter i
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT_ID:
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE:
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE_ID:
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE:
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__OWNED_FILTER:
@@ -465,4 +530,116 @@ public class ModelingAssistantProviderItemProvider extends ItemProviderAdapter i
return ((IChildCreationExtender) adapterFactory).getResourceLocator();
}
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Command createAddCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, Collection<?> collection, int index) {
+ if (feature == AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID) {
+ return new SubsetAddCommand(domain, owner, feature, new EStructuralFeature[] { AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID }, collection, index);
+ }
+ return super.createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, Collection<?> collection) {
+ if (feature == AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID) {
+ return new SupersetRemoveCommand(domain, owner, feature, new EStructuralFeature[] { AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID }, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, Object value, Collection<?> collection) {
+ if (feature == AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID) {
+ return new SubsetSupersetReplaceCommand(domain, owner, feature, new EStructuralFeature[] { AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID }, null, value, collection);
+ }
+ if (feature == AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID) {
+ return new SubsetSupersetReplaceCommand(domain, owner, feature, null, new EStructuralFeature[] { AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID }, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value, collection);
+ }
+
+ //
+ // FIXME Work-around for UML2 bug 459723
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=459723
+ // Replace with generated code when available
+ //
+
+ @Override
+ protected Command createSetCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, Object value) {
+ if (feature == AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID) {
+ return createSetSubsetListCommand(domain, owner, feature, new EStructuralFeature[] { AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID }, value);
+ }
+ if (feature == AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID) {
+ return createSetSupersetListCommand(domain, owner, feature, new EStructuralFeature[] { AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID }, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+ protected Command createSetSubsetListCommand(EditingDomain domain, EObject owner, EStructuralFeature subset, EStructuralFeature[] supersets, Object value) {
+ List<Command> result = new ArrayList<>(supersets.length + 1);
+
+ EList<?> newList = (EList<?>) value;
+ result.add(new SetCommand(domain, owner, subset, newList));
+
+ for (int i = 0; i < supersets.length; i++) {
+ EStructuralFeature superset = supersets[i];
+ EList<Object> toAdd = new BasicEList<>(newList.size());
+ Set<?> current = new HashSet<>((EList<?>) owner.eGet(superset));
+ for (Object next : newList) {
+ if (!current.contains(next)) {
+ toAdd.add(next);
+ }
+ }
+ if (!toAdd.isEmpty()) {
+ result.add(AddCommand.create(domain, owner, superset, toAdd));
+ }
+ }
+
+ return (result.size() == 1) ? result.get(0) : new CompoundCommand(0, result);
+ }
+
+ protected Command createSetSupersetListCommand(EditingDomain domain, EObject owner, EStructuralFeature superset, EStructuralFeature[] subsets, Object value) {
+ List<Command> result = new ArrayList<>(subsets.length + 1);
+
+ EList<?> newList = (EList<?>) value;
+ result.add(new SetCommand(domain, owner, superset, newList));
+
+ // What are we removing?
+ EList<Object> toRemove = new BasicEList<>((EList<?>) owner.eGet(superset));
+ toRemove.removeAll(newList);
+
+ if (!toRemove.isEmpty()) {
+ for (int i = 0; i < subsets.length; i++) {
+ EStructuralFeature subset = subsets[i];
+ EList<Object> toRemoveFromSubset = new BasicEList<>((EList<?>) owner.eGet(subset));
+ toRemoveFromSubset.retainAll(toRemove);
+ if (!toRemoveFromSubset.isEmpty()) {
+ result.add(RemoveCommand.create(domain, owner, subset, toRemoveFromSubset));
+ }
+ }
+ }
+
+ return (result.size() == 1) ? result.get(0) : new CompoundCommand(0, result);
+ }
+
+ //
+ // End work-around
+ //
}
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.ecore b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.ecore
index 03f67d72805..3aecc7a63a1 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.ecore
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.ecore
@@ -37,6 +37,14 @@
<details key="suppressedVisibility" value="true"/>
</eAnnotations>
</eOperations>
+ <eOperations name="getRelationshipTypes" ordered="false" upperBound="-1" eType="#//ElementType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="suppressedVisibility" value="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isRelationshipType" ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="elementType" ordered="false" lowerBound="1" eType="#//ElementType"/>
+ </eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="assistant" ordered="false"
upperBound="-1" eType="#//Assistant" changeable="false" volatile="true" transient="true"
@@ -93,6 +101,21 @@
<details key="documentation" value="Identifiers of element types that the provider will never return as popup or connection assistants.&#xA;This implies that inferred element types specializing any of these excluded types also will not be provided as assistants."/>
</eAnnotations>
</eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="relationshipType" ordered="false"
+ unique="false" upperBound="-1" eType="#//ElementType" changeable="false" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The element types supported by the provider."/>
+ </eAnnotations>
+ <eAnnotations source="subsets" references="#//ModelingAssistantProvider/elementType"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="relationshipTypeID" ordered="false"
+ upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The identifiers of element types supported by the provider."/>
+ </eAnnotations>
+ <eAnnotations source="subsets" references="#//ModelingAssistantProvider/elementTypeID"/>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Assistant" abstract="true">
<eOperations name="getElementType" ordered="false" lowerBound="1" eType="#//ElementType">
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.genmodel b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.genmodel
index 7bbeb3a6db3..01e9256b610 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.genmodel
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.genmodel
@@ -76,6 +76,11 @@
<propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
</genFeatures>
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute assistant.ecore#//ModelingAssistantProvider/excludedElementTypeID"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+ ecoreFeature="ecore:EAttribute assistant.ecore#//ModelingAssistantProvider/relationshipType">
+ <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+ </genFeatures>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute assistant.ecore#//ModelingAssistantProvider/relationshipTypeID"/>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="assistant.ecore#//ModelingAssistantProvider/getElementTypes"
cacheAdapterScope="Resource"/>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="assistant.ecore#//ModelingAssistantProvider/getClientContext"
@@ -85,6 +90,11 @@
</genOperations>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="assistant.ecore#//ModelingAssistantProvider/getExcludedElementTypes"
cacheAdapterScope="Resource"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="assistant.ecore#//ModelingAssistantProvider/getRelationshipTypes"
+ cacheAdapterScope="Resource"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="assistant.ecore#//ModelingAssistantProvider/isRelationshipType">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="assistant.ecore#//ModelingAssistantProvider/isRelationshipType/elementType"/>
+ </genOperations>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="assistant.ecore#//Assistant">
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute assistant.ecore#//Assistant/elementTypeID"/>
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.merged.uml b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.merged.uml
index bcbac553ead..d533bf3e8fc 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.merged.uml
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.merged.uml
@@ -266,6 +266,21 @@ This implies that inferred element types specializing any of these excluded type
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="ModelingAssistantProvider-excludedElementTypeID-_lowerValue"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ModelingAssistantProvider-excludedElementTypeID-_upperValue" value="*"/>
</ownedAttribute>
+ <ownedAttribute xmi:id="ModelingAssistantProvider-relationshipType" name="relationshipType" visibility="public" type="ElementType" isUnique="false" isReadOnly="true" isDerived="true" subsettedProperty="ModelingAssistantProvider-elementType">
+ <ownedComment xmi:id="ModelingAssistantProvider-relationshipType-_ownedComment.0" annotatedElement="ModelingAssistantProvider-relationshipType">
+ <body>The element types supported by the provider.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ModelingAssistantProvider-relationshipType-_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ModelingAssistantProvider-relationshipType-_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="ModelingAssistantProvider-relationshipTypeID" name="relationshipTypeID" subsettedProperty="ModelingAssistantProvider-elementTypeID">
+ <ownedComment xmi:id="ModelingAssistantProvider-relationshipTypeID-_ownedComment.0" annotatedElement="ModelingAssistantProvider-relationshipTypeID">
+ <body>The identifiers of element types supported by the provider.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ModelingAssistantProvider-relationshipTypeID-_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ModelingAssistantProvider-relationshipTypeID-_upperValue" value="*"/>
+ </ownedAttribute>
<interfaceRealization xmi:id="ModelingAssistantProvider-_interfaceRealization.0" client="ModelingAssistantProvider" supplier="IProvider IModelingAssistantProvider" contract="IModelingAssistantProvider"/>
<ownedOperation xmi:id="ModelingAssistantProvider-getElementTypes" name="getElementTypes" visibility="protected" isQuery="true">
<ownedParameter xmi:id="ModelingAssistantProvider-getElementTypes-_ownedParameter.0" type="ElementType" direction="return">
@@ -291,6 +306,18 @@ This implies that inferred element types specializing any of these excluded type
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ModelingAssistantProvider-getExcludedElementTypes-_ownedParameter.0-_upperValue" value="*"/>
</ownedParameter>
</ownedOperation>
+ <ownedOperation xmi:id="ModelingAssistantProvider-getRelationshipTypes" name="getRelationshipTypes" visibility="protected" isQuery="true">
+ <ownedParameter xmi:id="ModelingAssistantProvider-getRelationshipTypes-_ownedParameter.0" type="ElementType" direction="return">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ModelingAssistantProvider-getRelationshipTypes-_ownedParameter.0-_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ModelingAssistantProvider-getRelationshipTypes-_ownedParameter.0-_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="ModelingAssistantProvider-isRelationshipType" name="isRelationshipType">
+ <ownedParameter xmi:id="ModelingAssistantProvider-isRelationshipType-elementType" name="elementType" type="ElementType" effect="read"/>
+ <ownedParameter xmi:id="ModelingAssistantProvider-isRelationshipType-_ownedParameter.1" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="IModelingAssistantProvider" name="IModelingAssistantProvider" visibility="private">
<generalization xmi:id="IModelingAssistantProvider-_generalization.0" general="IProvider"/>
@@ -407,17 +434,19 @@ This implies that inferred element types specializing any of these excluded type
<Ecore:EOperation xmi:id="_yacP0IFgEeS8o9c9-aDIuQ" base_Operation="AssistedElementTypeFilter-getProvider" visibility="None"/>
<Ecore:EAttribute xmi:id="_alaK8Ku-EeSfB7MLtP_t1w" base_Property="ModelingAssistantProvider-excludedElementType"/>
<Ecore:EOperation xmi:id="_6xnMsKu-EeSfB7MLtP_t1w" base_Operation="ModelingAssistantProvider-getExcludedElementTypes" visibility="None"/>
- <Ecore:EDataType xmi:id="_fNkzcKu_EeSfB7MLtP_t1w" instanceClassName="org.eclipse.gmf.runtime.common.core.service.IOperation" base_PrimitiveType="IOperation"/>
- <Ecore:EDataType xmi:id="_fNkzcau_EeSfB7MLtP_t1w" instanceClassName="org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener" base_PrimitiveType="IProviderChangeListener"/>
- <Ecore:EClass xmi:id="_fNkzcqu_EeSfB7MLtP_t1w" instanceClassName="org.eclipse.gmf.runtime.common.core.service.IProvider" base_Interface="IProvider"/>
- <Ecore:EReference xmi:id="_fNkzc6u_EeSfB7MLtP_t1w" isTransient="true" visibility="None" base_Property="IProvider-listener"/>
- <Ecore:EDataType xmi:id="_fNod0Ku_EeSfB7MLtP_t1w" instanceClassName="org.eclipse.core.runtime.IAdaptable" base_PrimitiveType="IAdaptable"/>
- <Ecore:EClass xmi:id="_fNpE4Ku_EeSfB7MLtP_t1w" instanceClassName="org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider" base_Interface="IModelingAssistantProvider"/>
- <standard:Metamodel xmi:id="_g4XhUKu_EeSfB7MLtP_t1w" base_Model="_0"/>
- <standard:Metaclass xmi:id="_g4ZWgKu_EeSfB7MLtP_t1w" base_Class="ConnectionAssistant"/>
- <standard:Metaclass xmi:id="_g4bLsKu_EeSfB7MLtP_t1w" base_Class="Assistant"/>
- <standard:Metaclass xmi:id="_g4bywKu_EeSfB7MLtP_t1w" base_Class="PopupAssistant"/>
- <standard:Metaclass xmi:id="_g4dA4Ku_EeSfB7MLtP_t1w" base_Class="ElementTypeFilter"/>
- <standard:Metaclass xmi:id="_g4gEMKu_EeSfB7MLtP_t1w" base_Class="AssistedElementTypeFilter"/>
- <standard:Metaclass xmi:id="_g4igcKu_EeSfB7MLtP_t1w" base_Class="ModelingAssistantProvider"/>
+ <Ecore:EAttribute xmi:id="_yIL4oLIoEeSNj7xRtN2nYQ" base_Property="ModelingAssistantProvider-relationshipType"/>
+ <Ecore:EOperation xmi:id="_yIVCkLIoEeSNj7xRtN2nYQ" base_Operation="ModelingAssistantProvider-getRelationshipTypes" visibility="None"/>
+ <Ecore:EDataType xmi:id="_5kuGMLIpEeSNj7xRtN2nYQ" instanceClassName="org.eclipse.gmf.runtime.common.core.service.IOperation" base_PrimitiveType="IOperation"/>
+ <Ecore:EDataType xmi:id="_5kuGMbIpEeSNj7xRtN2nYQ" instanceClassName="org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener" base_PrimitiveType="IProviderChangeListener"/>
+ <Ecore:EClass xmi:id="_5kutQLIpEeSNj7xRtN2nYQ" instanceClassName="org.eclipse.gmf.runtime.common.core.service.IProvider" base_Interface="IProvider"/>
+ <Ecore:EReference xmi:id="_5kutQbIpEeSNj7xRtN2nYQ" isTransient="true" visibility="None" base_Property="IProvider-listener"/>
+ <Ecore:EDataType xmi:id="_5k0z4LIpEeSNj7xRtN2nYQ" instanceClassName="org.eclipse.core.runtime.IAdaptable" base_PrimitiveType="IAdaptable"/>
+ <Ecore:EClass xmi:id="_5k0z4bIpEeSNj7xRtN2nYQ" instanceClassName="org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider" base_Interface="IModelingAssistantProvider"/>
+ <standard:Metamodel xmi:id="_7pIN8LIpEeSNj7xRtN2nYQ" base_Model="_0"/>
+ <standard:Metaclass xmi:id="_7pKDILIpEeSNj7xRtN2nYQ" base_Class="ConnectionAssistant"/>
+ <standard:Metaclass xmi:id="_7pLRQLIpEeSNj7xRtN2nYQ" base_Class="Assistant"/>
+ <standard:Metaclass xmi:id="_7pMfYLIpEeSNj7xRtN2nYQ" base_Class="PopupAssistant"/>
+ <standard:Metaclass xmi:id="_7pNtgLIpEeSNj7xRtN2nYQ" base_Class="ElementTypeFilter"/>
+ <standard:Metaclass xmi:id="_7pQJwLIpEeSNj7xRtN2nYQ" base_Class="AssistedElementTypeFilter"/>
+ <standard:Metaclass xmi:id="_7pR-8LIpEeSNj7xRtN2nYQ" base_Class="ModelingAssistantProvider"/>
</xmi:XMI>
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.notation b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.notation
index 90b4a8780dc..a19a2ae7874 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.notation
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.notation
@@ -31,6 +31,14 @@
<element xmi:type="uml:Property" href="assistant.uml#_afnE8Ku-EeSfB7MLtP_t1w"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_A_6iAau_EeSfB7MLtP_t1w"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_OnBQwLIpEeSNj7xRtN2nYQ" type="3012">
+ <element xmi:type="uml:Property" href="assistant.uml#_yIFK8LIoEeSNj7xRtN2nYQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OnBQwbIpEeSNj7xRtN2nYQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_OnGwULIpEeSNj7xRtN2nYQ" type="3012">
+ <element xmi:type="uml:Property" href="assistant.uml#_yIIOQLIoEeSNj7xRtN2nYQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OnGwUbIpEeSNj7xRtN2nYQ"/>
+ </children>
<styles xmi:type="notation:TitleStyle" xmi:id="_4d348W84EeSumdlFUM6GVw"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_4d348m84EeSumdlFUM6GVw"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_4d348284EeSumdlFUM6GVw"/>
@@ -53,6 +61,14 @@
<element xmi:type="uml:Operation" href="assistant.uml#_6xkwcKu-EeSfB7MLtP_t1w"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_CdodMau_EeSfB7MLtP_t1w"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_PRvBsLIpEeSNj7xRtN2nYQ" type="3013">
+ <element xmi:type="uml:Operation" href="assistant.uml#_yIKDcLIoEeSNj7xRtN2nYQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PRvBsbIpEeSNj7xRtN2nYQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_i02cALIpEeSNj7xRtN2nYQ" type="3013">
+ <element xmi:type="uml:Operation" href="assistant.uml#_i0wVYLIpEeSNj7xRtN2nYQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_i02cAbIpEeSNj7xRtN2nYQ"/>
+ </children>
<styles xmi:type="notation:TitleStyle" xmi:id="_4d349m84EeSumdlFUM6GVw"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_4d349284EeSumdlFUM6GVw"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_4d34-G84EeSumdlFUM6GVw"/>
@@ -65,7 +81,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4d34_m84EeSumdlFUM6GVw"/>
</children>
<element xmi:type="uml:Class" href="assistant.uml#_4dEnsG84EeSumdlFUM6GVw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4dvWEW84EeSumdlFUM6GVw" x="214" y="13" width="237" height="234"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4dvWEW84EeSumdlFUM6GVw" x="193" y="5" width="331" height="300"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_fpdbwG9GEeSumdlFUM6GVw" type="2008">
<children xmi:type="notation:DecorationNode" xmi:id="_fpeC0G9GEeSumdlFUM6GVw" type="5029"/>
@@ -88,7 +104,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_fpeC329GEeSumdlFUM6GVw"/>
</children>
<element xmi:type="uml:Class" href="assistant.uml#_fpc0sG9GEeSumdlFUM6GVw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fpdbwW9GEeSumdlFUM6GVw" x="869" y="354" height="123"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fpdbwW9GEeSumdlFUM6GVw" x="850" y="414" height="123"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_hQPzYG9GEeSumdlFUM6GVw" type="2008">
<children xmi:type="notation:DecorationNode" xmi:id="_hQPzYm9GEeSumdlFUM6GVw" type="5029"/>
@@ -153,7 +169,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CpZwdG9HEeSumdlFUM6GVw"/>
</children>
<element xmi:type="uml:Class" href="assistant.uml#_CpX7QG9HEeSumdlFUM6GVw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CpZJYW9HEeSumdlFUM6GVw" x="712" y="234"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CpZJYW9HEeSumdlFUM6GVw" x="693" y="294"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_vX08oG9HEeSumdlFUM6GVw" type="2004">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0C0FEG9HEeSumdlFUM6GVw" source="QualifiedName">
@@ -187,7 +203,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_vX3_9m9HEeSumdlFUM6GVw"/>
</children>
<element xmi:type="uml:Interface" href="platform:/resource/org.eclipse.papyrus.infra.filters/model/filters.uml#_ftlkkHBIEeSbg_BqWNBy6A"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vX08oW9HEeSumdlFUM6GVw" x="221" y="324" width="227" height="169"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vX08oW9HEeSumdlFUM6GVw" x="211" y="365" width="227" height="169"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_1i2UcG9HEeSumdlFUM6GVw" type="2008">
<children xmi:type="notation:DecorationNode" xmi:id="_1i2Ucm9HEeSumdlFUM6GVw" type="5029"/>
@@ -226,7 +242,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_1i2UgW9HEeSumdlFUM6GVw"/>
</children>
<element xmi:type="uml:Class" href="assistant.uml#_1i1GUG9HEeSumdlFUM6GVw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1i2UcW9HEeSumdlFUM6GVw" x="317" y="580"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1i2UcW9HEeSumdlFUM6GVw" x="342" y="616" width="229" height="122"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_vq9KoG9gEeSumdlFUM6GVw" type="2009">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wQmsG9gEeSumdlFUM6GVw" source="Stereotype_Annotation">
@@ -301,12 +317,12 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y6MlPoFfEeS8o9c9-aDIuQ"/>
</children>
<element xmi:type="uml:Class" href="assistant.uml#_Y6HFoIFfEeS8o9c9-aDIuQ"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y6L-IYFfEeS8o9c9-aDIuQ" x="74" y="564"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y6L-IYFfEeS8o9c9-aDIuQ" x="74" y="600" width="230"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_1BiDUIFfEeS8o9c9-aDIuQ" type="2012">
<children xmi:type="notation:DecorationNode" xmi:id="_1BiqYIFfEeS8o9c9-aDIuQ" type="5038"/>
<element xmi:type="uml:Comment" href="assistant.uml#_1Bg1MIFfEeS8o9c9-aDIuQ"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1BiDUYFfEeS8o9c9-aDIuQ" x="103" y="467" width="95"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1BiDUYFfEeS8o9c9-aDIuQ" x="103" y="503" width="95"/>
</children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_lD7owW84EeSumdlFUM6GVw" name="diagram_compatibility_version" stringValue="1.0.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_lD7owm84EeSumdlFUM6GVw"/>
@@ -339,8 +355,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_rK3CYW9GEeSumdlFUM6GVw"/>
<element xmi:type="uml:Association" href="assistant.uml#_rK10QG9GEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rK3CYm9GEeSumdlFUM6GVw" points="[0, 0, -312, 15]$[312, -15, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rg4VsG9GEeSumdlFUM6GVw" id="(0.9578059071729957,0.2094017094017094)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rK--MG9GEeSumdlFUM6GVw" id="(0.0,0.2773109243697479)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rg4VsG9GEeSumdlFUM6GVw" id="(1.0,0.20344827586206896)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rK--MG9GEeSumdlFUM6GVw" id="(0.0,0.27)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_AAbjEG9HEeSumdlFUM6GVw" type="4002" source="_fpdbwG9GEeSumdlFUM6GVw" target="_hQPzYG9GEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_AAbjE29HEeSumdlFUM6GVw" type="6007">
@@ -349,8 +365,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_AAbjEW9HEeSumdlFUM6GVw"/>
<element xmi:type="uml:Generalization" href="assistant.uml#_AAaU8G9HEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AAbjEm9HEeSumdlFUM6GVw" points="[4, -20, -91, 237]$[19, -283, -76, -26]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AAfNcG9HEeSumdlFUM6GVw" id="(0.40540540540540543,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Akw_MG9HEeSumdlFUM6GVw" id="(0.5258620689655172,1.0)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AAfNcG9HEeSumdlFUM6GVw" id="(0.39823008849557523,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Akw_MG9HEeSumdlFUM6GVw" id="(0.52,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_EQ7u8G9HEeSumdlFUM6GVw" type="4002" source="_CpZJYG9HEeSumdlFUM6GVw" target="_hQPzYG9GEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_EQ8WAG9HEeSumdlFUM6GVw" type="6007">
@@ -360,7 +376,7 @@
<element xmi:type="uml:Generalization" href="assistant.uml#_EQ7H4G9HEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EQ7u8m9HEeSumdlFUM6GVw" points="[2, -10, -59, 180]$[36, -140, -25, 50]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EQ_ZUG9HEeSumdlFUM6GVw" id="(0.71,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l3Q6cG9JEeSumdlFUM6GVw" id="(0.23275862068965517,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l3Q6cG9JEeSumdlFUM6GVw" id="(0.23,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_4kLXcG9HEeSumdlFUM6GVw" type="4003" source="_1i2UcG9HEeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_4kL-gG9HEeSumdlFUM6GVw" type="6008">
@@ -372,8 +388,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_4kLXcW9HEeSumdlFUM6GVw"/>
<element xmi:type="uml:InterfaceRealization" href="assistant.uml#_4kKJUG9HEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4kLXcm9HEeSumdlFUM6GVw" points="[-2, -13, 17, 149]$[-23, -146, -4, 16]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4kQP8G9HEeSumdlFUM6GVw" id="(0.23423423423423423,0.13333333333333333)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4kQP8W9HEeSumdlFUM6GVw" id="(0.52,1.0)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4kQP8G9HEeSumdlFUM6GVw" id="(0.13973799126637554,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4kQP8W9HEeSumdlFUM6GVw" id="(0.5198237885462555,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_M23NgG9IEeSumdlFUM6GVw" type="4001" source="_CpZJYG9HEeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_M230kG9IEeSumdlFUM6GVw" type="6001">
@@ -383,7 +399,7 @@
<layoutConstraint xmi:type="notation:Location" xmi:id="_M230k29IEeSumdlFUM6GVw" y="20"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_M24boG9IEeSumdlFUM6GVw" type="6003">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_M24boW9IEeSumdlFUM6GVw" x="-1" y="20"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_M24boW9IEeSumdlFUM6GVw" x="8" y="19"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_M24bom9IEeSumdlFUM6GVw" type="6005">
<layoutConstraint xmi:type="notation:Location" xmi:id="_M24bo29IEeSumdlFUM6GVw" x="13" y="17"/>
@@ -398,7 +414,7 @@
<element xmi:type="uml:Association" href="assistant.uml#_M21_YG9IEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M23Ngm9IEeSumdlFUM6GVw" points="[50, -22, -501, 217]$[531, -244, -20, -5]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N8sXsG9JEeSumdlFUM6GVw" id="(0.0,0.34)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2_JUG9IEeSumdlFUM6GVw" id="(1.0,0.058823529411764705)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2_JUG9IEeSumdlFUM6GVw" id="(1.0,0.05325443786982249)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_aJazQG9JEeSumdlFUM6GVw" type="4001" source="_4dvWEG84EeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_aJbaUm9JEeSumdlFUM6GVw" type="6001">
@@ -422,8 +438,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_aJbaUG9JEeSumdlFUM6GVw"/>
<element xmi:type="uml:Association" href="assistant.uml#_aJZlI29JEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aJbaUW9JEeSumdlFUM6GVw" points="[5, 50, 0, -168]$[1, 209, -4, -9]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i4FzkG9JEeSumdlFUM6GVw" id="(0.24050632911392406,0.9668508287292817)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aJlyYG9JEeSumdlFUM6GVw" id="(0.23788546255506607,0.07239819004524888)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i4FzkG9JEeSumdlFUM6GVw" id="(0.2175226586102719,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aJlyYG9JEeSumdlFUM6GVw" id="(0.23788546255506607,0.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_pNM7gG9JEeSumdlFUM6GVw" type="4001" source="_CpZJYG9HEeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_pNM7g29JEeSumdlFUM6GVw" type="6001">
@@ -448,7 +464,7 @@
<element xmi:type="uml:Association" href="assistant.uml#_pNLGU29JEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pNM7gm9JEeSumdlFUM6GVw" points="[-28, 3, 323, -37]$[-331, 42, 20, 2]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pNXTkG9JEeSumdlFUM6GVw" id="(0.0,0.7)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pNXTkW9JEeSumdlFUM6GVw" id="(1.0,0.22171945701357465)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pNXTkW9JEeSumdlFUM6GVw" id="(1.0,0.21893491124260356)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_LJ7fsG9KEeSumdlFUM6GVw" type="4001" source="_fpdbwG9GEeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_LJ7fs29KEeSumdlFUM6GVw" type="6001">
@@ -472,8 +488,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_LJ7fsW9KEeSumdlFUM6GVw"/>
<element xmi:type="uml:Association" href="assistant.uml#_LJ6RkG9KEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LJ7fsm9KEeSumdlFUM6GVw" points="[-21, -5, 470, 0]$[-466, -4, 25, 1]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LKGe0G9KEeSumdlFUM6GVw" id="(0.0,0.10569105691056911)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LKGe0W9KEeSumdlFUM6GVw" id="(1.0,0.4298642533936652)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LKGe0G9KEeSumdlFUM6GVw" id="(0.0,0.04065040650406504)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LKGe0W9KEeSumdlFUM6GVw" id="(1.0,0.4260355029585799)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_a8wfQG9KEeSumdlFUM6GVw" type="4001" source="_fpdbwG9GEeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_a8xGUG9KEeSumdlFUM6GVw" type="6001">
@@ -497,8 +513,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_a8wfQW9KEeSumdlFUM6GVw"/>
<element xmi:type="uml:Association" href="assistant.uml#_a8vRIG9KEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a8wfQm9KEeSumdlFUM6GVw" points="[-33, -2, 496, 15]$[-484, 13, 45, 30]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a89TkG9KEeSumdlFUM6GVw" id="(0.0,0.43089430894308944)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a89TkW9KEeSumdlFUM6GVw" id="(1.0,0.6108597285067874)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a89TkG9KEeSumdlFUM6GVw" id="(0.0,0.43902439024390244)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a89TkW9KEeSumdlFUM6GVw" id="(1.0,0.6094674556213018)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_rBZnkG9KEeSumdlFUM6GVw" type="4001" source="_fpdbwG9GEeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_rBaOoG9KEeSumdlFUM6GVw" type="6001">
@@ -522,7 +538,7 @@
<styles xmi:type="notation:FontStyle" xmi:id="_rBZnkW9KEeSumdlFUM6GVw"/>
<element xmi:type="uml:Association" href="assistant.uml#_rBYZc29KEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rBZnkm9KEeSumdlFUM6GVw" points="[-55, 5, 471, -45]$[-500, 70, 26, 20]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w5FMoG9KEeSumdlFUM6GVw" id="(0.0,0.7154471544715447)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w5FMoG9KEeSumdlFUM6GVw" id="(0.0,0.6585365853658537)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rBkmsG9KEeSumdlFUM6GVw" id="(1.0,0.7692307692307693)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_06hBwG9KEeSumdlFUM6GVw" type="4001" source="_fpdbwG9GEeSumdlFUM6GVw" target="_vX08oG9HEeSumdlFUM6GVw">
@@ -547,8 +563,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_06hBwW9KEeSumdlFUM6GVw"/>
<element xmi:type="uml:Association" href="assistant.uml#_06fzoG9KEeSumdlFUM6GVw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_06hBwm9KEeSumdlFUM6GVw" points="[-28, 2, 462, -39]$[-483, 50, 7, 9]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_06sA4G9KEeSumdlFUM6GVw" id="(0.0,0.9105691056910569)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_06sA4W9KEeSumdlFUM6GVw" id="(1.0,0.9592760180995475)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_06sA4G9KEeSumdlFUM6GVw" id="(0.0,0.9186991869918699)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_06sA4W9KEeSumdlFUM6GVw" id="(1.0,0.9585798816568047)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_XbVo8HGlEeSvWqyzhafqGg" type="4001" source="_1i2UcG9HEeSumdlFUM6GVw" target="_4dvWEG84EeSumdlFUM6GVw" routing="Rectilinear">
<children xmi:type="notation:DecorationNode" xmi:id="_XbVo83GlEeSvWqyzhafqGg" type="6001">
@@ -571,9 +587,9 @@
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_XbVo8XGlEeSvWqyzhafqGg"/>
<element xmi:type="uml:Association" href="assistant.uml#_XbTMsHGlEeSvWqyzhafqGg"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XbVo8nGlEeSvWqyzhafqGg" points="[0, 0, 103, 650]$[-267, 0, -164, 650]$[-267, -638, -164, 12]$[-103, -638, 0, 12]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XbdkwHGlEeSvWqyzhafqGg" id="(0.0,0.8666666666666667)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XbdkwXGlEeSvWqyzhafqGg" id="(0.0,0.1708542713567839)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XbVo8nGlEeSvWqyzhafqGg" points="[0, 3, 128, 642]$[-320, 3, -192, 642]$[-320, -631, -192, 8]$[-128, -631, 0, 8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XbdkwHGlEeSvWqyzhafqGg" id="(0.0,0.9016393442622951)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XbdkwXGlEeSvWqyzhafqGg" id="(0.0,0.27241379310344827)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_hHdhkIFfEeS8o9c9-aDIuQ" type="4003" source="_Y6L-IIFfEeS8o9c9-aDIuQ" target="_vX08oG9HEeSumdlFUM6GVw">
<children xmi:type="notation:DecorationNode" xmi:id="_hHeIoIFfEeS8o9c9-aDIuQ" type="6008">
@@ -585,15 +601,15 @@
<styles xmi:type="notation:FontStyle" xmi:id="_hHdhkYFfEeS8o9c9-aDIuQ"/>
<element xmi:type="uml:InterfaceRealization" href="assistant.uml#_hHMb0IFfEeS8o9c9-aDIuQ"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hHdhkoFfEeS8o9c9-aDIuQ" points="[14, -19, -60, 80]$[61, -70, -13, 29]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hHk2UIFfEeS8o9c9-aDIuQ" id="(0.7612612612612613,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hHk2UYFfEeS8o9c9-aDIuQ" id="(0.225,1.0)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hHk2UIFfEeS8o9c9-aDIuQ" id="(0.7608695652173914,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hHk2UYFfEeS8o9c9-aDIuQ" id="(0.22466960352422907,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_91MRUIFfEeS8o9c9-aDIuQ" type="4013" source="_1BiDUIFfEeS8o9c9-aDIuQ" target="_Y6L-IIFfEeS8o9c9-aDIuQ">
<styles xmi:type="notation:FontStyle" xmi:id="_91MRUYFfEeS8o9c9-aDIuQ"/>
<element xsi:nil="true"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_91MRUoFfEeS8o9c9-aDIuQ" points="[10, 30, -41, -87]$[3, 67, -48, -50]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7JC-sIFgEeS8o9c9-aDIuQ" id="(0.5894736842105263,1.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7JDlwIFgEeS8o9c9-aDIuQ" id="(0.43243243243243246,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7JDlwIFgEeS8o9c9-aDIuQ" id="(0.427536231884058,0.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_DMS44IFgEeS8o9c9-aDIuQ" type="4001" source="_Y6L-IIFfEeS8o9c9-aDIuQ" target="_4dvWEG84EeSumdlFUM6GVw" routing="Rectilinear">
<children xmi:type="notation:DecorationNode" xmi:id="_DMTf8IFgEeS8o9c9-aDIuQ" type="6001">
@@ -617,7 +633,7 @@
<styles xmi:type="notation:FontStyle" xmi:id="_DMS44YFgEeS8o9c9-aDIuQ"/>
<element xmi:type="uml:Association" href="assistant.uml#_DMQcoIFgEeS8o9c9-aDIuQ"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DMS44oFgEeS8o9c9-aDIuQ" points="[9, 0, -128, 397]$[9, -407, -128, -10]$[137, -407, 0, -10]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7JEM0IFgEeS8o9c9-aDIuQ" id="(0.013513513513513514,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DMfGIIFgEeS8o9c9-aDIuQ" id="(0.0,0.7738693467336684)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7JEM0IFgEeS8o9c9-aDIuQ" id="(0.0391304347826087,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DMfGIIFgEeS8o9c9-aDIuQ" id="(0.0,0.6344827586206897)"/>
</edges>
</notation:Diagram>
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.uml b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.uml
index d67f65a3789..b1cc00cd3e3 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.uml
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/model/assistant.uml
@@ -80,6 +80,21 @@ This implies that inferred element types specializing any of these excluded type
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_afnE8qu-EeSfB7MLtP_t1w"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_afnE86u-EeSfB7MLtP_t1w" value="*"/>
</ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_yIFK8LIoEeSNj7xRtN2nYQ" name="relationshipType" visibility="public" type="_vq6HUG9gEeSumdlFUM6GVw" isUnique="false" isReadOnly="true" isDerived="true" subsettedProperty="_4IsCUHAYEeSI-6xi41tPrg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_yIFK8bIoEeSNj7xRtN2nYQ" annotatedElement="_yIFK8LIoEeSNj7xRtN2nYQ">
+ <body>The element types supported by the provider.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yIFK8rIoEeSNj7xRtN2nYQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yIFK87IoEeSNj7xRtN2nYQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_yIIOQLIoEeSNj7xRtN2nYQ" name="relationshipTypeID" subsettedProperty="_4IwTwHAYEeSI-6xi41tPrg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_yIIOQbIoEeSNj7xRtN2nYQ" annotatedElement="_yIIOQLIoEeSNj7xRtN2nYQ">
+ <body>The identifiers of element types supported by the provider.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yIIOQrIoEeSNj7xRtN2nYQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yIIOQ7IoEeSNj7xRtN2nYQ" value="*"/>
+ </ownedAttribute>
<ownedOperation xmi:type="uml:Operation" xmi:id="_4-awcHAYEeSI-6xi41tPrg" name="getElementTypes" visibility="protected" isQuery="true">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_4-awcXAYEeSI-6xi41tPrg" type="_vq6HUG9gEeSumdlFUM6GVw" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7XrG0HAYEeSI-6xi41tPrg"/>
@@ -106,6 +121,20 @@ This implies that inferred element types specializing any of these excluded type
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6xkwc6u-EeSfB7MLtP_t1w" value="*"/>
</ownedParameter>
</ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_yIKDcLIoEeSNj7xRtN2nYQ" name="getRelationshipTypes" visibility="protected" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_yIKDcbIoEeSNj7xRtN2nYQ" type="_vq6HUG9gEeSumdlFUM6GVw" direction="return">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yIKDcrIoEeSNj7xRtN2nYQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yIKDc7IoEeSNj7xRtN2nYQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_i0wVYLIpEeSNj7xRtN2nYQ" name="isRelationshipType">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_m68usLIpEeSNj7xRtN2nYQ" name="elementType" effect="read">
+ <type xmi:type="uml:PrimitiveType" href="assistantapi.uml#_1R7qIG90EeSumdlFUM6GVw"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_sPJzQLIpEeSNj7xRtN2nYQ" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_fpc0sG9GEeSumdlFUM6GVw" name="ConnectionAssistant">
<generalization xmi:type="uml:Generalization" xmi:id="_AAaU8G9HEeSumdlFUM6GVw" general="_hQOlQG9GEeSumdlFUM6GVw"/>
@@ -283,4 +312,6 @@ This implies that inferred element types specializing any of these excluded type
<Ecore:EOperation xmi:id="_yacP0IFgEeS8o9c9-aDIuQ" base_Operation="_yaO0cIFgEeS8o9c9-aDIuQ" visibility="None"/>
<Ecore:EAttribute xmi:id="_alaK8Ku-EeSfB7MLtP_t1w" base_Property="_afgXQKu-EeSfB7MLtP_t1w"/>
<Ecore:EOperation xmi:id="_6xnMsKu-EeSfB7MLtP_t1w" base_Operation="_6xkwcKu-EeSfB7MLtP_t1w" visibility="None"/>
+ <Ecore:EAttribute xmi:id="_yIL4oLIoEeSNj7xRtN2nYQ" base_Property="_yIFK8LIoEeSNj7xRtN2nYQ"/>
+ <Ecore:EOperation xmi:id="_yIVCkLIoEeSNj7xRtN2nYQ" base_Operation="_yIKDcLIoEeSNj7xRtN2nYQ" visibility="None"/>
</xmi:XMI>
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/Assistant.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/Assistant.java
index 36b92ccd124..b5b880768ac 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/Assistant.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/Assistant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -22,12 +22,12 @@ import org.eclipse.gmf.runtime.emf.type.core.IElementType;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getElementTypeID <em>Element Type ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getElementType <em>Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getProvider <em>Provider</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getAssistant()
* @model abstract="true"
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistantPackage.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistantPackage.java
index 751a48f83e9..9a069db6049 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistantPackage.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistantPackage.java
@@ -583,6 +583,26 @@ public interface AssistantPackage extends EPackage
int MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE_ID = IMODELING_ASSISTANT_PROVIDER_FEATURE_COUNT + 10;
/**
+ * The feature id for the '<em><b>Relationship Type</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE = IMODELING_ASSISTANT_PROVIDER_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Relationship Type ID</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID = IMODELING_ASSISTANT_PROVIDER_FEATURE_COUNT + 12;
+
+ /**
* The number of structural features of the '<em>Modeling Assistant Provider</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -590,7 +610,7 @@ public interface AssistantPackage extends EPackage
* @generated
* @ordered
*/
- int MODELING_ASSISTANT_PROVIDER_FEATURE_COUNT = IMODELING_ASSISTANT_PROVIDER_FEATURE_COUNT + 11;
+ int MODELING_ASSISTANT_PROVIDER_FEATURE_COUNT = IMODELING_ASSISTANT_PROVIDER_FEATURE_COUNT + 13;
/**
* The operation id for the '<em>Provides</em>' operation.
@@ -773,6 +793,26 @@ public interface AssistantPackage extends EPackage
int MODELING_ASSISTANT_PROVIDER___GET_EXCLUDED_ELEMENT_TYPES = IMODELING_ASSISTANT_PROVIDER_OPERATION_COUNT + 3;
/**
+ * The operation id for the '<em>Get Relationship Types</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODELING_ASSISTANT_PROVIDER___GET_RELATIONSHIP_TYPES = IMODELING_ASSISTANT_PROVIDER_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Is Relationship Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODELING_ASSISTANT_PROVIDER___IS_RELATIONSHIP_TYPE__IELEMENTTYPE = IMODELING_ASSISTANT_PROVIDER_OPERATION_COUNT + 5;
+
+ /**
* The number of operations of the '<em>Modeling Assistant Provider</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -780,7 +820,7 @@ public interface AssistantPackage extends EPackage
* @generated
* @ordered
*/
- int MODELING_ASSISTANT_PROVIDER_OPERATION_COUNT = IMODELING_ASSISTANT_PROVIDER_OPERATION_COUNT + 4;
+ int MODELING_ASSISTANT_PROVIDER_OPERATION_COUNT = IMODELING_ASSISTANT_PROVIDER_OPERATION_COUNT + 6;
/**
* The feature id for the '<em><b>Element Type ID</b></em>' attribute.
@@ -1365,6 +1405,30 @@ public interface AssistantPackage extends EPackage
EAttribute getModelingAssistantProvider_ExcludedElementTypeID();
/**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes <em>Relationship Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Relationship Type</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes()
+ * @see #getModelingAssistantProvider()
+ * @generated
+ */
+ EAttribute getModelingAssistantProvider_RelationshipType();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypeIDs <em>Relationship Type ID</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Relationship Type ID</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypeIDs()
+ * @see #getModelingAssistantProvider()
+ * @generated
+ */
+ EAttribute getModelingAssistantProvider_RelationshipTypeID();
+
+ /**
* Returns the meta object for the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementTypes() <em>Get Element Types</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1409,6 +1473,28 @@ public interface AssistantPackage extends EPackage
EOperation getModelingAssistantProvider__GetExcludedElementTypes();
/**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes() <em>Get Relationship Types</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Get Relationship Types</em>' operation.
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes()
+ * @generated
+ */
+ EOperation getModelingAssistantProvider__GetRelationshipTypes();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#isRelationshipType(org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Is Relationship Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Relationship Type</em>' operation.
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#isRelationshipType(org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated
+ */
+ EOperation getModelingAssistantProvider__IsRelationshipType__IElementType();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant <em>Assistant</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2074,6 +2160,24 @@ public interface AssistantPackage extends EPackage
EAttribute MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE_ID = eINSTANCE.getModelingAssistantProvider_ExcludedElementTypeID();
/**
+ * The meta object literal for the '<em><b>Relationship Type</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE = eINSTANCE.getModelingAssistantProvider_RelationshipType();
+
+ /**
+ * The meta object literal for the '<em><b>Relationship Type ID</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID = eINSTANCE.getModelingAssistantProvider_RelationshipTypeID();
+
+ /**
* The meta object literal for the '<em><b>Get Element Types</b></em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2110,6 +2214,24 @@ public interface AssistantPackage extends EPackage
EOperation MODELING_ASSISTANT_PROVIDER___GET_EXCLUDED_ELEMENT_TYPES = eINSTANCE.getModelingAssistantProvider__GetExcludedElementTypes();
/**
+ * The meta object literal for the '<em><b>Get Relationship Types</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation MODELING_ASSISTANT_PROVIDER___GET_RELATIONSHIP_TYPES = eINSTANCE.getModelingAssistantProvider__GetRelationshipTypes();
+
+ /**
+ * The meta object literal for the '<em><b>Is Relationship Type</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation MODELING_ASSISTANT_PROVIDER___IS_RELATIONSHIP_TYPE__IELEMENTTYPE = eINSTANCE.getModelingAssistantProvider__IsRelationshipType__IElementType();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.AssistantImpl <em>Assistant</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistedElementTypeFilter.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistedElementTypeFilter.java
index 44e20e6598a..d831904bc1e 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistedElementTypeFilter.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/AssistedElementTypeFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -24,10 +24,10 @@ import org.eclipse.papyrus.infra.filters.Filter;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.AssistedElementTypeFilter#getProvider <em>Provider</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getAssistedElementTypeFilter()
* @model
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ConnectionAssistant.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ConnectionAssistant.java
index a5325a5a0c7..302e28f59f1 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ConnectionAssistant.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ConnectionAssistant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -22,6 +22,7 @@ import org.eclipse.papyrus.infra.filters.Filter;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant#getSourceFilter <em>Source Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant#getOwnedSourceFilter <em>Owned Source Filter</em>}</li>
@@ -29,7 +30,6 @@ import org.eclipse.papyrus.infra.filters.Filter;
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant#getOwnedTargetFilter <em>Owned Target Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant#getOwningProvider <em>Owning Provider</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getConnectionAssistant()
* @model
@@ -42,10 +42,10 @@ public interface ConnectionAssistant extends Assistant
* It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getConnectionAssistants <em>Connection Assistant</em>}'.
* <p>
* This feature subsets the following features:
+ * </p>
* <ul>
* <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getProvider() <em>Provider</em>}'</li>
* </ul>
- * </p>
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Owning Provider</em>' container reference isn't clear, there really should be more of a description here...
@@ -105,10 +105,10 @@ public interface ConnectionAssistant extends Assistant
* Returns the value of the '<em><b>Owned Source Filter</b></em>' containment reference.
* <p>
* This feature subsets the following features:
+ * </p>
* <ul>
* <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant#getSourceFilter() <em>Source Filter</em>}'</li>
* </ul>
- * </p>
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Owned Source Filter</em>' containment reference isn't clear, there really should be more of a description here...
@@ -182,10 +182,10 @@ public interface ConnectionAssistant extends Assistant
* Returns the value of the '<em><b>Owned Target Filter</b></em>' containment reference.
* <p>
* This feature subsets the following features:
+ * </p>
* <ul>
* <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant#getTargetFilter() <em>Target Filter</em>}'</li>
* </ul>
- * </p>
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Owned Target Filter</em>' containment reference isn't clear, there really should be more of a description here...
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ElementTypeFilter.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ElementTypeFilter.java
index 0ff7267f920..3d40ef17a3a 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ElementTypeFilter.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ElementTypeFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -22,12 +22,12 @@ import org.eclipse.papyrus.infra.filters.Filter;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getElementTypeID <em>Element Type ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getElementType <em>Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getProvider <em>Provider</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getElementTypeFilter()
* @model
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ModelingAssistantProvider.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ModelingAssistantProvider.java
index 5e2353859d3..835297c573e 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ModelingAssistantProvider.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/ModelingAssistantProvider.java
@@ -34,6 +34,7 @@ import org.eclipse.papyrus.infra.filters.Filter;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getAssistants <em>Assistant</em>}</li>
@@ -46,8 +47,9 @@ import org.eclipse.papyrus.infra.filters.Filter;
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getClientContextID <em>Client Context ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getExcludedElementTypes <em>Excluded Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getExcludedElementTypeIDs <em>Excluded Element Type ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes <em>Relationship Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypeIDs <em>Relationship Type ID</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getModelingAssistantProvider()
* @model superTypes="org.eclipse.papyrus.infra.gmfdiag.assistant.IModelingAssistantProvider"
@@ -112,6 +114,15 @@ public interface ModelingAssistantProvider extends EObject, IModelingAssistantPr
IElementType getElementType(String id);
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" elementTypeDataType="org.eclipse.papyrus.infra.gmfdiag.assistant.ElementType" elementTypeRequired="true" elementTypeOrdered="false"
+ * @generated
+ */
+ boolean isRelationshipType(IElementType elementType);
+
+ /**
* Returns the value of the '<em><b>Owned Filter</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.papyrus.infra.filters.Filter}.
* <!-- begin-user-doc -->
@@ -180,10 +191,10 @@ public interface ModelingAssistantProvider extends EObject, IModelingAssistantPr
* It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant#getOwningProvider <em>Owning Provider</em>}'.
* <p>
* This feature subsets the following features:
+ * </p>
* <ul>
* <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getAssistants() <em>Assistant</em>}'</li>
* </ul>
- * </p>
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Popup Assistant</em>' containment reference list isn't clear, there really should be more of a description here...
@@ -215,10 +226,10 @@ public interface ModelingAssistantProvider extends EObject, IModelingAssistantPr
* It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant#getOwningProvider <em>Owning Provider</em>}'.
* <p>
* This feature subsets the following features:
+ * </p>
* <ul>
* <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getAssistants() <em>Assistant</em>}'</li>
* </ul>
- * </p>
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Connection Assistant</em>' containment reference list isn't clear, there really should be more of a description here...
@@ -353,4 +364,48 @@ public interface ModelingAssistantProvider extends EObject, IModelingAssistantPr
*/
EList<String> getExcludedElementTypeIDs();
+ /**
+ * Returns the value of the '<em><b>Relationship Type</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.gmf.runtime.emf.type.core.IElementType}.
+ * <p>
+ * This feature subsets the following features:
+ * </p>
+ * <ul>
+ * <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementTypes() <em>Element Type</em>}'</li>
+ * </ul>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The element types supported by the provider.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Relationship Type</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getModelingAssistantProvider_RelationshipType()
+ * @model unique="false" dataType="org.eclipse.papyrus.infra.gmfdiag.assistant.ElementType" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<IElementType> getRelationshipTypes();
+
+ /**
+ * Returns the value of the '<em><b>Relationship Type ID</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <p>
+ * This feature subsets the following features:
+ * </p>
+ * <ul>
+ * <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementTypeIDs() <em>Element Type ID</em>}'</li>
+ * </ul>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The identifiers of element types supported by the provider.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Relationship Type ID</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getModelingAssistantProvider_RelationshipTypeID()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ EList<String> getRelationshipTypeIDs();
+
} // ModelingAssistantProvider
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/PopupAssistant.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/PopupAssistant.java
index e6c5f27940e..869653de62d 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/PopupAssistant.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/PopupAssistant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -22,12 +22,12 @@ import org.eclipse.papyrus.infra.filters.Filter;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant#getFilter <em>Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant#getOwnedFilter <em>Owned Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant#getOwningProvider <em>Owning Provider</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage#getPopupAssistant()
* @model
@@ -67,10 +67,10 @@ public interface PopupAssistant extends Assistant
* Returns the value of the '<em><b>Owned Filter</b></em>' containment reference.
* <p>
* This feature subsets the following features:
+ * </p>
* <ul>
* <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant#getFilter() <em>Filter</em>}'</li>
* </ul>
- * </p>
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Owned Filter</em>' containment reference isn't clear, there really should be more of a description here...
@@ -117,10 +117,10 @@ public interface PopupAssistant extends Assistant
* It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getPopupAssistants <em>Popup Assistant</em>}'.
* <p>
* This feature subsets the following features:
+ * </p>
* <ul>
* <li>'{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getProvider() <em>Provider</em>}'</li>
* </ul>
- * </p>
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Owning Provider</em>' container reference isn't clear, there really should be more of a description here...
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantImpl.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantImpl.java
index 7789c03dd3f..35eea1c6c3c 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantImpl.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -38,12 +38,12 @@ import org.eclipse.uml2.common.util.CacheAdapter;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.AssistantImpl#getProvider <em>Provider</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.AssistantImpl#getElementTypeID <em>Element Type ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.AssistantImpl#getElementType <em>Element Type</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantPackageImpl.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantPackageImpl.java
index 6b21b70c168..f38a5b5d153 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantPackageImpl.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistantPackageImpl.java
@@ -412,6 +412,30 @@ public class AssistantPackageImpl extends EPackageImpl implements AssistantPacka
* @generated
*/
@Override
+ public EAttribute getModelingAssistantProvider_RelationshipType()
+ {
+ return (EAttribute) modelingAssistantProviderEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getModelingAssistantProvider_RelationshipTypeID()
+ {
+ return (EAttribute) modelingAssistantProviderEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EOperation getModelingAssistantProvider__GetElementTypes()
{
return modelingAssistantProviderEClass.getEOperations().get(0);
@@ -460,6 +484,30 @@ public class AssistantPackageImpl extends EPackageImpl implements AssistantPacka
* @generated
*/
@Override
+ public EOperation getModelingAssistantProvider__GetRelationshipTypes()
+ {
+ return modelingAssistantProviderEClass.getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EOperation getModelingAssistantProvider__IsRelationshipType__IElementType()
+ {
+ return modelingAssistantProviderEClass.getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EClass getAssistant()
{
return assistantEClass;
@@ -1021,10 +1069,14 @@ public class AssistantPackageImpl extends EPackageImpl implements AssistantPacka
createEAttribute(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT_ID);
createEAttribute(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE);
createEAttribute(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE_ID);
+ createEAttribute(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE);
+ createEAttribute(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID);
createEOperation(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER___GET_ELEMENT_TYPES);
createEOperation(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER___GET_CLIENT_CONTEXT);
createEOperation(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER___GET_ELEMENT_TYPE__STRING);
createEOperation(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER___GET_EXCLUDED_ELEMENT_TYPES);
+ createEOperation(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER___GET_RELATIONSHIP_TYPES);
+ createEOperation(modelingAssistantProviderEClass, MODELING_ASSISTANT_PROVIDER___IS_RELATIONSHIP_TYPE__IELEMENTTYPE);
assistantEClass = createEClass(ASSISTANT);
createEAttribute(assistantEClass, ASSISTANT__ELEMENT_TYPE_ID);
@@ -1150,6 +1202,10 @@ public class AssistantPackageImpl extends EPackageImpl implements AssistantPacka
"excludedElementType", null, 0, -1, ModelingAssistantProvider.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEAttribute(getModelingAssistantProvider_ExcludedElementTypeID(), theTypesPackage.getString(),
"excludedElementTypeID", null, 0, -1, ModelingAssistantProvider.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getModelingAssistantProvider_RelationshipType(), this.getElementType(),
+ "relationshipType", null, 0, -1, ModelingAssistantProvider.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getModelingAssistantProvider_RelationshipTypeID(), theTypesPackage.getString(),
+ "relationshipTypeID", null, 0, -1, ModelingAssistantProvider.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEOperation(getModelingAssistantProvider__GetElementTypes(), this.getElementType(), "getElementTypes", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
@@ -1160,6 +1216,11 @@ public class AssistantPackageImpl extends EPackageImpl implements AssistantPacka
initEOperation(getModelingAssistantProvider__GetExcludedElementTypes(), this.getElementType(), "getExcludedElementTypes", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+ initEOperation(getModelingAssistantProvider__GetRelationshipTypes(), this.getElementType(), "getRelationshipTypes", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+ op = initEOperation(getModelingAssistantProvider__IsRelationshipType__IElementType(), theTypesPackage.getBoolean(), "isRelationshipType", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+ addEParameter(op, this.getElementType(), "elementType", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
initEClass(assistantEClass, Assistant.class, "Assistant", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getAssistant_ElementTypeID(), theTypesPackage.getString(), "elementTypeID", null, 1, 1, Assistant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEAttribute(getAssistant_ElementType(), this.getElementType(), "elementType", null, 1, 1, Assistant.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
@@ -1296,6 +1357,24 @@ public class AssistantPackageImpl extends EPackageImpl implements AssistantPacka
{
URI.createURI(eNS_URI).appendFragment("//ModelingAssistantProvider/assistant") //$NON-NLS-1$
});
+ addAnnotation(getModelingAssistantProvider_RelationshipType(),
+ source,
+ new String[]
+ {
+ },
+ new URI[]
+ {
+ URI.createURI(eNS_URI).appendFragment("//ModelingAssistantProvider/elementType") //$NON-NLS-1$
+ });
+ addAnnotation(getModelingAssistantProvider_RelationshipTypeID(),
+ source,
+ new String[]
+ {
+ },
+ new URI[]
+ {
+ URI.createURI(eNS_URI).appendFragment("//ModelingAssistantProvider/elementTypeID") //$NON-NLS-1$
+ });
addAnnotation(getPopupAssistant_OwnedFilter(),
source,
new String[]
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistedElementTypeFilterImpl.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistedElementTypeFilterImpl.java
index 1822d999fb9..12121ccd49c 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistedElementTypeFilterImpl.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/AssistedElementTypeFilterImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -40,11 +40,11 @@ import org.eclipse.uml2.common.util.CacheAdapter;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.AssistedElementTypeFilterImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.AssistedElementTypeFilterImpl#getProvider <em>Provider</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ConnectionAssistantImpl.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ConnectionAssistantImpl.java
index 1c242f7e11f..4a0c1264224 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ConnectionAssistantImpl.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ConnectionAssistantImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -34,6 +34,7 @@ import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ConnectionAssistantImpl#getProvider <em>Provider</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ConnectionAssistantImpl#getSourceFilter <em>Source Filter</em>}</li>
@@ -42,7 +43,6 @@ import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ConnectionAssistantImpl#getOwnedTargetFilter <em>Owned Target Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ConnectionAssistantImpl#getOwningProvider <em>Owning Provider</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ElementTypeFilterImpl.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ElementTypeFilterImpl.java
index b5408df7093..4f948e6d660 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ElementTypeFilterImpl.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ElementTypeFilterImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -33,13 +33,13 @@ import org.eclipse.uml2.common.util.CacheAdapter;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ElementTypeFilterImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ElementTypeFilterImpl#getElementTypeID <em>Element Type ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ElementTypeFilterImpl#getElementType <em>Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ElementTypeFilterImpl#getProvider <em>Provider</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ModelingAssistantProviderImpl.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ModelingAssistantProviderImpl.java
index 66c4a298bff..3589a8d3e2e 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ModelingAssistantProviderImpl.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/ModelingAssistantProviderImpl.java
@@ -56,21 +56,23 @@ import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getListeners <em>Listener</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getAssistants <em>Assistant</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getElementTypeIDs <em>Element Type ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getOwnedFilters <em>Owned Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getPopupAssistants <em>Popup Assistant</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getConnectionAssistants <em>Connection Assistant</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getElementTypes <em>Element Type</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getElementTypeIDs <em>Element Type ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getClientContext <em>Client Context</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getClientContextID <em>Client Context ID</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getExcludedElementTypes <em>Excluded Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getExcludedElementTypeIDs <em>Excluded Element Type ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getRelationshipTypes <em>Relationship Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl#getRelationshipTypeIDs <em>Relationship Type ID</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -88,6 +90,17 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
protected EList<IProviderChangeListener> listeners;
/**
+ * The cached value of the '{@link #getElementTypeIDs() <em>Element Type ID</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElementTypeIDs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> elementTypeIDs;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -143,17 +156,6 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
protected EList<ConnectionAssistant> connectionAssistants;
/**
- * The cached value of the '{@link #getElementTypeIDs() <em>Element Type ID</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getElementTypeIDs()
- * @generated
- * @ordered
- */
- protected EList<String> elementTypeIDs;
-
- /**
* The default value of the '{@link #getClientContext() <em>Client Context</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -198,6 +200,17 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
protected EList<String> excludedElementTypeIDs;
/**
+ * The cached value of the '{@link #getRelationshipTypeIDs() <em>Relationship Type ID</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRelationshipTypeIDs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> relationshipTypeIDs;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
@@ -466,6 +479,17 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
}
/**
+ * The array of subset feature identifiers for the '{@link #getElementTypeIDs() <em>Element Type ID</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElementTypeIDs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ELEMENT_TYPE_ID_ESUBSETS = new int[] { AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID };
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
@@ -562,6 +586,56 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
* @generated
*/
@Override
+ public EList<IElementType> getRelationshipTypes()
+ {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null)
+ {
+ @SuppressWarnings("unchecked")
+ EList<IElementType> result = (EList<IElementType>) cache.get(eResource(), this, AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE);
+ if (result == null)
+ {
+ cache.put(eResource(), this, AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE, result = ModelingAssistantProviderOperations.getRelationshipTypes(this));
+ }
+ return result;
+ }
+ return ModelingAssistantProviderOperations.getRelationshipTypes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<String> getRelationshipTypeIDs()
+ {
+ if (relationshipTypeIDs == null)
+ {
+ relationshipTypeIDs = new EDataTypeUniqueEList<String>(String.class, this, AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID);
+ }
+ return relationshipTypeIDs;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getRelationshipTypeIDs() <em>Relationship Type ID</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRelationshipTypeIDs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATIONSHIP_TYPE_ID_ESUPERSETS = new int[] { AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public boolean provides(IOperation operation)
{
return ModelingAssistantProviderOperations.provides(this, operation);
@@ -741,6 +815,18 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
*
* @generated
*/
+ @Override
+ public boolean isRelationshipType(IElementType elementType)
+ {
+ return ModelingAssistantProviderOperations.isRelationshipType(this, elementType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
@SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
@@ -791,6 +877,8 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
return getListeners();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ASSISTANT:
return getAssistants();
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
+ return getElementTypeIDs();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__NAME:
return getName();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__OWNED_FILTER:
@@ -801,8 +889,6 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
return getConnectionAssistants();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE:
return getElementTypes();
- case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
- return getElementTypeIDs();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT:
return getClientContext();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT_ID:
@@ -811,6 +897,10 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
return getExcludedElementTypes();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE_ID:
return getExcludedElementTypeIDs();
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE:
+ return getRelationshipTypes();
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID:
+ return getRelationshipTypeIDs();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -831,6 +921,10 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
getListeners().clear();
getListeners().addAll((Collection<? extends IProviderChangeListener>) newValue);
return;
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
+ getElementTypeIDs().clear();
+ getElementTypeIDs().addAll((Collection<? extends String>) newValue);
+ return;
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__NAME:
setName((String) newValue);
return;
@@ -846,10 +940,6 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
getConnectionAssistants().clear();
getConnectionAssistants().addAll((Collection<? extends ConnectionAssistant>) newValue);
return;
- case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
- getElementTypeIDs().clear();
- getElementTypeIDs().addAll((Collection<? extends String>) newValue);
- return;
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT_ID:
setClientContextID((String) newValue);
return;
@@ -857,6 +947,10 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
getExcludedElementTypeIDs().clear();
getExcludedElementTypeIDs().addAll((Collection<? extends String>) newValue);
return;
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID:
+ getRelationshipTypeIDs().clear();
+ getRelationshipTypeIDs().addAll((Collection<? extends String>) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -875,6 +969,9 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__LISTENER:
getListeners().clear();
return;
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
+ getElementTypeIDs().clear();
+ return;
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__NAME:
setName(NAME_EDEFAULT);
return;
@@ -887,15 +984,15 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CONNECTION_ASSISTANT:
getConnectionAssistants().clear();
return;
- case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
- getElementTypeIDs().clear();
- return;
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT_ID:
setClientContextID(CLIENT_CONTEXT_ID_EDEFAULT);
return;
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE_ID:
getExcludedElementTypeIDs().clear();
return;
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID:
+ getRelationshipTypeIDs().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -915,6 +1012,8 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
return listeners != null && !listeners.isEmpty();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ASSISTANT:
return isSetAssistants();
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
+ return elementTypeIDs != null && !elementTypeIDs.isEmpty();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__OWNED_FILTER:
@@ -925,8 +1024,6 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
return connectionAssistants != null && !connectionAssistants.isEmpty();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE:
return !getElementTypes().isEmpty();
- case AssistantPackage.MODELING_ASSISTANT_PROVIDER__ELEMENT_TYPE_ID:
- return elementTypeIDs != null && !elementTypeIDs.isEmpty();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT:
return CLIENT_CONTEXT_EDEFAULT == null ? getClientContext() != null : !CLIENT_CONTEXT_EDEFAULT.equals(getClientContext());
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__CLIENT_CONTEXT_ID:
@@ -935,6 +1032,10 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
return !getExcludedElementTypes().isEmpty();
case AssistantPackage.MODELING_ASSISTANT_PROVIDER__EXCLUDED_ELEMENT_TYPE_ID:
return excludedElementTypeIDs != null && !excludedElementTypeIDs.isEmpty();
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE:
+ return !getRelationshipTypes().isEmpty();
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER__RELATIONSHIP_TYPE_ID:
+ return relationshipTypeIDs != null && !relationshipTypeIDs.isEmpty();
}
return super.eIsSet(featureID);
}
@@ -982,6 +1083,8 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
return getTypesForPopupBar((IAdaptable) arguments.get(0));
case AssistantPackage.MODELING_ASSISTANT_PROVIDER___GET_ELEMENT_TYPE__STRING:
return getElementType((String) arguments.get(0));
+ case AssistantPackage.MODELING_ASSISTANT_PROVIDER___IS_RELATIONSHIP_TYPE__IELEMENTTYPE:
+ return isRelationshipType((IElementType) arguments.get(0));
}
return super.eInvoke(operationID, arguments);
}
@@ -1010,6 +1113,8 @@ public class ModelingAssistantProviderImpl extends MinimalEObjectImpl.Container
result.append(clientContextID);
result.append(", excludedElementTypeID: "); //$NON-NLS-1$
result.append(excludedElementTypeIDs);
+ result.append(", relationshipTypeID: "); //$NON-NLS-1$
+ result.append(relationshipTypeIDs);
result.append(')');
return result.toString();
}
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/PopupAssistantImpl.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/PopupAssistantImpl.java
index ba7c216ee48..668be44144d 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/PopupAssistantImpl.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/impl/PopupAssistantImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -34,13 +34,13 @@ import org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.PopupAssistantImpl#getProvider <em>Provider</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.PopupAssistantImpl#getFilter <em>Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.PopupAssistantImpl#getOwnedFilter <em>Owned Filter</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.impl.PopupAssistantImpl#getOwningProvider <em>Owning Provider</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistantOperations.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistantOperations.java
index aa3cdb5dd7d..466cd0b80b0 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistantOperations.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistantOperations.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -22,10 +22,10 @@ import org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant;
*
* <p>
* The following operations are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getElementType() <em>Get Element Type</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -63,4 +63,4 @@ public class AssistantOperations
return result;
}
-} // AssistantOperations \ No newline at end of file
+} // AssistantOperations
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistedElementTypeFilterOperations.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistedElementTypeFilterOperations.java
index 4be323aef90..2059c2a0ec7 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistedElementTypeFilterOperations.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/AssistedElementTypeFilterOperations.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -30,11 +30,11 @@ import com.google.common.collect.Sets;
*
* <p>
* The following operations are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.AssistedElementTypeFilter#getProvider() <em>Get Provider</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -104,4 +104,4 @@ public class AssistedElementTypeFilterOperations
return result;
}
-} // AssistedElementTypeFilterOperations \ No newline at end of file
+} // AssistedElementTypeFilterOperations
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ElementTypeFilterOperations.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ElementTypeFilterOperations.java
index 66b8c568000..d147d51bceb 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ElementTypeFilterOperations.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ElementTypeFilterOperations.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -25,12 +25,12 @@ import org.eclipse.papyrus.infra.gmfdiag.assistant.core.util.ModelingAssistantUt
*
* <p>
* The following operations are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getElementType() <em>Get Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getProvider() <em>Get Provider</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -106,4 +106,4 @@ public class ElementTypeFilterOperations
return result;
}
-} // ElementTypeFilterOperations \ No newline at end of file
+} // ElementTypeFilterOperations
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ModelingAssistantProviderOperations.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ModelingAssistantProviderOperations.java
index ff88e81ecae..a265af5ed9b 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ModelingAssistantProviderOperations.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/internal/operations/ModelingAssistantProviderOperations.java
@@ -13,7 +13,6 @@ package org.eclipse.papyrus.infra.gmfdiag.assistant.internal.operations;
import static org.eclipse.papyrus.infra.gmfdiag.assistant.core.util.ModelingAssistantUtil.alphabetical;
import static org.eclipse.papyrus.infra.gmfdiag.assistant.core.util.ModelingAssistantUtil.filterConnectionTypes;
-import static org.eclipse.papyrus.infra.gmfdiag.assistant.core.util.ModelingAssistantUtil.isRelationship;
import java.util.Collection;
import java.util.List;
@@ -37,6 +36,7 @@ import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.infra.core.utils.AdapterUtils;
import org.eclipse.papyrus.infra.emf.utils.ECollections2;
import org.eclipse.papyrus.infra.emf.utils.ECollections2.ImmutableEListBuilder;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage;
import org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant;
import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
import org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant;
@@ -44,10 +44,12 @@ import org.eclipse.papyrus.infra.gmfdiag.assistant.core.util.ModelingAssistantUt
import org.eclipse.papyrus.infra.gmfdiag.assistant.impl.ModelingAssistantProviderImpl;
import org.eclipse.papyrus.infra.gmfdiag.assistant.internal.core.util.ProviderCache;
import org.eclipse.papyrus.infra.services.edit.utils.ElementTypeUtils;
+import org.eclipse.uml2.common.util.CacheAdapter;
import com.google.common.base.Function;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
@@ -58,6 +60,7 @@ import com.google.common.collect.Sets;
*
* <p>
* The following operations are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}</li>
* <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Add Provider Change Listener</em>}</li>
@@ -79,8 +82,9 @@ import com.google.common.collect.Sets;
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getClientContext() <em>Get Client Context</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementType(java.lang.String) <em>Get Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getExcludedElementTypes() <em>Get Excluded Element Types</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes() <em>Get Relationship Types</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#isRelationshipType(org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Is Relationship Type</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -293,7 +297,7 @@ public class ModelingAssistantProviderOperations
// The filter, if any, needs to match but we also don't want to propose connections
// from relationships (only node-like things)
if (((next.getSourceFilter() == null) || next.getSourceFilter().matches(sourceType))
- && !isRelationship(modelingAssistantProvider, sourceType)) {
+ && !modelingAssistantProvider.isRelationshipType(sourceType)) {
ModelingAssistantUtil.collectAllConcreteSubtypes(sourceType, modelingAssistantProvider, types);
}
}
@@ -335,7 +339,7 @@ public class ModelingAssistantProviderOperations
// The filter, if any, needs to match but we also don't want to propose connections
// to relationships (only node-like things)
if (((next.getTargetFilter() == null) || next.getTargetFilter().matches(targetType))
- && !isRelationship(modelingAssistantProvider, targetType)) {
+ && !modelingAssistantProvider.isRelationshipType(targetType)) {
ModelingAssistantUtil.collectAllConcreteSubtypes(targetType, modelingAssistantProvider, types);
}
}
@@ -536,4 +540,62 @@ public class ModelingAssistantProviderOperations
return result.sort(alphabetical()).build();
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public static EList<IElementType> getRelationshipTypes(ModelingAssistantProvider modelingAssistantProvider)
+ {
+ Set<IElementType> types = Sets.newLinkedHashSet();
+ for (String next : modelingAssistantProvider.getRelationshipTypeIDs()) {
+ IElementType type = modelingAssistantProvider.getElementType(next);
+ if (type != null) {
+ types.add(type);
+ }
+ }
+
+ ImmutableEListBuilder<IElementType> result = ECollections2.immutableEListBuilder();
+ result.addAll(types);
+ return result.sort(alphabetical()).build();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @SuppressWarnings("unchecked")
+ public static boolean isRelationshipType(ModelingAssistantProvider modelingAssistantProvider, IElementType elementType)
+ {
+ Set<IElementType> relationshipTypes;
+ CacheAdapter cache = CacheAdapter.getCacheAdapter(modelingAssistantProvider);
+ if (cache == null) {
+ relationshipTypes = ImmutableSet.copyOf(modelingAssistantProvider.getRelationshipTypes());
+ } else {
+ // We aren't going to use this EOperation having a parameter for any other cache, so use it for this
+ relationshipTypes = (Set<IElementType>) cache.get(modelingAssistantProvider.eResource(), modelingAssistantProvider, AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER___IS_RELATIONSHIP_TYPE__IELEMENTTYPE);
+ if (relationshipTypes == null) {
+ cache.put(modelingAssistantProvider.eResource(), modelingAssistantProvider, AssistantPackage.Literals.MODELING_ASSISTANT_PROVIDER___IS_RELATIONSHIP_TYPE__IELEMENTTYPE,
+ relationshipTypes = ImmutableSet.copyOf(modelingAssistantProvider.getRelationshipTypes()));
+ }
+ }
+
+ boolean result = relationshipTypes.contains(elementType);
+
+ if (!result) {
+ // Maybe it's a specialization of a relationship type
+ IElementType[] allSupers = elementType.getAllSuperTypes();
+
+ // The super types have the more specific types after the more general
+ for (int i = allSupers.length - 1; !result && (i >= 0); i--) {
+ result = relationshipTypes.contains(allSupers[i]);
+ }
+ }
+
+ return result;
+ }
+
} // ModelingAssistantProviderOperations
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src/org/eclipse/papyrus/infra/gmfdiag/assistant/core/util/ModelingAssistantUtil.java b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src/org/eclipse/papyrus/infra/gmfdiag/assistant/core/util/ModelingAssistantUtil.java
index bb176208ce9..602b6739d12 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src/org/eclipse/papyrus/infra/gmfdiag/assistant/core/util/ModelingAssistantUtil.java
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/src/org/eclipse/papyrus/infra/gmfdiag/assistant/core/util/ModelingAssistantUtil.java
@@ -34,7 +34,6 @@ import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
import org.eclipse.gmf.runtime.notation.Edge;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.infra.core.utils.AdapterUtils;
-import org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant;
import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
import org.eclipse.papyrus.infra.gmfdiag.assistant.internal.core.util.ProxyElementType;
import org.eclipse.papyrus.infra.gmfdiag.common.commands.SemanticElementAdapter;
@@ -345,19 +344,4 @@ public class ModelingAssistantUtil {
collator.setStrength(Collator.PRIMARY);
return Ordering.from(collator).onResultOf(primaryNameFunction()).compound(Ordering.natural().onResultOf(visualIDFunction()));
}
-
- public static boolean isRelationship(ModelingAssistantProvider provider, IElementType elementType) {
- boolean result = false;
-
- // A relationship is a type for which we provide connection assistants
- for (ConnectionAssistant next : provider.getConnectionAssistants()) {
- IElementType relationshipType = next.getElementType();
- if ((relationshipType != null) && isSubtype(elementType, relationshipType)) {
- result = true;
- break;
- }
- }
-
- return result;
- }
}
diff --git a/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator/src/org/eclipse/papyrus/uml/profile/assistants/generator/ModelingAssistantProviderRule.xtend b/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator/src/org/eclipse/papyrus/uml/profile/assistants/generator/ModelingAssistantProviderRule.xtend
index 5027642b9d8..c9cb22d39d9 100644
--- a/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator/src/org/eclipse/papyrus/uml/profile/assistants/generator/ModelingAssistantProviderRule.xtend
+++ b/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator/src/org/eclipse/papyrus/uml/profile/assistants/generator/ModelingAssistantProviderRule.xtend
@@ -57,6 +57,7 @@ class ModelingAssistantProviderRule {
popupAssistants.addAll(ext.metaclass.diagramSpecificElementTypes.map[ext.toPopupAssistant(it)])
} else {
// Connection assistants to create relationships
+ relationshipTypeIDs.addAll(profileElementTypes)
connectionAssistants.addAll(ext.metaclass.diagramSpecificElementTypes.map[ext.toConnectionAssistant(it)])
}
]
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.assistants b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.assistants
index b656fe9e8d8..08f47f01b2f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.assistants
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.assistants
@@ -518,4 +518,28 @@
<elementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_2014</elementTypeID>
<excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Association_2015</excludedElementTypeID>
<excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_2014</excludedElementTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.AssociationClass_4017</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Association_4001</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Association_4019</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Generalization_4002</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.InterfaceRealization_4003</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Substitution_4004</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Realization_4005</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Abstraction_4006</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Usage_4007</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_4008</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_4018</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.ElementImport_4009</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.PackageImport_4010</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.PackageMerge_4011</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.ProfileApplication_4012</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.CommentAnnotatedElement_4013</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.ConstraintConstrainedElement_4014</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.TemplateBinding_4015</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.GeneralizationSet_4020</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.InstanceSpecificationLink_4021</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.TimeObservationEvent_4024</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.DurationObservationEvent_4025</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.InformationFlow_4026</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.clazz.ConstraintContext_8500</relationshipTypeID>
</assistant:ModelingAssistantProvider>
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase/models/usecaseDiagram.assistants b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase/models/usecaseDiagram.assistants
index 5e086a526a1..6df4285f75d 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase/models/usecaseDiagram.assistants
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase/models/usecaseDiagram.assistants
@@ -217,4 +217,16 @@
<elementTypeID>org.eclipse.papyrus.uml.diagram.usecase.Realization_4017</elementTypeID>
<elementTypeID>org.eclipse.papyrus.uml.diagram.usecase.PackageMerge_4018</elementTypeID>
<elementTypeID>org.eclipse.papyrus.uml.diagram.usecase.PackageImport_4019</elementTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Include_4008</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Extend_4009</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Generalization_4010</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Association_4011</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.ConstraintConstrainedElement_4012</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Dependency_4013</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.CommentAnnotatedElement_4014</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Abstraction_4015</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Usage_4016</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.Realization_4017</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.PackageMerge_4018</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.diagram.usecase.PackageImport_4019</relationshipTypeID>
</assistant:ModelingAssistantProvider>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants
index 2fc1faa9cfd..6773b06aee8 100644
--- a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants
@@ -268,4 +268,6 @@
<excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Association_2015</excludedElementTypeID>
<excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_4018</excludedElementTypeID>
<excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_2014</excludedElementTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.example.j2ee.Import</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.example.j2ee.Web</relationshipTypeID>
</assistant:ModelingAssistantProvider>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants
index 7a583335c82..ac81b0d7075 100644
--- a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants
@@ -122,4 +122,6 @@
<elementTypeID>org.eclipse.papyrus.example.j2ee.WebScenario_3012</elementTypeID>
<elementTypeID>org.eclipse.papyrus.example.j2ee.WebScenario_2013</elementTypeID>
<elementTypeID>org.eclipse.papyrus.example.j2ee.WebScenario_2014</elementTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.example.j2ee.Import_4013</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.example.j2ee.Web_4011</relationshipTypeID>
</assistant:ModelingAssistantProvider>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants
index a92253b3e28..52043825be4 100644
--- a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants
@@ -14,4 +14,6 @@
<elementTypeID>org.eclipse.papyrus.uml.Package</elementTypeID>
<elementTypeID>org.eclipse.papyrus.uml.Generalization</elementTypeID>
<excludedElementTypeID>org.eclipse.papyrus.uml.AssociationClass</excludedElementTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.Usage</relationshipTypeID>
+ <relationshipTypeID>org.eclipse.papyrus.uml.Generalization</relationshipTypeID>
</assistant:ModelingAssistantProvider>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java
index 88dfd8893e7..cac460ceaaa 100644
--- a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java
@@ -15,12 +15,9 @@ import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.MatcherAssert.assertThat;
-
import java.util.Arrays;
-
import junit.framework.TestCase;
import junit.textui.TestRunner;
-
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java
index c54f45d5d29..cf66119a9db 100644
--- a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java
@@ -53,6 +53,7 @@ import org.hamcrest.CoreMatchers;
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementTypes() <em>Element Type</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getClientContext() <em>Client Context</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getExcludedElementTypes() <em>Excluded Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes() <em>Relationship Type</em>}</li>
* </ul>
* </p>
* <p>
@@ -75,6 +76,7 @@ import org.hamcrest.CoreMatchers;
* </em>}</li>
* <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForPopupBar(org.eclipse.core.runtime.IAdaptable) <em>Get Types For Popup Bar</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementType(java.lang.String) <em>Get Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#isRelationshipType(org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Is Relationship Type</em>}</li>
* </ul>
* </p>
*
@@ -216,6 +218,21 @@ public class ModelingAssistantProviderTest extends TestCase {
}
/**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes() <em>Relationship Type</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getRelationshipTypes()
+ * @generated NOT
+ */
+ public void testGetRelationshipTypes()
+ {
+ assertThat(getFixture().getRelationshipTypes(), hasItem(canonicalize(UMLElementTypes.USAGE)));
+ assertThat(getFixture().getRelationshipTypes(), hasItem(canonicalize(UMLElementTypes.GENERALIZATION)));
+ assertThat(getFixture().getRelationshipTypes(), not(hasItem(canonicalize(UMLElementTypes.CLASS))));
+ }
+
+ /**
* Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -480,4 +497,19 @@ public class ModelingAssistantProviderTest extends TestCase {
assertThat(canonicalize(UMLElementTypes.CLASS), is(getFixture().getElementType("org.eclipse.papyrus.uml.Class")));
}
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#isRelationshipType(org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Is Relationship Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#isRelationshipType(org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testIsRelationshipType__IElementType()
+ {
+ assertThat(getFixture().isRelationshipType(canonicalize(UMLElementTypes.USAGE)), is(true));
+ assertThat(getFixture().isRelationshipType(canonicalize(UMLElementTypes.GENERALIZATION)), is(true));
+ assertThat(getFixture().isRelationshipType(canonicalize(UMLElementTypes.CLASS)), is(false));
+ }
+
} // ModelingAssistantProviderTest

Back to the top