Adding local comparison cases Change-Id: I4043dbf7cab19b54bf60a1bb4ecc0855a0fc53a9
diff --git a/testLocalCrossReference/.project b/testLocalCrossReference/.project new file mode 100644 index 0000000..ead448e --- /dev/null +++ b/testLocalCrossReference/.project
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testLocalCrossReference</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription>
diff --git a/testLocalCrossReference/model1/My.ecore b/testLocalCrossReference/model1/My.ecore new file mode 100644 index 0000000..ac4e079 --- /dev/null +++ b/testLocalCrossReference/model1/My.ecore
@@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="pack"> + <eClassifiers xsi:type="ecore:EClass" name="ClassA"> + <eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="ecore:EClass types.ecore#//ClassType"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="attr" eType="ecore:EDataType types.ecore#//BooleanType"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ClassB"/> +</ecore:EPackage>
diff --git a/testLocalCrossReference/model1/types.ecore b/testLocalCrossReference/model1/types.ecore new file mode 100644 index 0000000..b998468 --- /dev/null +++ b/testLocalCrossReference/model1/types.ecore
@@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="types"> + <eClassifiers xsi:type="ecore:EClass" name="ClassType"/> + <eClassifiers xsi:type="ecore:EDataType" name="StringType" instanceClassName="java.lang.String"/> + <eClassifiers xsi:type="ecore:EDataType" name="BooleanType" instanceClassName="java.lang.Boolean"/> +</ecore:EPackage>
diff --git a/testLocalCrossReference/model2/My.ecore b/testLocalCrossReference/model2/My.ecore new file mode 100644 index 0000000..2d48139 --- /dev/null +++ b/testLocalCrossReference/model2/My.ecore
@@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="pack"> + <eClassifiers xsi:type="ecore:EClass" name="ClassA" eSuperTypes="types.ecore#//ClassType"> + <eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="ecore:EClass types.ecore#//ClassType"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ClassB" eSuperTypes="types.ecore#//ClassType"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="attrib" eType="ecore:EDataType types.ecore#//StringType"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalCrossReference/model2/types.ecore b/testLocalCrossReference/model2/types.ecore new file mode 100644 index 0000000..6b7371f --- /dev/null +++ b/testLocalCrossReference/model2/types.ecore
@@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="types"> + <eClassifiers xsi:type="ecore:EClass" name="ClassType"/> + <eClassifiers xsi:type="ecore:EDataType" name="StringType" instanceClassName="java.lang.String"/> +</ecore:EPackage>
diff --git a/testLocalExtLibrary/.project b/testLocalExtLibrary/.project new file mode 100644 index 0000000..2ae472f --- /dev/null +++ b/testLocalExtLibrary/.project
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testLocalExtLibrary</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription>
diff --git a/testLocalExtLibrary/model1/extlibraryLeft.ecore b/testLocalExtLibrary/model1/extlibraryLeft.ecore new file mode 100644 index 0000000..30ad08a --- /dev/null +++ b/testLocalExtLibrary/model1/extlibraryLeft.ecore
@@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + <eLiterals name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Borrowable"/> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Borrowable" eOpposite="#//Borrowable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fullName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Magazine" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibrary/model2/extlibraryRight.ecore b/testLocalExtLibrary/model2/extlibraryRight.ecore new file mode 100644 index 0000000..9501ecc --- /dev/null +++ b/testLocalExtLibrary/model2/extlibraryRight.ecore
@@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="subtitle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + <eLiterals name="Manga" value="3" literal="Manga"/> + <eLiterals name="Manhwa" value="5"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Lendable"/> + <eClassifiers xsi:type="ecore:EClass" name="Periodical" abstract="true" eSuperTypes="#//Item #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="issuesPerYear" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutes" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Lendable" eOpposite="#//Lendable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="familyName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Magazine" eSuperTypes="#//Periodical"/> + <eClassifiers xsi:type="ecore:EClass" name="TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryID/.project b/testLocalExtLibraryID/.project new file mode 100644 index 0000000..95c83c5 --- /dev/null +++ b/testLocalExtLibraryID/.project
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testLocalExtLibraryID</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription>
diff --git a/testLocalExtLibraryID/model1/extlibraryLeft.ecore b/testLocalExtLibraryID/model1/extlibraryLeft.ecore new file mode 100644 index 0000000..b26cef2 --- /dev/null +++ b/testLocalExtLibraryID/model1/extlibraryLeft.ecore
@@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146VgW60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + <eLiterals xmi:id="_XID4MG9IEeG7V_vNzpYwOw" name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals xmi:id="_XIEfQG9IEeG7V_vNzpYwOw" name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCUm60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="length" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIJ-0G9IEeG7V_vNzpYwOw" name="fullName"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_XIKl4W9IEeG7V_vNzpYwOw" name="Magazine" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl429IEeG7V_vNzpYwOw" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl5W9IEeG7V_vNzpYwOw" name="pages"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryID/model2/extlibraryRight.ecore b/testLocalExtLibraryID/model2/extlibraryRight.ecore new file mode 100644 index 0000000..09d5b07 --- /dev/null +++ b/testLocalExtLibraryID/model2/extlibraryRight.ecore
@@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_9MlYMG9IEeGekPcBm25hwQ" name="subtitle"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + <eLiterals xmi:id="_9Mw-YG9IEeGekPcBm25hwQ" name="Manga" value="3" literal="Manga"/> + <eLiterals xmi:id="_9Mw-YW9IEeGekPcBm25hwQ" name="Manhwa" value="5"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQ260EeGkd4g88tZXfA" name="Periodical" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15LbR260EeGkd4g88tZXfA" name="issuesPerYear" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="minutes" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3g260EeGkd4g88tZXfA" name="firstName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3hW60EeGkd4g88tZXfA" name="familyName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_9M9ysW9IEeGekPcBm25hwQ" name="Magazine" eSuperTypes="_15LbQ260EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_9M9ys29IEeGekPcBm25hwQ" name="TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_9M9ytG9IEeGekPcBm25hwQ" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryIDThreeWay/.project b/testLocalExtLibraryIDThreeWay/.project new file mode 100644 index 0000000..46e3027 --- /dev/null +++ b/testLocalExtLibraryIDThreeWay/.project
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testLocalExtLibraryIDThreeWay</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription>
diff --git a/testLocalExtLibraryIDThreeWay/extlibraryLeft.ecore b/testLocalExtLibraryIDThreeWay/extlibraryLeft.ecore new file mode 100644 index 0000000..b26cef2 --- /dev/null +++ b/testLocalExtLibraryIDThreeWay/extlibraryLeft.ecore
@@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146VgW60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + <eLiterals xmi:id="_XID4MG9IEeG7V_vNzpYwOw" name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals xmi:id="_XIEfQG9IEeG7V_vNzpYwOw" name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCUm60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="length" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIJ-0G9IEeG7V_vNzpYwOw" name="fullName"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_XIKl4W9IEeG7V_vNzpYwOw" name="Magazine" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl429IEeG7V_vNzpYwOw" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl5W9IEeG7V_vNzpYwOw" name="pages"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryIDThreeWay/extlibraryOrigin.ecore b/testLocalExtLibraryIDThreeWay/extlibraryOrigin.ecore new file mode 100644 index 0000000..b26cef2 --- /dev/null +++ b/testLocalExtLibraryIDThreeWay/extlibraryOrigin.ecore
@@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146VgW60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + <eLiterals xmi:id="_XID4MG9IEeG7V_vNzpYwOw" name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals xmi:id="_XIEfQG9IEeG7V_vNzpYwOw" name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCUm60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="length" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIJ-0G9IEeG7V_vNzpYwOw" name="fullName"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_XIKl4W9IEeG7V_vNzpYwOw" name="Magazine" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl429IEeG7V_vNzpYwOw" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl5W9IEeG7V_vNzpYwOw" name="pages"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryIDThreeWay/extlibraryRight.ecore b/testLocalExtLibraryIDThreeWay/extlibraryRight.ecore new file mode 100644 index 0000000..09d5b07 --- /dev/null +++ b/testLocalExtLibraryIDThreeWay/extlibraryRight.ecore
@@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_9MlYMG9IEeGekPcBm25hwQ" name="subtitle"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + <eLiterals xmi:id="_9Mw-YG9IEeGekPcBm25hwQ" name="Manga" value="3" literal="Manga"/> + <eLiterals xmi:id="_9Mw-YW9IEeGekPcBm25hwQ" name="Manhwa" value="5"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQ260EeGkd4g88tZXfA" name="Periodical" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15LbR260EeGkd4g88tZXfA" name="issuesPerYear" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="minutes" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3g260EeGkd4g88tZXfA" name="firstName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3hW60EeGkd4g88tZXfA" name="familyName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_9M9ysW9IEeGekPcBm25hwQ" name="Magazine" eSuperTypes="_15LbQ260EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_9M9ys29IEeGekPcBm25hwQ" name="TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_9M9ytG9IEeGekPcBm25hwQ" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryIDThreeWayConflicts/.project b/testLocalExtLibraryIDThreeWayConflicts/.project new file mode 100644 index 0000000..73a914d --- /dev/null +++ b/testLocalExtLibraryIDThreeWayConflicts/.project
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testLocalExtLibraryIDThreeWayConflicts</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription>
diff --git a/testLocalExtLibraryIDThreeWayConflicts/extlibraryLeft.ecore b/testLocalExtLibraryIDThreeWayConflicts/extlibraryLeft.ecore new file mode 100644 index 0000000..b26cef2 --- /dev/null +++ b/testLocalExtLibraryIDThreeWayConflicts/extlibraryLeft.ecore
@@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146VgW60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + <eLiterals xmi:id="_XID4MG9IEeG7V_vNzpYwOw" name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals xmi:id="_XIEfQG9IEeG7V_vNzpYwOw" name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCUm60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="length" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIJ-0G9IEeG7V_vNzpYwOw" name="fullName"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_XIKl4W9IEeG7V_vNzpYwOw" name="Magazine" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl429IEeG7V_vNzpYwOw" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_XIKl5W9IEeG7V_vNzpYwOw" name="pages"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryIDThreeWayConflicts/extlibraryOrigin.ecore b/testLocalExtLibraryIDThreeWayConflicts/extlibraryOrigin.ecore new file mode 100644 index 0000000..c891aa8 --- /dev/null +++ b/testLocalExtLibraryIDThreeWayConflicts/extlibraryOrigin.ecore
@@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146VgW60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQ260EeGkd4g88tZXfA" name="Periodical" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15LbRW60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15LbR260EeGkd4g88tZXfA" name="issuesPerYear" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCUm60EeGkd4g88tZXfA" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="minutesLength" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpY260EeGkd4g88tZXfA" name="reader" eType="_15N3gm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3g260EeGkd4g88tZXfA" name="firstName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3hW60EeGkd4g88tZXfA" name="lastName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryIDThreeWayConflicts/extlibraryRight.ecore b/testLocalExtLibraryIDThreeWayConflicts/extlibraryRight.ecore new file mode 100644 index 0000000..09d5b07 --- /dev/null +++ b/testLocalExtLibraryIDThreeWayConflicts/extlibraryRight.ecore
@@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" xmi:id="_14sTEG60EeGkd4g88tZXfA" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_146VgG60EeGkd4g88tZXfA" name="Book" eSuperTypes="_15LbQG60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_146Vg260EeGkd4g88tZXfA" name="pages" defaultValueLiteral="100"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_1468kW60EeGkd4g88tZXfA" name="category" eType="_15F7sG60EeGkd4g88tZXfA" unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148KsG60EeGkd4g88tZXfA" name="author" lowerBound="1" eType="_15CRUW60EeGkd4g88tZXfA" eOpposite="_15EGgG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_9MlYMG9IEeGekPcBm25hwQ" name="subtitle"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_148KsW60EeGkd4g88tZXfA" name="Library" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_148Ksm60EeGkd4g88tZXfA" name="name"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_148xwW60EeGkd4g88tZXfA" name="writers" upperBound="-1" eType="_15CRUW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_148xwm60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_148xw260EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_149Y0G60EeGkd4g88tZXfA" name="employees" upperBound="-1" eType="_15OekG60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_149Y0W60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_149Y0m60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15AcIG60EeGkd4g88tZXfA" name="borrowers" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> + <eAnnotations xmi:id="_15AcIW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BDMG60EeGkd4g88tZXfA" key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMW60EeGkd4g88tZXfA" name="stock" ordered="false" upperBound="-1" eType="_15Hw4m60EeGkd4g88tZXfA" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BDMm60EeGkd4g88tZXfA" name="books" ordered="false" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQG60EeGkd4g88tZXfA" name="branches" upperBound="-1" eType="_148KsW60EeGkd4g88tZXfA" containment="true" eOpposite="_15BqQm60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15BqQm60EeGkd4g88tZXfA" name="parentBranch" eType="_148KsW60EeGkd4g88tZXfA" eOpposite="_15BqQG60EeGkd4g88tZXfA"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15BqRG60EeGkd4g88tZXfA" name="people" upperBound="-1"> + <eAnnotations xmi:id="_15BqRW60EeGkd4g88tZXfA" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details xmi:id="_15BqRm60EeGkd4g88tZXfA" key="kind" value="group"/> + </eAnnotations> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15CRUW60EeGkd4g88tZXfA" name="Writer" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15CRUm60EeGkd4g88tZXfA" name="name" volatile="true" transient="true"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15EGgG60EeGkd4g88tZXfA" name="books" upperBound="-1" eType="_146VgG60EeGkd4g88tZXfA" eOpposite="_148KsG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" xmi:id="_15F7sG60EeGkd4g88tZXfA" name="BookCategory"> + <eLiterals xmi:id="_15HJ0G60EeGkd4g88tZXfA" name="Mystery"/> + <eLiterals xmi:id="_15Hw4G60EeGkd4g88tZXfA" name="ScienceFiction" value="1"/> + <eLiterals xmi:id="_15Hw4W60EeGkd4g88tZXfA" name="Biography" value="2"/> + <eLiterals xmi:id="_9Mw-YG9IEeGekPcBm25hwQ" name="Manga" value="3" literal="Manga"/> + <eLiterals xmi:id="_9Mw-YW9IEeGekPcBm25hwQ" name="Manhwa" value="5"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15Hw4m60EeGkd4g88tZXfA" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15Hw4260EeGkd4g88tZXfA" name="publicationDate"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15IX8G60EeGkd4g88tZXfA" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15JmEG60EeGkd4g88tZXfA" name="copies" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15JmEm60EeGkd4g88tZXfA" name="borrowers" ordered="false" upperBound="-1" eType="_15NQcW60EeGkd4g88tZXfA" eOpposite="_15N3gG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQG60EeGkd4g88tZXfA" name="CirculatingItem" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _15IX8G60EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15LbQ260EeGkd4g88tZXfA" name="Periodical" abstract="true" eSuperTypes="_15Hw4m60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15LbR260EeGkd4g88tZXfA" name="issuesPerYear" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MCUG60EeGkd4g88tZXfA" name="AudioVisualItem" abstract="true" eSuperTypes="_15LbQG60EeGkd4g88tZXfA _9M9ys29IEeGekPcBm25hwQ"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVG60EeGkd4g88tZXfA" name="minutes" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15MCVm60EeGkd4g88tZXfA" name="damaged"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpYW60EeGkd4g88tZXfA" name="BookOnTape" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15MpZG60EeGkd4g88tZXfA" name="author" eType="_15CRUW60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15MpZm60EeGkd4g88tZXfA" name="VideoCassette" eSuperTypes="_15MCUG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15NQcG60EeGkd4g88tZXfA" name="cast" upperBound="-1" eType="_15N3gm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15NQcW60EeGkd4g88tZXfA" name="Borrower" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15N3gG60EeGkd4g88tZXfA" name="borrowed" upperBound="-1" eType="_15IX8G60EeGkd4g88tZXfA" eOpposite="_15JmEm60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15N3gm60EeGkd4g88tZXfA" name="Person" eSuperTypes="_15OelG60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3g260EeGkd4g88tZXfA" name="firstName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15N3hW60EeGkd4g88tZXfA" name="familyName" lowerBound="1"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OekG60EeGkd4g88tZXfA" name="Employee" eSuperTypes="_15N3gm60EeGkd4g88tZXfA"> + <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="_15Oekm60EeGkd4g88tZXfA" name="manager" eType="_15OekG60EeGkd4g88tZXfA"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_15OelG60EeGkd4g88tZXfA" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_15OelW60EeGkd4g88tZXfA" name="address"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_9M9ysW9IEeGekPcBm25hwQ" name="Magazine" eSuperTypes="_15LbQ260EeGkd4g88tZXfA"/> + <eClassifiers xsi:type="ecore:EClass" xmi:id="_9M9ys29IEeGekPcBm25hwQ" name="TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_9M9ytG9IEeGekPcBm25hwQ" name="title"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryThreeWay/.project b/testLocalExtLibraryThreeWay/.project new file mode 100644 index 0000000..fc2b405 --- /dev/null +++ b/testLocalExtLibraryThreeWay/.project
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testLocalExtLibraryThreeWay</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription>
diff --git a/testLocalExtLibraryThreeWay/extlibraryLeft.ecore b/testLocalExtLibraryThreeWay/extlibraryLeft.ecore new file mode 100644 index 0000000..30ad08a --- /dev/null +++ b/testLocalExtLibraryThreeWay/extlibraryLeft.ecore
@@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + <eLiterals name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Borrowable"/> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Borrowable" eOpposite="#//Borrowable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fullName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Magazine" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryThreeWay/extlibraryOrigin.ecore b/testLocalExtLibraryThreeWay/extlibraryOrigin.ecore new file mode 100644 index 0000000..30ad08a --- /dev/null +++ b/testLocalExtLibraryThreeWay/extlibraryOrigin.ecore
@@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + <eLiterals name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Borrowable"/> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Borrowable" eOpposite="#//Borrowable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fullName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Magazine" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryThreeWay/extlibraryRight.ecore b/testLocalExtLibraryThreeWay/extlibraryRight.ecore new file mode 100644 index 0000000..9501ecc --- /dev/null +++ b/testLocalExtLibraryThreeWay/extlibraryRight.ecore
@@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="subtitle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + <eLiterals name="Manga" value="3" literal="Manga"/> + <eLiterals name="Manhwa" value="5"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Lendable"/> + <eClassifiers xsi:type="ecore:EClass" name="Periodical" abstract="true" eSuperTypes="#//Item #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="issuesPerYear" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutes" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Lendable" eOpposite="#//Lendable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="familyName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Magazine" eSuperTypes="#//Periodical"/> + <eClassifiers xsi:type="ecore:EClass" name="TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryThreeWayConflicts/.project b/testLocalExtLibraryThreeWayConflicts/.project new file mode 100644 index 0000000..07647c0 --- /dev/null +++ b/testLocalExtLibraryThreeWayConflicts/.project
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testLocalExtLibraryThreeWayConflicts</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription>
diff --git a/testLocalExtLibraryThreeWayConflicts/extlibraryLeft.ecore b/testLocalExtLibraryThreeWayConflicts/extlibraryLeft.ecore new file mode 100644 index 0000000..30ad08a --- /dev/null +++ b/testLocalExtLibraryThreeWayConflicts/extlibraryLeft.ecore
@@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + <eLiterals name="Encyclopedia" value="3" literal="Encyclopedia"/> + <eLiterals name="Dictionary" value="4"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrowable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Borrowable"/> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Borrowable" eOpposite="#//Borrowable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fullName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Magazine" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryThreeWayConflicts/extlibraryOrigin.ecore b/testLocalExtLibraryThreeWayConflicts/extlibraryOrigin.ecore new file mode 100644 index 0000000..0cea4a6 --- /dev/null +++ b/testLocalExtLibraryThreeWayConflicts/extlibraryOrigin.ecore
@@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Lendable"/> + <eClassifiers xsi:type="ecore:EClass" name="Periodical" abstract="true" eSuperTypes="#//Item"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="issuesPerYear" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutesLength" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="reader" eType="#//Person"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Lendable" eOpposite="#//Lendable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> +</ecore:EPackage>
diff --git a/testLocalExtLibraryThreeWayConflicts/extlibraryRight.ecore b/testLocalExtLibraryThreeWayConflicts/extlibraryRight.ecore new file mode 100644 index 0000000..9501ecc --- /dev/null +++ b/testLocalExtLibraryThreeWayConflicts/extlibraryRight.ecore
@@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage 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" name="extlibrary" nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0" + nsPrefix="extlib"> + <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" + defaultValueLiteral="100"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory" + unsettable="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" + eType="#//Writer" eOpposite="#//Writer/books"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="subtitle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" + eType="#//Writer" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" + eType="#//Employee" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" + eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true" + resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="group" value="#people"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" + upperBound="-1" eType="#//Item" containment="true" resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" + upperBound="-1" eType="#//Book" transient="true" derived="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" + eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library" + eOpposite="#//Library/branches"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="group"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + volatile="true" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" + eType="#//Book" eOpposite="#//Book/author"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> + <eLiterals name="Mystery"/> + <eLiterals name="ScienceFiction" value="1"/> + <eLiterals name="Biography" value="2"/> + <eLiterals name="Manga" value="3" literal="Manga"/> + <eLiterals name="Manhwa" value="5"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Lendable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" + upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Lendable"/> + <eClassifiers xsi:type="ecore:EClass" name="Periodical" abstract="true" eSuperTypes="#//Item #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="issuesPerYear" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem #//TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutes" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem"> + <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" + eType="#//Lendable" eOpposite="#//Lendable/borrowers"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="familyName" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person"> + <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Magazine" eSuperTypes="#//Periodical"/> + <eClassifiers xsi:type="ecore:EClass" name="TitledItem"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> +</ecore:EPackage>