Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamille Letavernier2015-02-26 11:29:40 -0500
committerCamille Letavernier2015-02-26 11:33:38 -0500
commitbf995cdf6ddceeb6a9b7b0b0032c33d160e786ca (patch)
tree3b3e8d712098889b666e750175c6ddf9f8e3999c
parent3f18dd3a5d00181d870de1b93491eb84133c8af7 (diff)
downloadorg.eclipse.papyrus-bf995cdf6ddceeb6a9b7b0b0032c33d160e786ca.tar.gz
org.eclipse.papyrus-bf995cdf6ddceeb6a9b7b0b0032c33d160e786ca.tar.xz
org.eclipse.papyrus-bf995cdf6ddceeb6a9b7b0b0032c33d160e786ca.zip
459488: [Model Import] Stereotypes gone in fragmented model
https://bugs.eclipse.org/bugs/show_bug.cgi?id=459488 - Fix the Dependency Analysis & Stereotype Repair, to properly handle references in AnyTypes (Stereotypes)
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformationLauncher.java8
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/DependencyManagementHelper.java78
-rw-r--r--plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java10
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/deployedProfile/ProfileReferences.profile.uml212
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/plugin.xml4
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/Blank Package.emx262
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_1.efx20
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_2.efx18
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_3.efx15
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportModelsTest.java48
10 files changed, 671 insertions, 4 deletions
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformationLauncher.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformationLauncher.java
index fe9df8ca7c1..6e829911ae6 100644
--- a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformationLauncher.java
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformationLauncher.java
@@ -429,13 +429,13 @@ public class ImportTransformationLauncher {
@Override
protected IStatus run(IProgressMonitor monitor) {
long startFix = System.nanoTime();
- fixDependencies(transformation, monitor, urisToReplace, profileUrisToReplace);
+ IStatus fixStatus = fixDependencies(transformation, monitor, urisToReplace, profileUrisToReplace);
long endFix = System.nanoTime();
synchronized (ImportTransformationLauncher.this) {
totalTimeV2.put(transformation, endFix - startFix);
}
- return Status.OK_STATUS;
+ return fixStatus;
}
};
@@ -492,7 +492,7 @@ public class ImportTransformationLauncher {
} catch (ModelMultiException e) {
Activator.log.error(e);
monitor.worked(1);
- return Status.OK_STATUS;
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "An exception occurred when repairing library dependencies", e);
}
try {
@@ -657,7 +657,7 @@ public class ImportTransformationLauncher {
protected MappingParameters confirmURIMappings(final MappingParameters mappingParameters) {
List<URIMapping> flatMappings = analysisHelper.flattenURIMappings(mappingParameters);
analysisHelper.propagateURIMappings(flatMappings, mappingParameters);
-
+
if (config.isAlwaysAcceptSuggestedMappings()) {
return mappingParameters;
}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/DependencyManagementHelper.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/DependencyManagementHelper.java
index 6eb738d104f..eddfc5755dc 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/DependencyManagementHelper.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/DependencyManagementHelper.java
@@ -16,6 +16,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -29,6 +30,8 @@ import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.xml.type.AnyType;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.papyrus.infra.emf.Activator;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
@@ -129,6 +132,8 @@ public class DependencyManagementHelper {
Collection<Replacement> replacements = new LinkedList<Replacement>();
+ List<AnyType> anyTypesToRepair = new LinkedList<AnyType>();
+
while (allContentsIterator.hasNext()) {
EObject eObject = allContentsIterator.next();
@@ -192,6 +197,16 @@ public class DependencyManagementHelper {
}
}
}
+
+ if (eObject instanceof AnyType) {
+ AnyType anyType = (AnyType) eObject;
+ anyTypesToRepair.add(anyType);
+ }
+ }
+
+ for (AnyType anyType : anyTypesToRepair) {
+ Collection<Replacement> anyTypeReplacements = handleAnyType(anyType, uriToReplace, targetURI);
+ replacements.addAll(anyTypeReplacements);
}
return replacements;
@@ -383,6 +398,9 @@ public class DependencyManagementHelper {
public static void batchUpdateDependencies(Map<URI, URI> urisToReplace, Resource fromResource, EditingDomain editingDomain) {
Iterator<EObject> allContentsIterator = fromResource.getAllContents();
+ // Repairing anytypes may cause exceptions in the contents iterator. Stack them and repair later
+ List<AnyType> anyTypesToRepair = new LinkedList<AnyType>();
+
while (allContentsIterator.hasNext()) {
EObject eObject = allContentsIterator.next();
@@ -442,7 +460,67 @@ public class DependencyManagementHelper {
}
}
}
+
+ if (eObject instanceof AnyType) {
+ AnyType anyType = (AnyType) eObject;
+ anyTypesToRepair.add(anyType);
+ }
}
+
+ for (AnyType anyType : anyTypesToRepair) {
+ handleAnyType(anyType, urisToReplace);
+ }
+ }
+
+ private static Collection<Replacement> handleAnyType(AnyType anyType, URI uriToReplace, URI targetURI) {
+ Map<URI, URI> urisToReplace = new HashMap<URI, URI>();
+ urisToReplace.put(uriToReplace, targetURI);
+ return handleAnyType(anyType, urisToReplace);
+ }
+
+ private static Collection<Replacement> handleAnyType(AnyType anyType, Map<URI, URI> urisToReplace) {
+ Collection<Replacement> result = new LinkedList<Replacement>();
+
+ FeatureMap mixed = anyType.getMixed();
+
+ List<FeatureMap.Entry> mixedCopy = new LinkedList<FeatureMap.Entry>(mixed);
+
+ Map<EStructuralFeature, List<Object>> featureToValueMap = new HashMap<EStructuralFeature, List<Object>>();
+
+ for (FeatureMap.Entry mixedEntry : mixedCopy) {
+ EStructuralFeature feature = mixedEntry.getEStructuralFeature();
+ Object value = mixedEntry.getValue();
+
+ List<Object> newValues = getValues(feature, featureToValueMap);
+
+ if (value instanceof EObject) {
+ EObject eObjectToReplace = (EObject) value;
+
+ EObject newEObject = checkAndReplace(eObjectToReplace, urisToReplace);
+ if (newEObject == null) {
+ newValues.add(eObjectToReplace);
+ } else {
+ newValues.add(newEObject);
+ result.add(new ReplacementImpl(anyType, feature, eObjectToReplace, newEObject));
+ }
+ } else {
+ newValues.add(value);
+ }
+ }
+
+ for (Map.Entry<EStructuralFeature, List<Object>> valuesEntry : featureToValueMap.entrySet()) {
+ anyType.eSet(valuesEntry.getKey(), valuesEntry.getValue());
+ }
+
+ return result;
+ }
+
+ private static List<Object> getValues(EStructuralFeature feature, Map<EStructuralFeature, List<Object>> inMap) {
+ if (!inMap.containsKey(feature)) {
+ inMap.put(feature, new LinkedList<Object>());
+ }
+
+ return inMap.get(feature);
}
/**
diff --git a/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java b/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java
index 4a7280795e8..cb22f5c2b7d 100644
--- a/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java
+++ b/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java
@@ -522,6 +522,16 @@ public class StereotypeApplicationRepairParticipant extends PackageOperations im
} else {
eAdd(copyEObject, reference, referenced);
}
+ } else { // Bug 459488: Maybe we're in the process of repairing objects, and we can now simply resolve the element
+ EObject referenced = EcoreUtil.resolve(anyType, eObject);
+ if (referenced != null && referenced != anyType) {
+ if (!copyFeature.getEType().isInstance(referenced)) {
+ String propertyName = getQualifiedName(UMLUtil.getNamedElement(copyFeature, eObject));
+ handleException(new IllegalStateException(String.format("Attempt to reference object of type %s in stereotype property %s", UML2EcoreConverter.getOriginalName(referenced.eClass()), propertyName))); //$NON-NLS-1$
+ } else {
+ eAdd(copyEObject, reference, referenced);
+ }
+ }
}
}
} else {
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/deployedProfile/ProfileReferences.profile.uml b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/deployedProfile/ProfileReferences.profile.uml
new file mode 100644
index 00000000000..6bbdfab83ac
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/deployedProfile/ProfileReferences.profile.uml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_M1c60L3BEeSCx5YnPkDiBQ" name="Profile" metamodelReference="_M7ji0b3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M72dwb3BEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_-Lqxgb3BEeSCx5YnPkDiBQ" name="Profile" nsURI="http:///schemas/Profile/_-LqxgL3BEeSCx5YnPkDiBQ/1" nsPrefix="Profile">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_-Lqxgr3BEeSCx5YnPkDiBQ" name="Stereotype1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Lqxg73BEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_OthPsL3BEeSCx5YnPkDiBQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-LqxhL3BEeSCx5YnPkDiBQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-Lqxhr3BEeSCx5YnPkDiBQ" name="attribute1" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-LqxiL3BEeSCx5YnPkDiBQ" name="attribute2" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-Lqxir3BEeSCx5YnPkDiBQ" name="attribute3" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-LqxjL3BEeSCx5YnPkDiBQ" name="class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_-Lqxjr3BEeSCx5YnPkDiBQ" name="Stereotype2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Lqxj73BEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_O09UcL3BEeSCx5YnPkDiBQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-LqxkL3BEeSCx5YnPkDiBQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-Lqxkr3BEeSCx5YnPkDiBQ" name="attribute1" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-LqxlL3BEeSCx5YnPkDiBQ" name="attribute2" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-Lqxlr3BEeSCx5YnPkDiBQ" name="attribute3" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_-LqxmL3BEeSCx5YnPkDiBQ" name="class" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_M72dwr3BEeSCx5YnPkDiBQ" name="Profile" nsURI="http:///schemas/Profile/_M72dwL3BEeSCx5YnPkDiBQ/0" nsPrefix="Profile"/>
+ </eAnnotations>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_M7ji0L3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Lqxmr3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Lqxm73BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_M7ji0b3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-LqxnL3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Lqxnb3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_OthPsL3BEeSCx5YnPkDiBQ" name="Stereotype1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Lqxnr3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Lqxn73BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_QGLrwr3BEeSCx5YnPkDiBQ" name="base_Class" association="_QGLrwL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-LqxoL3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Lqxob3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_RHpv0L3BEeSCx5YnPkDiBQ" name="attribute1" visibility="public">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Lqxor3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Lqxo73BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_RJSHgL3BEeSCx5YnPkDiBQ" name="attribute2" visibility="public">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-LqxpL3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0igL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_RK7GQL3BEeSCx5YnPkDiBQ" name="attribute3" visibility="public">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0igb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0igr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_rpoZsb3BEeSCx5YnPkDiBQ" name="class" visibility="public" association="_rpoZsL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ig73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ihL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rpoZsr3BEeSCx5YnPkDiBQ" value="1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ih73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0iiL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </lowerValue>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rpoZs73BEeSCx5YnPkDiBQ" value="1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ihb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ihr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </upperValue>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_O09UcL3BEeSCx5YnPkDiBQ" name="Stereotype2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0iib3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0iir3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_QTIior3BEeSCx5YnPkDiBQ" name="base_Class" association="_QTIioL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ii73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ijL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_QtduML3BEeSCx5YnPkDiBQ" name="attribute1" visibility="public">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ijb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ijr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Qw41oL3BEeSCx5YnPkDiBQ" name="attribute2" visibility="public">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ij73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ikL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_QxB_kL3BEeSCx5YnPkDiBQ" name="attribute3" visibility="public">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ikb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ikr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_wnQxUb3BEeSCx5YnPkDiBQ" name="class" visibility="public" association="_wnQxUL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ik73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ilL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wnQxUr3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0il73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0imL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </lowerValue>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wnQxU73BEeSCx5YnPkDiBQ" value="*">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ilb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ilr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </upperValue>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_QGLrwL3BEeSCx5YnPkDiBQ" name="Class_Stereotype1" memberEnd="_QGLrwb3BEeSCx5YnPkDiBQ _QGLrwr3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0imb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0imr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_QGLrwb3BEeSCx5YnPkDiBQ" name="extension_Stereotype1" type="_OthPsL3BEeSCx5YnPkDiBQ" aggregation="composite" association="_QGLrwL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0im73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0inL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_QTIioL3BEeSCx5YnPkDiBQ" name="Class_Stereotype2" memberEnd="_QTIiob3BEeSCx5YnPkDiBQ _QTIior3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0inb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0inr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_QTIiob3BEeSCx5YnPkDiBQ" name="extension_Stereotype2" type="_O09UcL3BEeSCx5YnPkDiBQ" aggregation="composite" association="_QTIioL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0in73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ioL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_rpoZsL3BEeSCx5YnPkDiBQ" memberEnd="_rpoZsb3BEeSCx5YnPkDiBQ _rpoZtL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0iob3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ior3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_rpoZtL3BEeSCx5YnPkDiBQ" name="stereotype1" visibility="private" type="_OthPsL3BEeSCx5YnPkDiBQ" association="_rpoZsL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0io73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ipL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rpoZtb3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ip73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0iqL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </lowerValue>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rpoZtr3BEeSCx5YnPkDiBQ" value="1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ipb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0ipr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </upperValue>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_wnQxUL3BEeSCx5YnPkDiBQ" memberEnd="_wnQxUb3BEeSCx5YnPkDiBQ _wnQxVL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0iqb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0iqr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_wnQxVL3BEeSCx5YnPkDiBQ" name="stereotype2" visibility="private" type="_O09UcL3BEeSCx5YnPkDiBQ" association="_wnQxUL3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0iq73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0irL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wnQxVb3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0ir73BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0isL3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </lowerValue>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wnaiUL3BEeSCx5YnPkDiBQ" value="1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-L0irb3BEeSCx5YnPkDiBQ" source="uml2.extensions">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-L0irr3BEeSCx5YnPkDiBQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </upperValue>
+ </ownedEnd>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_M7ji0r3BEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M7ji073BEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/dsmlvalidation#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://DSMLValidation_PROFILES/PapyrusValidationRuleDSML.uml#__sUW0OhNEeCjcc2EgK3Uwg"/>
+ </profileApplication>
+</uml:Profile>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/plugin.xml b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/plugin.xml
index c6333bf4e24..c58d04c2122 100644
--- a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/plugin.xml
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/plugin.xml
@@ -7,6 +7,10 @@
name="Model Import Test Profile"
path="platform:/plugin/org.eclipse.papyrus.migration.rsa.tests/deployedProfile/ProfileUpdates.profile.uml">
</profile>
+ <profile
+ name="Model Import Test Profile - Profile References"
+ path="platform:/plugin/org.eclipse.papyrus.migration.rsa.tests/deployedProfile/ProfileReferences.profile.uml">
+ </profile>
</extension>
<extension
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/Blank Package.emx b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/Blank Package.emx
new file mode 100644
index 00000000000..4fad479f685
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/Blank Package.emx
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--xtools2_universal_type_manager-->
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.uml.msl.model" version="7.0.0"><feature description="" name="com.ibm.xtools.ruml.feature" url="" version="7.0.0"/></signature>?>
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.mmi.ui.signatures.diagram" version="7.0.0"><feature description="" name="Rational Modeling Platform (com.ibm.xtools.rmp)" url="" version="7.0.0"/></signature>?>
+<uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.3/Umlnotation" xmi:id="_FSLhgr3CEeSCx5YnPkDiBQ" name="Blank Package">
+ <eAnnotations xmi:id="_i2ZNAb3CEeSCx5YnPkDiBQ" source="com.ibm.xtools.uml.msl.fragments">
+ <references xmi:type="uml:Class" href="ModelFragment_1.efx#_IfDF0L3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMixed?"/>
+ <references xmi:type="uml:Class" href="ModelFragment_2.efx#_IZPYwL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMultiple?"/>
+ <references xmi:type="uml:Class" href="ModelFragment_3.efx#_IVFRgL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefOne?"/>
+ </eAnnotations>
+ <eAnnotations xmi:id="_FSLhg73CEeSCx5YnPkDiBQ" source="uml2.diagrams" references="_FSLhhL3CEeSCx5YnPkDiBQ">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_FSLhhL3CEeSCx5YnPkDiBQ" type="Class" name="Main">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_F5KosL3CEeSCx5YnPkDiBQ" element="_F5A3sL3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_F5Kosr3CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_F5Kos73CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_F5KotL3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_F5Kotb3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_F5Kotr3CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_F5Kot73CEeSCx5YnPkDiBQ" type="PackageContents" canonical="false">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_IVObcL3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_IVObcr3CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_IVObc73CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IVObdL3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IVObdb3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IVObdr3CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IVObd73CEeSCx5YnPkDiBQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IVObeL3CEeSCx5YnPkDiBQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IVObeb3CEeSCx5YnPkDiBQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_IVOber3CEeSCx5YnPkDiBQ" visible="false" type="StructureCompartment"/>
+ <element xmi:type="uml:Class" href="ModelFragment_3.efx#_IVFRgL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefOne?"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IVObcb3CEeSCx5YnPkDiBQ" x="345" y="479"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_IZZJwL3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_IZZJwr3CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_IZZJw73CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IZZJxL3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IZZJxb3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IZZJxr3CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IZZJx73CEeSCx5YnPkDiBQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IZZJyL3CEeSCx5YnPkDiBQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IZZJyb3CEeSCx5YnPkDiBQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_IZZJyr3CEeSCx5YnPkDiBQ" visible="false" type="StructureCompartment"/>
+ <element xmi:type="uml:Class" href="ModelFragment_2.efx#_IZPYwL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMultiple?"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IZZJwb3CEeSCx5YnPkDiBQ" x="3335" y="426"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_IfDF0b3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_IfDF073CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_IfDF1L3CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IfDF1b3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IfDF1r3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_IfDF173CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IfDF2L3CEeSCx5YnPkDiBQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IfDF2b3CEeSCx5YnPkDiBQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_IfDF2r3CEeSCx5YnPkDiBQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_IfDF273CEeSCx5YnPkDiBQ" visible="false" type="StructureCompartment"/>
+ <element xmi:type="uml:Class" href="ModelFragment_1.efx#_IfDF0L3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMixed?"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IfDF0r3CEeSCx5YnPkDiBQ" x="6645" y="446"/>
+ </children>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F5Kosb3CEeSCx5YnPkDiBQ" x="4206" y="1561" width="11562" height="4868"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_Gx19IL3CEeSCx5YnPkDiBQ" element="_GxjCML3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Gx19Ir3CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_Gx19I73CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Gx19JL3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Gx19Jb3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Gx19Jr3CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_Gx19J73CEeSCx5YnPkDiBQ" type="PackageContents" canonical="false">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_KbRh8L3CEeSCx5YnPkDiBQ" element="_KbIYAL3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KbRh8r3CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_KbRh873CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KbRh9L3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KbRh9b3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KbRh9r3CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KbRh973CEeSCx5YnPkDiBQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KbRh-L3CEeSCx5YnPkDiBQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KbRh-b3CEeSCx5YnPkDiBQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_KbRh-r3CEeSCx5YnPkDiBQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KbRh8b3CEeSCx5YnPkDiBQ" x="81" y="585"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_KfvLMb3CEeSCx5YnPkDiBQ" element="_KfvLML3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KfvLM73CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_KfvLNL3CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KfvLNb3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KfvLNr3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KfvLN73CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KfvLOL3CEeSCx5YnPkDiBQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KfvLOb3CEeSCx5YnPkDiBQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KfvLOr3CEeSCx5YnPkDiBQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_KfvLO73CEeSCx5YnPkDiBQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KfvLMr3CEeSCx5YnPkDiBQ" x="2938" y="347"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_KlGMUL3CEeSCx5YnPkDiBQ" element="_Kk8bUL3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KlGMUr3CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_KlGMU73CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KlGMVL3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KlGMVb3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KlGMVr3CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KlGMV73CEeSCx5YnPkDiBQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KlGMWL3CEeSCx5YnPkDiBQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KlGMWb3CEeSCx5YnPkDiBQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_KlGMWr3CEeSCx5YnPkDiBQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KlGMUb3CEeSCx5YnPkDiBQ" x="5531" y="373"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_Ktuj4b3CEeSCx5YnPkDiBQ" element="_Ktuj4L3CEeSCx5YnPkDiBQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ktuj473CEeSCx5YnPkDiBQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_Ktuj5L3CEeSCx5YnPkDiBQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Ktuj5b3CEeSCx5YnPkDiBQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Ktuj5r3CEeSCx5YnPkDiBQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Ktuj573CEeSCx5YnPkDiBQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_Ktuj6L3CEeSCx5YnPkDiBQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_Ktuj6b3CEeSCx5YnPkDiBQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_Ktuj6r3CEeSCx5YnPkDiBQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_Ktuj673CEeSCx5YnPkDiBQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ktuj4r3CEeSCx5YnPkDiBQ" x="5531" y="1776"/>
+ </children>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gx19Ib3CEeSCx5YnPkDiBQ" x="4224" y="6732" width="11561" height="5370"/>
+ </children>
+ </contents>
+ </eAnnotations>
+ <eAnnotations xmi:id="_FSLhhb3CEeSCx5YnPkDiBQ" source="com.ibm.xtools.common.ui.reduction.editingCapabilities">
+ <details xmi:id="_FSLhhr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBFunctionTemplateParameter" value="1"/>
+ <details xmi:id="_FSLhh73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBPrimitiveTypeTemplateParameter" value="1"/>
+ <details xmi:id="_FSLhiL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBElementImport1" value="1"/>
+ <details xmi:id="_FSLhib3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBFragment" value="1"/>
+ <details xmi:id="_FSLhir3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBElementImport2" value="1"/>
+ <details xmi:id="_FSLhi73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBArtifact" value="1"/>
+ <details xmi:id="_FSLhjL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBInterfaceTemplateParameter" value="1"/>
+ <details xmi:id="_FSLhjb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBFunction" value="1"/>
+ <details xmi:id="_FSLhjr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBProfile" value="1"/>
+ <details xmi:id="_FSLhj73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBInteractionOverview" value="1"/>
+ <details xmi:id="_FSLhkL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStructureDiagram" value="1"/>
+ <details xmi:id="_FSLhkb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBSubsystem" value="1"/>
+ <details xmi:id="_FSLhkr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBSignal" value="1"/>
+ <details xmi:id="_FSLhk73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBInteractionOverviewDiagram" value="1"/>
+ <details xmi:id="_FSLhlL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBClass" value="1"/>
+ <details xmi:id="_FSLhlb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBRelationship1" value="1"/>
+ <details xmi:id="_FSLhlr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBRelationship2" value="1"/>
+ <details xmi:id="_FSLhl73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStateMachine1" value="1"/>
+ <details xmi:id="_FSLhmL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBRelationship3" value="1"/>
+ <details xmi:id="_FSLhmb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStateMachine2" value="1"/>
+ <details xmi:id="_FSLhmr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBComponent" value="1"/>
+ <details xmi:id="_FSLhm73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBDeploymentSpecification" value="1"/>
+ <details xmi:id="_FSLhnL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBActivity1" value="1"/>
+ <details xmi:id="_FSLhnb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBAbstractionRelation" value="1"/>
+ <details xmi:id="_FSLhnr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBActivity2" value="1"/>
+ <details xmi:id="_FSLhn73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBActivity3" value="1"/>
+ <details xmi:id="_FSLhoL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBAction" value="1"/>
+ <details xmi:id="_FSLhob3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBActivityDiagram" value="1"/>
+ <details xmi:id="_FSLhor3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBClassTemplateParameter" value="1"/>
+ <details xmi:id="_FSLho73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBActivity4" value="1"/>
+ <details xmi:id="_FSLhpL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBPackage" value="1"/>
+ <details xmi:id="_FSLhpb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBTemplate" value="1"/>
+ <details xmi:id="_FSLhpr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStereotypedDeployment1" value="1"/>
+ <details xmi:id="_FSLhp73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBSpecificInstanceType1" value="1"/>
+ <details xmi:id="_FSLhqL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBSequence1" value="1"/>
+ <details xmi:id="_FSLhqb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBCollaborationUse" value="1"/>
+ <details xmi:id="_FSLhqr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBSpecificInstanceType2" value="1"/>
+ <details xmi:id="_FSLhq73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBSequence2" value="1"/>
+ <details xmi:id="_FSLhrL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBSequenceDiagram" value="1"/>
+ <details xmi:id="_FSLhrb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBObjectDiagram" value="1"/>
+ <details xmi:id="_FSLhrr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBTiming" value="1"/>
+ <details xmi:id="_FSLhr73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBDependancy" value="1"/>
+ <details xmi:id="_FSLhsL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBLifeLine" value="1"/>
+ <details xmi:id="_FSLhsb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBComponentTemplateParameter" value="1"/>
+ <details xmi:id="_FSLhsr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBUsage" value="1"/>
+ <details xmi:id="_FSLhs73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBFreeFormDiagram" value="1"/>
+ <details xmi:id="_FSLhtL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBInstance" value="1"/>
+ <details xmi:id="_FSLhtb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStereotypedArtifact" value="1"/>
+ <details xmi:id="_FSLhtr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBComponentDiagram" value="1"/>
+ <details xmi:id="_FSLht73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBEvent1" value="1"/>
+ <details xmi:id="_FSLhuL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBTypes1" value="1"/>
+ <details xmi:id="_FSLhub3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBEvent2" value="1"/>
+ <details xmi:id="_FSLhur3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBTypes2" value="1"/>
+ <details xmi:id="_FSLhu73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBTypes3" value="1"/>
+ <details xmi:id="_FSLhvL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBTypes4" value="1"/>
+ <details xmi:id="_FSLhvb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBTimingDiagram" value="1"/>
+ <details xmi:id="_FSLhvr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBCommunicationDiagram" value="1"/>
+ <details xmi:id="_FSLhv73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBConstraint" value="1"/>
+ <details xmi:id="_FSLhwL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStereotypedClass" value="1"/>
+ <details xmi:id="_FSLhwb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBProfileApplication" value="1"/>
+ <details xmi:id="_FSLhwr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBPackageTemplateParameter" value="1"/>
+ <details xmi:id="_FSLhw73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStereotypedComponent" value="1"/>
+ <details xmi:id="_FSLhxL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBInterface" value="1"/>
+ <details xmi:id="_FSLhxb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBInformationFlow" value="1"/>
+ <details xmi:id="_FSLhxr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBComment1" value="1"/>
+ <details xmi:id="_FSLhx73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBComment2" value="1"/>
+ <details xmi:id="_FSLhyL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBComment3" value="1"/>
+ <details xmi:id="_FSLhyb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBCollaboration" value="1"/>
+ <details xmi:id="_FSLhyr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBCompositeStructure1" value="1"/>
+ <details xmi:id="_FSLhy73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBRealization" value="1"/>
+ <details xmi:id="_FSLhzL3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBStateChartDiagram" value="1"/>
+ <details xmi:id="_FSLhzb3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBCompositeStructure2" value="1"/>
+ <details xmi:id="_FSLhzr3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBUseCase1" value="1"/>
+ <details xmi:id="_FSLhz73CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBUseCase2" value="1"/>
+ <details xmi:id="_FSLh0L3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBClassDiagram" value="1"/>
+ <details xmi:id="_FSLh0b3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBUseCaseDiagram" value="1"/>
+ <details xmi:id="_FSLh0r3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBDeployment1" value="1"/>
+ <details xmi:id="_FSLh073CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBDeployment2" value="1"/>
+ <details xmi:id="_FSLh1L3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBDeploymentDiagram" value="1"/>
+ <details xmi:id="_FSLh1b3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBInteraction" value="1"/>
+ <details xmi:id="_FSLh1r3CEeSCx5YnPkDiBQ" key="com.ibm.xtools.activities.umlBBCommunication" value="1"/>
+ </eAnnotations>
+ <packageImport xmi:id="_FSLh173CEeSCx5YnPkDiBQ">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Package" xmi:id="_F5A3sL3CEeSCx5YnPkDiBQ" name="Fragments">
+ <eAnnotations xmi:id="_F5A3sb3CEeSCx5YnPkDiBQ" source="uml2.diagrams" references="_F5A3sr3CEeSCx5YnPkDiBQ">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_F5A3sr3CEeSCx5YnPkDiBQ" type="Freeform" name="Main">
+ <element xsi:nil="true"/>
+ </contents>
+ </eAnnotations>
+ <packagedElement xmi:type="uml:Class" href="ModelFragment_3.efx#_IVFRgL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefOne?"/>
+ <packagedElement xmi:type="uml:Class" href="ModelFragment_2.efx#_IZPYwL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMultiple?"/>
+ <packagedElement xmi:type="uml:Class" href="ModelFragment_1.efx#_IfDF0L3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMixed?"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_GxjCML3CEeSCx5YnPkDiBQ" name="ReferencedElements">
+ <eAnnotations xmi:id="_GxszML3CEeSCx5YnPkDiBQ" source="uml2.diagrams" references="_GxszMb3CEeSCx5YnPkDiBQ">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_GxszMb3CEeSCx5YnPkDiBQ" type="Freeform" name="Main">
+ <element xsi:nil="true"/>
+ </contents>
+ </eAnnotations>
+ <packagedElement xmi:type="uml:Class" xmi:id="_KbIYAL3CEeSCx5YnPkDiBQ" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_KfvLML3CEeSCx5YnPkDiBQ" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Kk8bUL3CEeSCx5YnPkDiBQ" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Ktuj4L3CEeSCx5YnPkDiBQ" name="Class4"/>
+ </packagedElement>
+ <profileApplication xmi:id="_FSLh2L3CEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:id="_FSLh2b3CEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Standard.profile.uml#_yzU58YinEdqtvbnfB2L_5w"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ <profileApplication xmi:id="_FSLh2r3CEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:id="_FSLh273CEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML2_MSL_PROFILES/Default.epx#_fNwoAAqoEd6-N_NOT9vsCA?Default/Default?"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default?"/>
+ </profileApplication>
+ <profileApplication xmi:id="_FSLh3L3CEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:id="_FSLh3b3CEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_IrdAUMmBEdqBcN1R6EvWUw?Deployment/Deployment?"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment?"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QjJfIL3CEeSCx5YnPkDiBQ">
+ <eAnnotations xmi:id="_QjJfIb3CEeSCx5YnPkDiBQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="Profile.epx#_-Lqxgb3BEeSCx5YnPkDiBQ?Profile/Profile?"/>
+ </eAnnotations>
+ <appliedProfile href="Profile.epx#_M1c60L3BEeSCx5YnPkDiBQ?Profile?"/>
+ </profileApplication>
+</uml:Model>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_1.efx b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_1.efx
new file mode 100644
index 00000000000..061ec754435
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_1.efx
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--xtools2_universal_type_manager-->
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.uml.msl.fragment" version="7.0.0"><feature description="" name="com.ibm.xtools.ruml.feature" url="" version="7.0.0"/></signature>?>
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.mmi.ui.signatures.diagram" version="7.0.0"><feature description="" name="Rational Modeling Platform (com.ibm.xtools.rmp)" url="" version="7.0.0"/></signature>?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Profile="http:///schemas/Profile/_-LqxgL3BEeSCx5YnPkDiBQ/1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http:///schemas/Profile/_-LqxgL3BEeSCx5YnPkDiBQ/1 Profile.epx#_-Lqxgb3BEeSCx5YnPkDiBQ?Profile/Profile?">
+ <uml:Class xmi:id="_IfDF0L3CEeSCx5YnPkDiBQ" name="RefMixed">
+ <eAnnotations xmi:id="_i2ZNAL3CEeSCx5YnPkDiBQ" source="com.ibm.xtools.uml.msl.fragmentContainer">
+ <references xmi:type="uml:Package" href="Blank%20Package.emx#_F5A3sL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments?"/>
+ </eAnnotations>
+ </uml:Class>
+ <Profile:Stereotype2 xmi:id="_SeyFYb3CEeSCx5YnPkDiBQ" base_Class="_IfDF0L3CEeSCx5YnPkDiBQ">
+ <class href="Blank%20Package.emx#_KbIYAL3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class1?"/>
+ <class href="Blank%20Package.emx#_KfvLML3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class2?"/>
+ <class href="Blank%20Package.emx#_Kk8bUL3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class3?"/>
+ <class href="Blank%20Package.emx#_Ktuj4L3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class4?"/>
+ <class href="ModelFragment_3.efx#_IVFRgL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefOne?"/>
+ <class href="ModelFragment_2.efx#_IZPYwL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMultiple?"/>
+ <class href="#_IfDF0L3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments/RefMixed?"/>
+ </Profile:Stereotype2>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_2.efx b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_2.efx
new file mode 100644
index 00000000000..79ecb2fc288
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_2.efx
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--xtools2_universal_type_manager-->
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.uml.msl.fragment" version="7.0.0"><feature description="" name="com.ibm.xtools.ruml.feature" url="" version="7.0.0"/></signature>?>
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.mmi.ui.signatures.diagram" version="7.0.0"><feature description="" name="Rational Modeling Platform (com.ibm.xtools.rmp)" url="" version="7.0.0"/></signature>?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Profile="http:///schemas/Profile/_-LqxgL3BEeSCx5YnPkDiBQ/1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http:///schemas/Profile/_-LqxgL3BEeSCx5YnPkDiBQ/1 Profile.epx#_-Lqxgb3BEeSCx5YnPkDiBQ?Profile/Profile?">
+ <uml:Class xmi:id="_IZPYwL3CEeSCx5YnPkDiBQ" name="RefMultiple">
+ <eAnnotations xmi:id="_kGI9ob3CEeSCx5YnPkDiBQ" source="com.ibm.xtools.uml.msl.fragments"/>
+ <eAnnotations xmi:id="_kGI9oL3CEeSCx5YnPkDiBQ" source="com.ibm.xtools.uml.msl.fragmentContainer">
+ <references xmi:type="uml:Package" href="Blank%20Package.emx#_F5A3sL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments?"/>
+ </eAnnotations>
+ </uml:Class>
+ <Profile:Stereotype2 xmi:id="_SeyFYL3CEeSCx5YnPkDiBQ" base_Class="_IZPYwL3CEeSCx5YnPkDiBQ">
+ <class href="Blank%20Package.emx#_KbIYAL3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class1?"/>
+ <class href="Blank%20Package.emx#_KfvLML3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class2?"/>
+ <class href="Blank%20Package.emx#_Kk8bUL3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class3?"/>
+ <class href="Blank%20Package.emx#_Ktuj4L3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class4?"/>
+ </Profile:Stereotype2>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_3.efx b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_3.efx
new file mode 100644
index 00000000000..c6174612f6d
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/anytypeReferences/ModelFragment_3.efx
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--xtools2_universal_type_manager-->
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.uml.msl.fragment" version="7.0.0"><feature description="" name="com.ibm.xtools.ruml.feature" url="" version="7.0.0"/></signature>?>
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.mmi.ui.signatures.diagram" version="7.0.0"><feature description="" name="Rational Modeling Platform (com.ibm.xtools.rmp)" url="" version="7.0.0"/></signature>?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Profile="http:///schemas/Profile/_-LqxgL3BEeSCx5YnPkDiBQ/1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http:///schemas/Profile/_-LqxgL3BEeSCx5YnPkDiBQ/1 Profile.epx#_-Lqxgb3BEeSCx5YnPkDiBQ?Profile/Profile?">
+ <uml:Class xmi:id="_IVFRgL3CEeSCx5YnPkDiBQ" name="RefOne">
+ <eAnnotations xmi:id="_lEeOIb3CEeSCx5YnPkDiBQ" source="com.ibm.xtools.uml.msl.fragments"/>
+ <eAnnotations xmi:id="_lEeOIL3CEeSCx5YnPkDiBQ" source="com.ibm.xtools.uml.msl.fragmentContainer">
+ <references xmi:type="uml:Package" href="Blank%20Package.emx#_F5A3sL3CEeSCx5YnPkDiBQ?Blank%20Package/Fragments?"/>
+ </eAnnotations>
+ </uml:Class>
+ <Profile:Stereotype1 xmi:id="_RlNZEL3CEeSCx5YnPkDiBQ" base_Class="_IVFRgL3CEeSCx5YnPkDiBQ" attribute1="aze" attribute3="12">
+ <class href="Blank%20Package.emx#_KbIYAL3CEeSCx5YnPkDiBQ?Blank%20Package/ReferencedElements/Class1?"/>
+ </Profile:Stereotype1>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportModelsTest.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportModelsTest.java
index 4977ee8d67b..2fcde47d25e 100644
--- a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportModelsTest.java
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportModelsTest.java
@@ -12,13 +12,17 @@
package org.eclipse.papyrus.migration.rsa.tests.qvt;
+import java.util.List;
+
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
@@ -69,5 +73,49 @@ public class ImportModelsTest extends AbstractTransformationTest {
}
+ // Bug 459488
+ // resources/anytypeReferences/*
+ @Test
+ public void testImportProfileReferences() throws Exception {
+ String path = "resources/anytypeReferences/";
+ String mainFile = path + "Blank Package.emx";
+ String[] additionalFiles = new String[] {
+ path + "ModelFragment_1.efx",
+ path + "ModelFragment_2.efx",
+ path + "ModelFragment_3.efx"
+ };
+
+ simpleImport(mainFile, additionalFiles, true);
+
+ openEditor();
+
+ Package fragments = rootPackage.getNestedPackage("Fragments");
+ Class refOne = (Class) fragments.getOwnedType("RefOne");
+ Class refMultiple = (Class) fragments.getOwnedType("RefMultiple");
+ Class refMixed = (Class) fragments.getOwnedType("RefMixed");
+
+ Stereotype st1 = refOne.getAppliedStereotype("Profile::Stereotype1");
+ Stereotype st2 = refMultiple.getAppliedStereotype("Profile::Stereotype2");
+ Stereotype st3 = refMixed.getAppliedStereotype("Profile::Stereotype2");
+
+ Class referencedClass1 = (Class) refOne.getValue(st1, "class");
+ Assert.assertNotNull("The reference to Class has disappeared", referencedClass1);
+ Assert.assertFalse("The reference to Class cannot be resolved", referencedClass1.eIsProxy());
+
+ List<?> referencedClasses = (List<?>) refMultiple.getValue(st2, "class");
+ Assert.assertEquals("There should be 4 references to classes", 4, referencedClasses.size());
+ for (Object value : referencedClasses) {
+ EObject referencedObject = (EObject) value;
+ Assert.assertFalse("The referenced element is not resolved", referencedObject.eIsProxy());
+ }
+
+ List<?> referencedClasses2 = (List<?>) refMixed.getValue(st3, "class");
+ Assert.assertEquals("There should be 7 references to classes", 7, referencedClasses2.size());
+ for (Object value : referencedClasses2) {
+ EObject referencedObject = (EObject) value;
+ Assert.assertFalse("The referenced element is not resolved", referencedObject.eIsProxy());
+ }
+ }
+
}

Back to the top