diff options
author | Ed Willink | 2016-06-27 17:01:35 +0000 |
---|---|---|
committer | Ed Willink | 2016-06-27 17:11:52 +0000 |
commit | 36f87afd2e26e65a79012117a0a9d24bcea59278 (patch) | |
tree | 33a7a6ccb6881c9536724574fa9885e4b8595f73 | |
parent | 7a034b526a0653ec6acb9eafd825b92a1ce69fd7 (diff) | |
download | org.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.java | 19 |
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; } } |