package org.testng.eclipse.launch; import org.eclipse.core.resources.IFile; import org.eclipse.debug.ui.ILaunchShortcut; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.testng.eclipse.util.LaunchUtil; /** * Suite contextual launcher. * * @author <a href='mailto:the_mindstorm@evolva.ro'>Alexandru Popescu</a> */ public class TestNGSuiteLaunchShortcut implements ILaunchShortcut { public void launch(ISelection selection, String mode) { if(selection instanceof StructuredSelection) { run((IFile) ((StructuredSelection) selection).getFirstElement(), mode); } } /** * FIXME: not supported yet * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.ui.IEditorPart, java.lang.String) */ public void launch(IEditorPart editor, String mode) { IEditorInput input = editor.getEditorInput(); IFile suiteFile = (IFile) input.getAdapter(IFile.class); if(null != suiteFile) { run(suiteFile, mode); } } protected void run(IFile suiteFile, String mode) { LaunchUtil.launchSuiteConfiguration(suiteFile, mode); } }