Commit 42f60589 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

* cleanup and restore on-demand validation

parent 58e8b333
Loading
Loading
Loading
Loading
+5 −21
Original line number Diff line number Diff line
@@ -17,8 +17,6 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.epsilon.evl.execute.UnsatisfiedConstraint;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
@@ -30,13 +28,13 @@ import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.xtext.nodemodel.ICompositeNode;
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
import org.eclipse.xtext.resource.IResourceServiceProvider;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.eclipse.xtext.ui.resource.IResourceSetProvider;
import org.eclipse.xtext.ui.resource.XtextResourceSetProvider;
import org.etsi.mts.tdl.constraints.evl.Validator;

import com.google.inject.Guice;
import com.google.inject.Injector;

/**
 * Our sample handler extends AbstractHandler, an IHandler base class.
 * @see org.eclipse.core.commands.IHandler
@@ -76,18 +74,8 @@ public class ValidationHandler extends AbstractHandler {
		if (file !=null) {
			URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);

			ResourceSet rs = new ResourceSetImpl();
			
			//DONE: recommended manner for loading xtext resources, does not work for non-xtext resources -> use default resource set for the time being
			IResourceServiceProvider resourceServiceProvider = IResourceServiceProvider.Registry.INSTANCE
			    .getResourceServiceProvider(uri);
			if (resourceServiceProvider != null) {
				XtextResourceSetProvider rsp = (XtextResourceSetProvider) resourceServiceProvider
						.get(IResourceSetProvider.class);
				rs = (XtextResourceSet) rsp.get(project);
			}


			Injector injector = Guice.createInjector();
			XtextResourceSet rs = injector.getInstance(XtextResourceSet.class);
			Resource r = rs.getResource(uri, true);
			//DONE: either here or in Validator -> currently Validator
//			EcoreUtil.resolveAll(xr);
@@ -116,10 +104,6 @@ public class ValidationHandler extends AbstractHandler {
						+ e.getMessage().replaceAll("\n.+epsilon/", "\n  at (epsilon/");
			}
			//DONE: Add custom scrollable dialog 
//			MessageDialog.openInformation(
//					Display.getDefault().getActiveShell(),
//					"Validation Results",
//					messages);
			ScrollableMessageDialog sdialog = new ScrollableMessageDialog(Display.getDefault().getActiveShell(), "Validation Results", null, "The following constraint violations occurred while validating '"+uri.lastSegment()+"':", MessageDialog.INFORMATION, new String[]{"OK"}, 0, messages);
			sdialog.open();
		}