Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2018-11-26 21:47:11 +0000
committerEd Willink2018-11-30 11:45:56 +0000
commitbdba2bd6e1170791572673771c353346222a41fb (patch)
treed00dcc2c352f5b0140064833fffcf1e5f5012221
parent73a4eaa7c243033e5e208ddfea6ec1d44631b456 (diff)
downloadorg.eclipse.qvtd-bdba2bd6e1170791572673771c353346222a41fb.tar.gz
org.eclipse.qvtd-bdba2bd6e1170791572673771c353346222a41fb.tar.xz
org.eclipse.qvtd-bdba2bd6e1170791572673771c353346222a41fb.zip
[514590] Validate the *.qvtr prior to compilation
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/utilities/CompilerUtil.java4
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java8
2 files changed, 10 insertions, 2 deletions
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/utilities/CompilerUtil.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/utilities/CompilerUtil.java
index 60a8a03e2..9a6baba0f 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/utilities/CompilerUtil.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/utilities/CompilerUtil.java
@@ -151,7 +151,7 @@ public class CompilerUtil extends QVTscheduleUtil
public static void assertNoValidationErrors(@NonNull String prefix, @NonNull Resource resource) {
for (EObject eObject : resource.getContents()) {
- assertNoValidationErrors(prefix, eObject);
+ assertNoValidationErrors(prefix + " of '" + resource.getURI() + "'", eObject);
}
}
@@ -163,7 +163,7 @@ public class CompilerUtil extends QVTscheduleUtil
return;
}
StringBuilder s = new StringBuilder();
- s.append(children.size() + " validation errors");
+ s.append(string + ": " + children.size() + " validation errors");
for (Diagnostic child : children){
s.append("\n\t");
if (child.getData().size() > 0) {
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 b055664a9..9187fb3bb 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
@@ -27,6 +27,7 @@ import org.eclipse.ocl.examples.xtext.tests.TestFileSystemHelper;
import org.eclipse.ocl.pivot.PivotPackage;
import org.eclipse.ocl.pivot.internal.manager.PivotMetamodelManager;
import org.eclipse.ocl.pivot.internal.resource.ProjectMap;
+import org.eclipse.ocl.pivot.messages.StatusCodes;
import org.eclipse.ocl.pivot.model.OCLstdlib;
import org.eclipse.ocl.pivot.resource.ProjectManager;
import org.eclipse.ocl.pivot.utilities.ToStringVisitor;
@@ -83,12 +84,19 @@ public class QVTrCompilerTests extends LoadTestCase
}
};
}
+
+ @Override
+ public @NonNull ImperativeTransformation qvtr2qvti(@NonNull Resource qvtrResource, @NonNull Iterable<@NonNull String> enforcedOutputNames) throws IOException {
+ assertNoValidationErrors("QVTr validation", qvtrResource);
+ return super.qvtr2qvti(qvtrResource, enforcedOutputNames);
+ }
}
private boolean keepOldJavaFiles = false;
public MyQVT(@NonNull ProjectManager projectManager, @NonNull String testProjectName, @NonNull URI testBundleURI, @NonNull URI txURI, @NonNull URI intermediateFileNamePrefixURI, @NonNull URI srcFileURI, @NonNull URI binFileURI) {
super(projectManager, testProjectName, testBundleURI, txURI, intermediateFileNamePrefixURI, srcFileURI, binFileURI);
+ getEnvironmentFactory().setSafeNavigationValidationSeverity(StatusCodes.Severity.WARNING);
}
@Override

Back to the top