Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-06-27 17:01:35 +0000
committerEd Willink2016-06-27 17:11:52 +0000
commit36f87afd2e26e65a79012117a0a9d24bcea59278 (patch)
tree33a7a6ccb6881c9536724574fa9885e4b8595f73
parent7a034b526a0653ec6acb9eafd825b92a1ce69fd7 (diff)
downloadorg.eclipse.ocl-36f87afd2e26e65a79012117a0a9d24bcea59278.tar.gz
org.eclipse.ocl-36f87afd2e26e65a79012117a0a9d24bcea59278.tar.xz
org.eclipse.ocl-36f87afd2e26e65a79012117a0a9d24bcea59278.zip
[484231] Allow validation on multiple ResourceSets
-rw-r--r--plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/validation/CompleteOCLEObjectValidator.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/validation/CompleteOCLEObjectValidator.java b/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/validation/CompleteOCLEObjectValidator.java
index 9a24859903..eccd7a698d 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/validation/CompleteOCLEObjectValidator.java
+++ b/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/validation/CompleteOCLEObjectValidator.java
@@ -22,7 +22,6 @@ import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.common.util.WrappedException;
import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.Resource.Diagnostic;
@@ -151,16 +150,18 @@ public class CompleteOCLEObjectValidator extends PivotEObjectValidator
@Override
protected boolean validatePivot(@NonNull EClassifier eClassifier, @Nullable Object object,
@Nullable DiagnosticChain diagnostics, Map<Object, Object> context) {
- if ((ecore2as == null) && (object instanceof EObject)) {
+ if (ecore2as == null) {
initialize();
- Resource eResource = ((EObject)object).eResource();
- if (eResource != null) {
- ResourceSet resourceSet = eResource.getResourceSet();
- if (resourceSet != null) {
- install(resourceSet, environmentFactory);
- }
+ }
+ ResourceSet resourceSet = getResourceSet(eClassifier, object, diagnostics);
+ if (resourceSet != null) {
+ ValidationAdapter validationAdapter = ValidationAdapter.findAdapter(resourceSet);
+ if (validationAdapter == null) {
+ validationAdapter = install(resourceSet, environmentFactory);
}
+ boolean allOk = validationAdapter.validate(eClassifier, object, complementingModels, diagnostics, context);
+ return allOk || (diagnostics != null);
}
- return super.validatePivot(eClassifier, object, diagnostics, context);
+ return true;
}
}

Back to the top