/************************************************************************************* * Copyright (c) 2014 Red Hat, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * JBoss by Red Hat - Initial implementation. ************************************************************************************/ package org.jboss.tools.arquillian.editor.internal.actions; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.m2e.core.internal.IMavenConstants; import org.eclipse.sapphire.ui.Presentation; import org.eclipse.sapphire.ui.SapphireActionHandler; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.ide.IDE; import org.jboss.tools.arquillian.ui.ArquillianUIActivator; /** * * @author snjeza * */ public final class OpenPomXmlFileActionHandler extends SapphireActionHandler { @Override protected Object run(final Presentation context) { Display.getDefault().asyncExec(new Runnable() { public void run() { IProject project = context.part().adapt(IProject.class); if (project != null) { IFile file = project.getFile(IMavenConstants.POM_FILE_NAME); if (file.exists()) { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { IDE.openEditor(page, file); } catch (PartInitException e) { ArquillianUIActivator.log(e); } } } } }); return null; } }