Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2019-06-25 08:15:39 +0000
committerEd Willink2019-06-28 08:51:04 +0000
commit5acb2460ea4a4296651ba1d709f772caff749953 (patch)
tree386b20503d2fb37439062f025f061784a9461126
parente55709222f0275ef15b08e5a40933287ff5dca2d (diff)
downloadorg.eclipse.qvtd-5acb2460ea4a4296651ba1d709f772caff749953.tar.gz
org.eclipse.qvtd-5acb2460ea4a4296651ba1d709f772caff749953.tar.xz
org.eclipse.qvtd-5acb2460ea4a4296651ba1d709f772caff749953.zip
[529207] Add better Ecore2Pivot
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot.qvtr162
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Ecore2Pivot2.qvtr233
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families.ecore24
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected.ecore.oclas24
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/ecore2pivot/Families_expected2.ecore.oclas24
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java18
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

Back to the top