diff options
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()); + } + } + } |