package org.eclipse.incquery.tooling.ui.patternregistry.handlers;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.xtext.ui.resource.IResourceSetProvider;
import com.google.inject.Inject;
public class RegisterSingleHandler extends AbstractHandler {
@Inject
private IResourceSetProvider resourceSetProvider;
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
try {
ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection != null && selection instanceof IStructuredSelection) {
IStructuredSelection structured = (IStructuredSelection) selection;
IFile file = (IFile) structured.getFirstElement();
RegisterHandlersUtil.registerSingleFile(file, resourceSetProvider);
}
} catch (Exception exception) {
throw new ExecutionException("Error loading eiq file.", exception);
}
return null;
}
}