Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo SBH2016-02-03 13:14:34 +0000
committerEd Willink2016-02-03 14:48:47 +0000
commitf3dc76d4d3c8372e43ce19bc2acfb41f15c6ade5 (patch)
tree508c8b21fdae1f72a297555295301f79f9f508af /tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as
parent2ff46fa8f51391e03e4f5a9b85c16dd1b94e4de8 (diff)
downloadorg.eclipse.qvtd-f3dc76d4d3c8372e43ce19bc2acfb41f15c6ade5.tar.gz
org.eclipse.qvtd-f3dc76d4d3c8372e43ce19bc2acfb41f15c6ade5.tar.xz
org.eclipse.qvtd-f3dc76d4d3c8372e43ce19bc2acfb41f15c6ade5.zip
[ocl2qvtp] - Removing saving from the ocl2qvtp component (rely on
compiler chain) - Improving AbstractCompilerChain options reuse
Diffstat (limited to 'tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as')
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java62
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/.gitignore2
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/.gitignore4
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example4/.gitignore2
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example5/.gitignore4
5 files changed, 34 insertions, 40 deletions
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java
index d49b152b1..74d7ebc94 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java
@@ -38,9 +38,6 @@ import org.eclipse.ocl.pivot.evaluation.tx.TransformationExecutor;
import org.eclipse.ocl.pivot.evaluation.tx.Transformer;
import org.eclipse.ocl.pivot.internal.manager.MetamodelManagerInternal;
import org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap;
-import org.eclipse.ocl.pivot.internal.utilities.EnvironmentFactoryInternal;
-import org.eclipse.ocl.pivot.internal.utilities.OCLInternal;
-import org.eclipse.ocl.pivot.internal.validation.PivotEObjectValidator;
import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibPackage;
import org.eclipse.ocl.pivot.resource.ASResource;
import org.eclipse.ocl.pivot.resource.CSResource;
@@ -48,7 +45,6 @@ import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.ocl.pivot.utilities.OCL;
import org.eclipse.ocl.pivot.utilities.PivotConstants;
import org.eclipse.ocl.xtext.completeocl.CompleteOCLStandaloneSetup;
-import org.eclipse.ocl.xtext.completeocl.validation.CompleteOCLEObjectValidator;
import org.eclipse.qvtd.compiler.CompilerChain.Key;
import org.eclipse.qvtd.compiler.internal.etl.EtlTask;
import org.eclipse.qvtd.compiler.internal.etl.MtcBroker;
@@ -58,13 +54,11 @@ import org.eclipse.qvtd.cs2as.compiler.CS2ASJavaCompilerParameters;
import org.eclipse.qvtd.cs2as.compiler.internal.CS2ASJavaCompilerImpl;
import org.eclipse.qvtd.cs2as.compiler.internal.CS2ASJavaCompilerParametersImpl;
import org.eclipse.qvtd.cs2as.compiler.internal.OCL2QVTiCompilerChain;
-import org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage;
+import org.eclipse.qvtd.cs2as.compiler.internal.OCL2QVTp;
import org.eclipse.qvtd.pivot.qvtbase.Transformation;
import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbase;
import org.eclipse.qvtd.pivot.qvtcore.QVTcorePivotStandaloneSetup;
-import org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage;
import org.eclipse.qvtd.pivot.qvtimperative.ImperativeModel;
-import org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage;
import org.eclipse.qvtd.pivot.qvtimperative.evaluation.BasicQVTiExecutor;
import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiEnvironmentFactory;
import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiIncrementalExecutor;
@@ -96,7 +90,6 @@ public class OCL2QVTiTestCases extends LoadTestCase {
private static final boolean CREATE_GRAPHML = false; // Note. You need Epsilon with Bug 458724 fix to have output graphml models serialised
private static final @NonNull String TESTS_GEN_PATH = "../org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/";
private static final @NonNull String TESTS_PACKAGE_NAME = "cg";
- private static final @NonNull String NEW_TESTS_PACKAGE_NAME = "new_cg";
private static final @NonNull String DEBUG_SEGMENT = "debug";
private static @NonNull URI TESTS_BASE_URI = URI.createPlatformResourceURI("org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models", true);
@@ -140,7 +133,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
ResourceSet rSet = getResourceSet();
Resource inputResource = rSet.getResource(csModelURI, true);
- tx.addRootObjects("leftCS", ClassUtil.nonNullState(inputResource.getContents()));
+ tx.addRootObjects(OCL2QVTp.LEFT_MODEL_TYPE_NAME, ClassUtil.nonNullState(inputResource.getContents()));
assertTrue(tx.run());
Resource outputResource = rSet.createResource(asModelURI);
outputResource.getContents().addAll(tx.getRootObjects("rightAS"));
@@ -166,8 +159,8 @@ public class OCL2QVTiTestCases extends LoadTestCase {
BasicQVTiExecutor testEvaluator = new QVTiIncrementalExecutor(getEnvironmentFactory(), tx, QVTiIncrementalExecutor.Mode.LAZY);
//testEvaluator.saveTransformation(null);
- testEvaluator.loadModel("leftCS", csModelURI);
- testEvaluator.createModel("rightAS", asModelURI, null);
+ testEvaluator.loadModel(OCL2QVTp.LEFT_MODEL_TYPE_NAME, csModelURI);
+ testEvaluator.createModel(OCL2QVTp.RIGHT_MODEL_TYPE_NAME, asModelURI, null);
boolean success = testEvaluator.execute();
testEvaluator.saveModels(TestsXMLUtil.defaultSavingOptions);
testEvaluator.dispose();
@@ -185,7 +178,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
for (int i=0; i < extendedOclDocs.length; i++) {
oclDocURIs[i] = baseURI.appendSegment(extendedOclDocs[i]);
}
- OCL2QVTiCompilerChain compiler = new OCL2QVTiCompilerChain(this, createOcl2QVTpCompilerOptions(), mainOclDocURI, oclDocURIs);
+ OCL2QVTiCompilerChain compiler = new OCL2QVTiCompilerChain(this, createTestCasesCompilerOptions(), mainOclDocURI, oclDocURIs);
Transformation qvtiTransf = compiler.compile();
URI txURI = qvtiTransf.eResource().getURI();
if (txURI != null) {
@@ -196,14 +189,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
return qvtiTransf;
}
- protected @NonNull Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> createOcl2QVTpCompilerOptions() {
- Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> options = new HashMap<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>>();
- Map<@NonNull Key<?>, @Nullable Object> ocl2qvtpOptions = new HashMap<@NonNull Key<?>, @Nullable Object>();
- ocl2qvtpOptions.put(OCL2QVTiCompilerChain.SAVE_OPTIONS_KEY, TestsXMLUtil.defaultSavingOptions);
- options.put(OCL2QVTiCompilerChain.OCL2QVTP_STEP, ocl2qvtpOptions);
- return options;
- }
-
+
protected void loadEcoreFile(String ecoreFileName, EPackage ePackage) {
URI fileURI = baseURI.appendSegment(ecoreFileName);
ResourceSet rSet = getResourceSet();
@@ -249,12 +235,12 @@ public class OCL2QVTiTestCases extends LoadTestCase {
private static class OCL2QVTiCompilerTester extends OCL2QVTiCompilerChain {
public OCL2QVTiCompilerTester(@NonNull URI baseURI, @NonNull String oclDocName, @NonNull QVTimperative metaModelManager) {
- super(metaModelManager, null, baseURI.appendSegment(oclDocName));
+ super(metaModelManager, createTestCasesCompilerOptions(), baseURI.appendSegment(oclDocName));
}
// For testing purpose
@Override
- protected Resource ocl2qvtp(URI oclDocURI) {
+ protected Resource ocl2qvtp(URI oclDocURI) throws IOException {
return super.ocl2qvtp(oclDocURI);
}
}
@@ -281,7 +267,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
CS2ASJavaCompilerParameters cgParams = new CS2ASJavaCompilerParametersImpl(
"example1.target.lookup.util.TargetLookupSolver",
"example1.target.lookup.util.TargetLookupResult",
- TESTS_GEN_PATH, NEW_TESTS_PACKAGE_NAME);
+ TESTS_GEN_PATH, TESTS_PACKAGE_NAME);
Class<? extends Transformer> txClass = new CS2ASJavaCompilerImpl().compileTransformation(myQVT, qvtiTransf, cgParams);
myQVT.executeModelsTX_CG(txClass, "model1");
myQVT.executeModelsTX_CG(txClass, "model2");
@@ -340,7 +326,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
CS2ASJavaCompilerParameters cgParams = new CS2ASJavaCompilerParametersImpl(
"example2.classes.lookup.util.ClassesLookupSolver",
"example2.classes.lookup.util.ClassesLookupResult",
- TESTS_GEN_PATH, NEW_TESTS_PACKAGE_NAME);
+ TESTS_GEN_PATH, TESTS_PACKAGE_NAME);
Class<? extends Transformer> txClass = new CS2ASJavaCompilerImpl().compileTransformation(myQVT, qvtiTransf, cgParams);
myQVT.executeModelsTX_CG(txClass, "model1");
myQVT.executeModelsTX_CG(txClass, "model2");
@@ -398,7 +384,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
CS2ASJavaCompilerParameters cgParams = new CS2ASJavaCompilerParametersImpl(
"example2.classes.lookup.util.ClassesLookupSolver",
"example2.classes.lookup.util.ClassesLookupResult",
- TESTS_GEN_PATH, NEW_TESTS_PACKAGE_NAME);
+ TESTS_GEN_PATH, TESTS_PACKAGE_NAME);
Class<? extends Transformer> txClass = new CS2ASJavaCompilerImpl().compileTransformation(myQVT, qvtiTransf, cgParams);
myQVT.dispose();
@@ -506,7 +492,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
myQVT.loadGenModels("SimplerKiamaAS.genmodel", "SimplerKiamaCS.genmodel");
Transformation qvtiTransf = myQVT.executeNewOCL2QVTi_CompilerChain("SimplerKiama.ocl");
CS2ASJavaCompilerParameters cgParams = new CS2ASJavaCompilerParametersImpl("","",
- TESTS_GEN_PATH, NEW_TESTS_PACKAGE_NAME);
+ TESTS_GEN_PATH, TESTS_PACKAGE_NAME);
Class<? extends Transformer> txClass = new CS2ASJavaCompilerImpl().compileTransformation(myQVT, qvtiTransf, cgParams);
// myQVT.getEnvironmentFactory().setEvaluationTracingEnabled(true);
// FIXME BUG 484278 model0 has an invalid model TopCS.node[1] has a null value.
@@ -609,20 +595,7 @@ public class OCL2QVTiTestCases extends LoadTestCase {
protected static void assertValidQVTiModel(@NonNull URI asURI) {
- OCLInternal ocl = OCLInternal.newInstance();
- EnvironmentFactoryInternal factory = ocl.getEnvironmentFactory();
- factory.configureLoadFirstStrategy();
- ResourceSet asResourceSet = ocl.getMetamodelManager().getASResourceSet();
-
- URI oclURI = ClassUtil.nonNullState(URI.createPlatformResourceURI("/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperative.ocl", true));
-
- CompleteOCLEObjectValidator validator = new CompleteOCLEObjectValidator(ClassUtil.nonNullState(QVTcoreBasePackage.eINSTANCE), oclURI, factory);
- validator.initialize();
- PivotEObjectValidator.install(asResourceSet, factory);
- PivotEObjectValidator.install(ClassUtil.nonNullState(QVTbasePackage.eINSTANCE), null);
- PivotEObjectValidator.install(ClassUtil.nonNullState(QVTcoreBasePackage.eINSTANCE), null);
- PivotEObjectValidator.install(ClassUtil.nonNullState(QVTimperativePackage.eINSTANCE), null);
- assertValidModel(asURI, asResourceSet);
+ // We don't generate QVTi models anymore. Perhaps do a QVTc validation if there is a QVTcore.ocl file
}
protected @NonNull Transformation getTransformation(ResourceSet rSet, URI qvtiURI) {
@@ -743,4 +716,13 @@ public class OCL2QVTiTestCases extends LoadTestCase {
return (ASResource) asResource;
}
+ private static @NonNull Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> createTestCasesCompilerOptions() {
+ Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> options = new HashMap<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>>();
+ Map<@NonNull Key<?>, @Nullable Object> defStepOptions = new HashMap<@NonNull Key<?>, @Nullable Object>();
+ defStepOptions.put(OCL2QVTiCompilerChain.SAVE_OPTIONS_KEY, TestsXMLUtil.defaultSavingOptions);
+ // TODO problem hen validating defStepOptions.put(OCL2QVTiCompilerChain.VALIDATE_KEY, true);
+ options.put(OCL2QVTiCompilerChain.DEFAULT_STEP, defStepOptions);
+ return options;
+ }
+
}
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/.gitignore
index ed2bb3f47..65aac1a2d 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/.gitignore
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/.gitignore
@@ -9,3 +9,5 @@
/Source2TargetDependencyGraph.xmi
/SourceMM1ContainmentTree.xmi
/TargetMM1ContainmentTree.xmi
+/Source2Target.qvtp.qvtcas
+/Source2Target.qvts.xmi
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/.gitignore
index 240da03c5..993050a81 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/.gitignore
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/.gitignore
@@ -11,3 +11,7 @@
/classescs2asV2Schedule.xmi
/classescs2asV2.qvtias
/classescs2asV2.qvtp.qvtias
+/classescs2as.qvtp.qvtcas
+/classescs2as.qvts.xmi
+/classescs2asV2.qvtp.qvtcas
+/classescs2asV2.qvts.xmi
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example4/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example4/.gitignore
index 6a5858fd5..1715b53ac 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example4/.gitignore
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example4/.gitignore
@@ -6,3 +6,5 @@
/SimplerKiama.serialized.qvti
/*ContainmentTree.xmi
/SimplerKiamaSchedule.xmi
+/SimplerKiama.qvtp.qvtcas
+/SimplerKiama.qvts.xmi
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example5/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example5/.gitignore
index f9ed4db45..e9f9c2b2e 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example5/.gitignore
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example5/.gitignore
@@ -15,3 +15,7 @@
/TargetDerivedMMContainmentTree.xmi
/*.dot
/*.graphml
+/Source2TargetBase.qvtp.qvtcas
+/Source2TargetBase.qvts.xmi
+/Source2TargetDerived.qvtp.qvtcas
+/Source2TargetDerived.qvts.xmi

Back to the top