[514527] Use interfacePackageSuffix, metaDataPackageSuffix in a test
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
index ee2f9ab..6673608 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
@@ -19,6 +19,7 @@
import java.io.Reader;
import java.io.Writer;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -265,7 +266,10 @@
return s.toString();
}
- public @NonNull String createGenModelContent(@NonNull String testProjectPath, @NonNull String fileName, @Nullable String usedGenPackages) {
+ public @NonNull String createGenModelContent(@NonNull String testProjectPath, @NonNull String fileName, @Nullable Map<@NonNull String, @Nullable String> genOptions) {
+ String interfacePackageSuffix = genOptions != null ? genOptions.get("interfacePackageSuffix") : null;
+ String metaDataPackageSuffix = genOptions != null ? genOptions.get("metaDataPackageSuffix") : null;
+ String usedGenPackages = genOptions != null ? genOptions.get("usedGenPackages") : null;
StringBuilder s = new StringBuilder();
s.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
s.append("<genmodel:GenModel xmi:version=\"2.0\"\n");
@@ -294,8 +298,14 @@
s.append(" <foreignModel>" + fileName + ".ecore</foreignModel>\n");
s.append(" <genPackages prefix=\"" + fileName + "\"\n");
s.append(" disposableProviderFactory=\"true\"\n");
- s.append(" ecorePackage=\"" + fileName + ".ecore#/\">\n");
- s.append(" </genPackages>\n");
+ s.append(" ecorePackage=\"" + fileName + ".ecore#/\"\n");
+ if (interfacePackageSuffix != null) {
+ s.append(" interfacePackageSuffix=\"" + interfacePackageSuffix + "\"\n");
+ }
+ if (metaDataPackageSuffix != null) {
+ s.append(" metaDataPackageSuffix=\"" + metaDataPackageSuffix + "\"\n");
+ }
+ s.append(" />\n");
s.append("</genmodel:GenModel>\n");
s.append("\n");;
return s.toString();
@@ -761,13 +771,16 @@
+ " operation test(a : ecore::EInt, b : ecore::EInt, c : ecore::EInt) : ecore::EInt { body: if a + b + c > 0 then a + b + c else a + b endif; }\n"
+ " }\n"
+ "}\n";
- String genmodelFile = createGenModelContent(testProjectPath, testFileStem, null);
+ Map <@NonNull String, @Nullable String> genOptions = new HashMap<>();
+ genOptions.put("interfacePackageSuffix", "coreI");
+ genOptions.put("metaDataPackageSuffix", "coreM");
+ String genmodelFile = createGenModelContent(testProjectPath, testFileStem, genOptions);
doDelete(testProjectName);
URI genModelURI = createModels(testProjectPath, testFileStem, oclinecoreFile, genmodelFile);
doGenModel(testProjectPath, genModelURI);
if (!EMFPlugin.IS_ECLIPSE_RUNNING) { // FIXME find out how to get dynamic project onto classpath
doCompile(testProjectName);
- String qualifiedPackageName = testProjectName + "." + testFileStem + "Package";
+ String qualifiedPackageName = testProjectName + ".coreM." + testFileStem + "Package";
EPackage ePackage = doLoadPackage(qualifiedPackageName);
EClass eClass = (EClass) ePackage.getEClassifier("CSEs");
EFactory eFactory = ePackage.getEFactoryInstance();
@@ -1094,7 +1107,9 @@
+ " datatype MyString : 'java.lang.String' { serializable };\n"
+ " class ClassExtension extends pivot::Class {}\n"
+ "}\n";
- String genmodelFile = createGenModelContent(testProjectPath, testFileStem, "platform:/plugin/org.eclipse.ocl.pivot/model/Pivot.genmodel#//pivot");
+ Map <@NonNull String, @Nullable String> genOptions = new HashMap<>();
+ genOptions.put("usedGenPackages", "platform:/plugin/org.eclipse.ocl.pivot/model/Pivot.genmodel#//pivot");
+ String genmodelFile = createGenModelContent(testProjectPath, testFileStem, genOptions);
doDelete(testProjectName);
URI genModelURI = createModels(testProjectPath, testFileStem, oclinecoreFile, genmodelFile);
doGenModel(testProjectPath, genModelURI);
@@ -1163,7 +1178,9 @@
+ " }\n"
+ " }\n"
+ "}\n";
- String genmodelFileB = createGenModelContent(testProjectPathB, testFileStemB, "Bug416421A.genmodel#//bug416421A");
+ Map <@NonNull String, @Nullable String> genOptions = new HashMap<>();
+ genOptions.put("usedGenPackages", "Bug416421A.genmodel#//bug416421A");
+ String genmodelFileB = createGenModelContent(testProjectPathB, testFileStemB, genOptions);
doDelete(testProjectNameA);
doDelete(testProjectNameB);
URI genModelURIA = createModels(testProjectPathA, testFileStemA, oclinecoreFileA, genmodelFileA);