Commit 07d2f017 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

* validator refinements, #162, #157

parent 480f203b
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
package org.etsi.mts.tdl;

import org.eclipse.emf.ecore.EValidator;
import org.etsi.mts.tdl.extendedconfigurations.ExtendedConfigurationsPackage;
import org.etsi.mts.tdl.structuredobjectives.StructuredObjectivesPackage;
import org.osgi.framework.BundleActivator;
@@ -14,14 +13,16 @@ public class Activator implements BundleActivator {
//		registerValidator("model/tdl-structured-constraints.ocl", StructuredObjectivesPackage.eINSTANCE, context);
//		registerValidator("model/tdl-configurations-constraints.ocl", ExtendedConfigurationsPackage.eINSTANCE, context);
		Validator.registerValidator("model/tdl-constraints.ocl", tdlPackage.eINSTANCE, context);
		Validator.registerValidator("model/tdl-structured-constraints.ocl", StructuredObjectivesPackage.eINSTANCE, context);
		Validator.registerValidator("model/tdl-configurations-constraints.ocl", ExtendedConfigurationsPackage.eINSTANCE, context);

	}

	@Override
	public void stop(BundleContext context) throws Exception {
		EValidator.Registry.INSTANCE.remove(StructuredObjectivesPackage.eINSTANCE);
		EValidator.Registry.INSTANCE.remove(ExtendedConfigurationsPackage.eINSTANCE);
		EValidator.Registry.INSTANCE.remove(tdlPackage.eINSTANCE);
		Validator.removeValidator(tdlPackage.eINSTANCE);
		Validator.removeValidator(StructuredObjectivesPackage.eINSTANCE);
		Validator.removeValidator(ExtendedConfigurationsPackage.eINSTANCE);
	}

}
+4 −2
Original line number Diff line number Diff line
@@ -94,12 +94,14 @@ public class Validator {
		validator = new CompleteOCLEObjectValidator(ePakcage, oclURI) {
			private boolean initialised = false;
			private EnvironmentFactoryInternal environmentFactory;
			private ResourceSet resourceSet;
			private CSResource xtextResource;
			@Override
			public boolean initialize(@NonNull EnvironmentFactoryInternal environmentFactory) {
				boolean success = super.initialize(environmentFactory);
				if (success) {
					ResourceSet resourceSet = environmentFactory.getResourceSet();
					CSResource xtextResource = (CSResource) resourceSet.getResource(oclURI, true);
					resourceSet = environmentFactory.getResourceSet();
					xtextResource = (CSResource) resourceSet.getResource(oclURI, true);
					EList<Diagnostic> errors = xtextResource.getErrors();
					assert errors != null;
					String message = PivotUtil.formatResourceDiagnostics(errors, "", "\n");