package org.testng.eclipse.refactoring; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PlatformUI; public class ConvertFromJUnitAction extends AbstractHandler { @Override public void dispose() { } public Object execute(ExecutionEvent event) throws ExecutionException { Event ev = (Event) event.getTrigger(); run(ev.display.getActiveShell()); return null; } private void run(Shell shell) { if (shell == null) { // We won't have an active shell if the user right-clicked on an item without // selecting it first shell = PlatformUI.getWorkbench().getDisplay().getActiveShell(); } if (shell == null) { System.out.println("Can't get a shell, is the Eclipse window active?"); return; } // RefactoringProcessor processor = new RenamePropertyProcessor( info ); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); ConvertFromJUnitRefactoring ref = new ConvertFromJUnitRefactoring(page, null /* status */); ConvertFromJUnitWizard wizard = new ConvertFromJUnitWizard(ref, 0); RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(wizard); try { String titleForFailedChecks = ""; //$NON-NLS-1$ op.run(shell, titleForFailedChecks); } catch( InterruptedException irex ) { // operation was cancelled } } }