diff options
author | Ed Willink | 2019-06-25 08:15:39 +0000 |
---|---|---|
committer | Ed Willink | 2019-06-28 08:51:04 +0000 |
commit | 5acb2460ea4a4296651ba1d709f772caff749953 (patch) | |
tree | 386b20503d2fb37439062f025f061784a9461126 | |
parent | e55709222f0275ef15b08e5a40933287ff5dca2d (diff) | |
download | org.eclipse.qvtd-5acb2460ea4a4296651ba1d709f772caff749953.tar.gz org.eclipse.qvtd-5acb2460ea4a4296651ba1d709f772caff749953.tar.xz org.eclipse.qvtd-5acb2460ea4a4296651ba1d709f772caff749953.zip |
[529207] Add better Ecore2Pivot
6 files changed, 169 insertions, 316 deletions
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot.qvtr b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot.qvtr index e73e8724e..0adcede87 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot.qvtr +++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot.qvtr @@ -28,7 +28,7 @@ package org::eclipse::ocl::pivot2::ecore2pivot { eClass : ecoreMM::EClass; asClass : pivotMM::Class; name : String; - /*enforce*/ domain ecore eAttribute : EAttribute { + enforce domain ecore eAttribute : EAttribute { eContainingClass = eClass, name = name }; @@ -39,18 +39,21 @@ package org::eclipse::ocl::pivot2::ecore2pivot { when { mapEClass(eClass, asClass); } + where { + mapETypedElement_type(eAttribute, asProperty); + } } /** * ecore::EClass <=> pivot::Class */ - top relation mapEClass { + top relation mapEClass overrides mapEClassifier { ePackage : ecoreMM::EPackage; asPackage : pivotMM::Package; name : String; isAbstract : Boolean; isInterface : Boolean; - /*enforce*/ domain ecore eClass : EClass { + enforce domain ecore eClass : EClass { ePackage = ePackage, name = name, abstract = isAbstract, @@ -68,21 +71,49 @@ package org::eclipse::ocl::pivot2::ecore2pivot { } /** + * ecore::EClassifier <=> pivot::Type + */ + top abstract relation mapEClassifier { + enforce domain ecore eClassifier : EClassifier; + enforce domain as asType : Type; + } + + /** + * ecore::EDataType <=> pivot::DataType + */ + top relation mapEDataType overrides mapEClassifier { + ePackage : ecoreMM::EPackage; + asPackage : pivotMM::Package; + name : String; + enforce domain ecore eDataType : EDataType { + ePackage = ePackage, + name = name + }; + enforce domain as asDataType : DataType { + owningPackage = asPackage, + name = name + }; + when { + mapEPackage(ePackage, asPackage); + } + } + + /** * ecore::EPackage <=> pivot::Package */ top relation mapEPackage { name : String; nsPrefix : String; nsURI : String; - /*enforce*/ domain ecore ePackage : EPackage { + enforce domain ecore ePackage : EPackage { eSuperPackage = null, - extent = eExtent : extentMM::qvtruntimelibrary::Extent{}, + extent = eExtent : extentMM::qvtruntimelibrary::Extent, name = name, nsPrefix = nsPrefix, nsURI = nsURI }; enforce domain as asPackage : Package { - Model = asModel : pivotMM::Model{}, + Model = asModel : pivotMM::Model, name = name, nsPrefix = nsPrefix, URI = nsURI @@ -99,24 +130,133 @@ package org::eclipse::ocl::pivot2::ecore2pivot { eClass : ecoreMM::EClass; asClass : pivotMM::Class; name : String; - /*enforce*/ domain ecore eReference : EReference { + isComposite : Boolean; + enforce domain ecore eReference : EReference { eContainingClass = eClass, - name = name + name = name, + containment = isComposite }; enforce domain as asProperty : Property { owningClass = asClass, - name = name + name = name, + isComposite = isComposite }; when { mapEClass(eClass, asClass); } + where { + mapETypedElement_type(eReference, asProperty); + } + } + + /** + * ecore::EReference <=> pivot::Property + */ + top relation mapEReference_implicitOpposite { + eTargetClass : ecoreMM::EClass; + eContainingClass : ecoreMM::EClass; + asContainingClass : pivotMM::Class; + asOpposite : pivotMM::Property; + asTargetType : pivotMM::Class; + name : String; + enforce domain ecore eReference : EReference { + eContainingClass = eContainingClass, + eType = eTargetClass, + eOpposite = null + }; + enforce domain as asProperty : Property { + owningClass = asContainingClass, + type = asTargetType, + name = asTargetType.name, + isImplicit = true, + opposite = asOpposite + }; + when { + mapEClass(eTargetClass, asContainingClass); + mapEClass(eContainingClass, asTargetType); + mapEReference(eReference, asOpposite); + } + -- where { + -- mapETypedElement_type(eReference, asProperty); + -- } } top relation mapEResource { - /*enforce*/ domain ecore eExtent : extentMM::qvtruntimelibrary::Extent {}; + enforce domain ecore eExtent : extentMM::qvtruntimelibrary::Extent; enforce domain as asModel : pivotMM::Model { - extent = asExtent : extentMM::qvtruntimelibrary::Extent {} + extent = asExtent : extentMM::qvtruntimelibrary::Extent }; } + + /** + * ecore::ETypedElement.type <=> pivot::TypedElement.type + */ + abstract relation mapETypedElement_type { + enforce domain ecore eTypedElement : ETypedElement; + enforce domain as asTypedElement: TypedElement; + } + relation mapETypedElement_type_unit overrides mapETypedElement_type { + enforce domain ecore eTypedElement : ETypedElement { + eType = eType : EClassifier + } { eTypedElement.upperBound = 1}; + enforce domain as asTypedElement: TypedElement { + type = asType : Type + }; + when { + mapEClassifier(eType, asType); + } + } + relation mapETypedElement_type_collection overrides mapETypedElement_type { + isOrdered : Boolean; + isUnique : Boolean; + asCollection : pivotMM::CollectionType; + enforce domain ecore eTypedElement : ETypedElement { + eType = eType : EClassifier, + _'ordered' = isOrdered, + _'unique' = isUnique + } { eTypedElement.upperBound > 1}; + enforce domain as asTypedElement: TypedElement { + type = asCollection + }; + when { + -- mapEClassifier(eType, asType); + mapEClassifier_Collection(eType, isOrdered, isUnique, asCollection); + } + } + abstract relation mapEClassifier_Collection { + enforce domain ecore eType : EClassifier, isOrdered : Boolean, isUnique : Boolean; + enforce domain as asCollection: CollectionType { + -- elementType = asType : Type + }; + -- when { + -- mapEClassifier(eType, asType); + -- } + } + relation mapEClassifier_Set overrides mapEClassifier_Collection { + enforce domain ecore eType : EClassifier, isOrdered : Boolean, isUnique : Boolean; + enforce domain as asCollection: SetType { + elementType = asType : Type + }; + when { + not isOrdered; + isUnique; + mapEClassifier(eType, asType); + } + } + /* relation map2SetType { + /*enforce* / domain ecore eTypedElement : ETypedElement { + eType = eType : EClassifier + } { eTypedElement.upperBound > 1}; + enforce domain as asSet : pivotMM::SetType { + ownedBindings = asBinding : pivotMM::TemplateBinding { + ownedSubstitutions = asSubstitution : pivotMM::TemplateParameterSubstitution { + actual = asType : pivotMM::Type + } + } + }; + when { + mapEClassifier(eType, asType); + } + } */ } } diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot2.qvtr b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot2.qvtr deleted file mode 100644 index ead5257c8..000000000 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot2.qvtr +++ /dev/null @@ -1,233 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 Willink Transformations and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * E.D.Willink - initial implementation - *******************************************************************************/ -import ecoreMM : 'http://www.eclipse.org/emf/2002/Ecore'; -import pivotMM : 'http://www.eclipse.org/ocl/2015/Pivot'; ---import pivotMM : 'platform:/resource/org.eclipse.ocl.pivot/model/Pivot.ecore'::pivot; - -package org::eclipse::ocl::pivot2::ecore2pivot { -/** - * Transform an Ecore metamodel to a Pivot metamodel - */ - transformation Ecore2Pivot(ecore:ecoreMM, as:pivotMM) - { - /** - * ecore::EAttribute <=> pivot::Property - */ - top relation mapElement_EAttribute { - eClass : ecoreMM::EClass; - eDataType : ecoreMM::EDataType; - asClass : pivotMM::Class; --- asDataType : pivotMM::DataType; - name : String; - lower : Integer; - upper : Integer; - /*enforce*/ domain ecore eAttribute : EAttribute { - eContainingClass = eClass, - name = name, - eAttributeType = eDataType, - lowerBound = lower, - upperBound = upper - } { (0 <= upper) and (upper <= 1) }; - enforce domain as asProperty : Property { - owningClass = asClass, - name = name, --- type = asDataType, - isRequired = (lower = 1) - }; - when { - mapElement_EClass(eClass, asClass); --- mapReference_EClassifier(eDataType, asDataType); - } - } - - /** - * ecore::EClass <=> pivot::Class - */ - top relation mapElement_EClass { - ePackage : ecoreMM::EPackage; - asPackage : pivotMM::Package; - name : String; - isAbstract : Boolean; - isInterface : Boolean; - /*enforce*/ domain ecore eClass : EClass { - ePackage = ePackage, - name = name, - abstract = isAbstract, - interface = isInterface - }; - enforce domain as asClass : Class { - owningPackage = asPackage, - name = name, - isAbstract = isAbstract, - isInterface = isInterface - }; - when { - mapElement_EPackage(ePackage, asPackage); - } - } - - /** - * ecore::mapElement_EClass_eSuperTypes <=> pivot::Class_superClasses - */ - top relation mapElement_EClass_superClass { - /*enforce*/ domain ecore eSubClass : EClass { - eSuperTypes = eSuperClass : EClass {} - }; - enforce domain as asSubClass : Class { - superClasses = asSuperClass : Class {} - }; - when { - mapElement_EClass(eSubClass, asSubClass); - mapElement_EClass(eSuperClass, asSuperClass); - } - } - - /** - * ecore::EPackage <=> pivot::Package - */ - top relation mapElement_EPackage { - name : String; - nsPrefix : String; - nsURI : String; - /*enforce*/ domain ecore ePackage : EPackage { - name = name, - nsPrefix = nsPrefix, - nsURI = nsURI - }; - enforce domain as asPackage : Package { - name = name, - nsPrefix = nsPrefix, - URI = nsURI - }; - } - - /** - * ecore::EReference <=> pivot::Property - */ - top relation mapElement_EReference { - eClass : ecoreMM::EClass; - asClass : pivotMM::Class; - name : String; - /*enforce*/ domain ecore eReference : EReference { - eContainingClass = eClass, - name = name - }; --- } { (0 <= upper) and (upper <= 1) }; - enforce domain as asProperty : Property { - owningClass = asClass, - name = name - }; - when { - mapElement_EClass(eClass, asClass); - } - where { - mapElement_EReference_type(eReference, asProperty); - } - } - - /** - * ecore::EReference.eType <=> pivot::Property.type - */ - abstract relation mapElement_EReference_type { - /*enforce*/ domain ecore eReference : EReference {}; - enforce domain as asProperty : Property {}; - } - - /** - * ecore::EReference.eType <=> pivot::Property.type - */ - relation mapElement_EReference_collection_type overrides mapElement_EReference_type { - eReferredClass : ecoreMM::EClass; - asReferredClass : pivotMM::Class; - lower : Integer; - upper : Integer; - /*enforce*/ domain ecore eReference : EReference { - eReferenceType = eReferredClass, - lowerBound = lower, - upperBound = upper - } { (upper < 0) or (1 < upper) }; - enforce domain as asProperty : Property { - type = asReferredClass, - isRequired = true --(lower = 1) - }; - when { - mapSet_EClass(eReferredClass, lower, upper, asReferredClass); - } - } - - /** - * ecore::EReference.eType <=> pivot::Property.type - */ - relation mapElement_EReference_scalar_type overrides mapElement_EReference_type { - eReferredClass : ecoreMM::EClass; - asReferredClass : pivotMM::Class; - lower : Integer; - upper : Integer; - /*enforce*/ domain ecore eReference : EReference { - eReferenceType = eReferredClass, - lowerBound = lower, - upperBound = upper - } { (0 <= upper) and (upper <= 1) }; - enforce domain as asProperty : Property { - type = asReferredClass, - isRequired = false --(lower = 1) - }; - when { - mapElement_EClass(eReferredClass, asReferredClass); - } - } - - /** - * ecore::EClassifier <=> pivot::Type - */ --- abstract relation mapReference_EClassifier { --- /*enforce*/ domain ecore eClassifier : EClassifier {}; --- enforce domain as asClassifier : Type {}; --- } - - /** - * ecore::EClassifier <=> pivot::Type - * - relation mapReference_EClass { --overrides mapReference_EClassifier { - / *enforce* / domain ecore eClass : EClass {}; - enforce domain as asClass : Class {}; - when { - mapElement_EClass(eClass, asClass); - } - } */ - - /** - * ecore::EClassifier <=> pivot::Type - * - relation mapReference_EString overrides mapReference_EClassifier { - / *enforce* / domain ecore eClass : EClass {}; - enforce domain as asClassifier : String {}; - } */ - - /** - * ecore::EClass <=> pivot::Class - */ - relation mapSet_EClass { - /*enforce*/ domain ecore eClass : EClass{}, - lower : Integer{}, - upper : Integer{} - ; - enforce domain as asClass : SetType { - elementType = asClass, - lower = lower, - upper = upper.toUnlimitedNatural() - }; - when { - mapElement_EClass(eClass, asClass); - } - } - } -} diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families.ecore b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families.ecore index 5aee3f2a4..d8994f561 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families.ecore +++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families.ecore @@ -2,30 +2,22 @@ <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="Families" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/Families2Persons/1.0/Families" nsPrefix="families"> - <eClassifiers xsi:type="ecore:EClass" name="Family" eSuperTypes="#//Entity"> + <eClassifiers xsi:type="ecore:EClass" name="Family"> + <eStructuralFeatures xsi:type="ecore:EReference" name="father" ordered="false" + lowerBound="1" eType="#//Member" containment="true"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="father" ordered="false" - lowerBound="1" eType="#//Member" containment="true" eOpposite="#//Member/familyFather"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="mother" ordered="false" - lowerBound="1" eType="#//Member" containment="true" eOpposite="#//Member/familyMother"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="sons" ordered="false" upperBound="-1" - eType="#//Member" containment="true" eOpposite="#//Member/familySon"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="daughters" ordered="false" - upperBound="-1" eType="#//Member" containment="true" eOpposite="#//Member/familyDaughter"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Member" eSuperTypes="#//Entity #//Entity2"> + <eClassifiers xsi:type="ecore:EClass" name="Member"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="familyFather" ordered="false" - eType="#//Family" eOpposite="#//Family/father"/> + eType="#//Family"/> <eStructuralFeatures xsi:type="ecore:EReference" name="familyMother" ordered="false" - eType="#//Family" eOpposite="#//Family/mother"/> + eType="#//Family"/> <eStructuralFeatures xsi:type="ecore:EReference" name="familySon" ordered="false" - eType="#//Family" eOpposite="#//Family/sons"/> + eType="#//Family"/> <eStructuralFeatures xsi:type="ecore:EReference" name="familyDaughter" ordered="false" - eType="#//Family" eOpposite="#//Family/daughters"/> + eType="#//Family"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Entity" abstract="true"/> - <eClassifiers xsi:type="ecore:EClass" name="Entity2" abstract="true" interface="true"/> </ecore:EPackage> diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected.ecore.oclas b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected.ecore.oclas deleted file mode 100644 index 8aa18fda7..000000000 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected.ecore.oclas +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<pivot:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.eclipse.org/ocl/2015/Pivot" - xsi:schemaLocation="http://www.eclipse.org/ocl/2015/Pivot java://org.eclipse.ocl.pivot.PivotPackage" xmi:id="AAAAA" externalURI="platform:/resource/_QVTd_QVTrCompilerTests__testQVTrCompiler_Ecore2Pivot_CG/Families.ecore.oclas" - name="Families.ecore.oclas" xmiidVersion="1"> - <ownedPackages xmi:id="ci1p7" URI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/Families2Persons/1.0/Families" name="Families" - nsPrefix="families"> - <ownedClasses xmi:id="0bOMH" isAbstract="true" name="Entity"/> - <ownedClasses xmi:id="AeUhP" isAbstract="true" isInterface="true" name="Entity2"/> - <ownedClasses xmi:id="151KI" name="Family"> - <ownedProperties xmi:id="kuX1r" name="daughters"/> - <ownedProperties xmi:id="Va5d1" name="father"/> - <ownedProperties xmi:id="6dF3q" name="lastName"/> - <ownedProperties xmi:id="8vsLC" name="mother"/> - <ownedProperties xmi:id="aZgEC" name="sons"/> - </ownedClasses> - <ownedClasses xmi:id="r2YVU" name="Member"> - <ownedProperties xmi:id="j4ucQ" name="familyDaughter"/> - <ownedProperties xmi:id="31gsl" name="familyFather"/> - <ownedProperties xmi:id="eLUay" name="familyMother"/> - <ownedProperties xmi:id="lstD1" name="familySon"/> - <ownedProperties xmi:id="yTUBO" name="firstName"/> - </ownedClasses> - </ownedPackages> -</pivot:Model> diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected2.ecore.oclas b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected2.ecore.oclas deleted file mode 100644 index b6739422d..000000000 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected2.ecore.oclas +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<pivot:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.eclipse.org/ocl/2015/Pivot" - xsi:schemaLocation="http://www.eclipse.org/ocl/2015/Pivot java://org.eclipse.ocl.pivot.PivotPackage" xmi:id="AAAAA" externalURI="platform:/resource/_QVTd_QVTrCompilerTests__testQVTrCompiler_Ecore2Pivot/Families.ecore.oclas" - name="Families.ecore.oclas" xmiidVersion="1"> - <ownedPackages xmi:id="ci1p7" URI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/Families2Persons/1.0/Families" name="Families" - nsPrefix="families"> - <ownedClasses xmi:id="0bOMH" isAbstract="true" name="Entity"/> - <ownedClasses xmi:id="AeUhP" isAbstract="true" isInterface="true" name="Entity2"/> - <ownedClasses xmi:id="151KI" name="Family"> - <ownedProperties xmi:id="kuX1r" name="daughters"/> - <ownedProperties xmi:id="Va5d1" name="father"/> - <ownedProperties xmi:id="6dF3q" name="lastName"/> - <ownedProperties xmi:id="8vsLC" name="mother"/> - <ownedProperties xmi:id="aZgEC" name="sons"/> - </ownedClasses> - <ownedClasses xmi:id="r2YVU" name="Member"> - <ownedProperties xmi:id="j4ucQ" name="familyDaughter"/> - <ownedProperties xmi:id="31gsl" name="familyFather"/> - <ownedProperties xmi:id="eLUay" name="familyMother"/> - <ownedProperties xmi:id="lstD1" name="familySon"/> - <ownedProperties xmi:id="yTUBO" name="firstName"/> - </ownedClasses> - </ownedPackages> -</pivot:Model> diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java index 08e4f123d..ab0401eef 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java +++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java @@ -609,14 +609,14 @@ public class QVTrCompilerTests extends LoadTestCase @Test public void testQVTrCompiler_Ecore2Pivot() throws Exception { - /* QVTrelationTestFileSystemHelper testFileSystemHelper = getTestFileSystemHelper(); + QVTrelationTestFileSystemHelper testFileSystemHelper = getTestFileSystemHelper(); testFileSystemHelper.addRequiredBundle("org.eclipse.qvtd.pivot.qvtbase"); Class<? extends Transformer> txClass1 = null; URI txURI1 = getModelsURI("ecore2pivot/Ecore2Pivot.qvtr"); MyQVT myQVT1 = createQVT("Ecore2Pivot", txURI1); myQVT1.addUsedGenPackage("org.eclipse.emf.ecore/model/Ecore.genmodel", "//ecore"); myQVT1.addUsedGenPackage("org.eclipse.ocl.pivot/model/Pivot.genmodel", "//pivot"); - ProjectManager projectManager = myQVT1.getProjectManager(); + // ProjectManager projectManager = myQVT1.getProjectManager(); try { ClassLoader classLoader = getClass().getClassLoader(); assert classLoader != null; @@ -647,7 +647,7 @@ public class QVTrCompilerTests extends LoadTestCase ocl.dispose(); } MyQVT myQVT = createQVT("Forward2Reverse", getModelsURI("ecore2pivot/Ecore2Pivot.qvtr")); - myQVT.getEnvironmentFactory().setEvaluationTracingEnabled(true); + // myQVT.getEnvironmentFactory().setEvaluationTracingEnabled(true); URI asURI2 = getTestURI("Families.ecore.oclas"); try { ImperativeTransformation asTransformation = myQVT.compileTransformation("as"); @@ -657,16 +657,17 @@ public class QVTrCompilerTests extends LoadTestCase myQVT.executeTransformation(); myQVT.addOutputURI("as", asURI2); myQVT.saveModels(null); - myQVT.checkOutput(asURI2, asURI2a, null); //Forward2ReverseNormalizer.INSTANCE); + myQVT.checkOutput(asURI2, asURI2a, PivotNormalizer.INSTANCE); + // myQVT.checkOutput(asURI2, asURI2a, DummyPivotExternalURINormalizer.INSTANCE); } finally { myQVT.dispose(); - } */ + } } @Test public void testQVTrCompiler_Ecore2Pivot_CG() throws Exception { - /* // StandaloneProjectMap.addTrace(EcorePackage.eNS_URI, ~0); + // StandaloneProjectMap.addTrace(EcorePackage.eNS_URI, ~0); // StandaloneProjectMap.addTrace(OCLstdlibPackage.eNS_URI, ~0); // StandaloneProjectMap.addTrace(PivotPackage.eNS_URI, ~0); // Splitter.GROUPS.setState(true); @@ -736,11 +737,12 @@ public class QVTrCompilerTests extends LoadTestCase myQVT2.executeTransformation(); myQVT2.addOutputURI("as", asURI2); myQVT2.saveModels(null); - myQVT2.checkOutput(asURI2, asURI2a, null); + myQVT2.checkOutput(asURI2, asURI2a, PivotNormalizer.INSTANCE); + // myQVT2.checkOutput(asURI2, asURI2a, DummyPivotExternalURINormalizer.INSTANCE); } finally { myQVT2.dispose(); - } */ + } } @Test |