package org.ntlab.pushPullRefactoring; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.IHandler; import org.eclipse.core.commands.IHandlerListener; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper; import org.eclipse.ltk.core.refactoring.RefactoringCore; import org.eclipse.ltk.core.refactoring.RefactoringStatus; import org.eclipse.ui.handlers.HandlerUtil; public class PushPullRefactoringHandler implements IHandler { @Override public void addHandlerListener(IHandlerListener handlerListener) { // TODO Auto-generated method stub } @Override public void dispose() { // TODO Auto-generated method stub } /** * メニューで「PushPullRefactoring...」が押下されたときに実行 */ @Override public Object execute(ExecutionEvent event) throws ExecutionException { // TODO Auto-generated method stub System.out.println("Hello Push-Pull Refactoring!!"); PushPullRefactoringContribution contribution = (PushPullRefactoringContribution)RefactoringCore.getRefactoringContribution(PushPullRefactoring.ID); PushPullDescriptor descriptor = (PushPullDescriptor) contribution.createDescriptor(); try { PushPullRefactoring refactoring = (PushPullRefactoring) contribution.createRefactoring(descriptor, null); RefactoringExecutionHelper helper= new RefactoringExecutionHelper(refactoring, RefactoringCore.getConditionCheckingFailedSeverity(), RefactoringStatus.FATAL, HandlerUtil.getActiveShell(event), HandlerUtil.getActiveWorkbenchWindow(event)); helper.perform(true, true); } catch (CoreException | InvocationTargetException | InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override public boolean isEnabled() { System.out.println(this.getClass().getSimpleName() + "#" + "isEnabled()"); return true; } @Override public boolean isHandled() { System.out.println(this.getClass().getSimpleName() + "#" + "isHandled()"); return true; } @Override public void removeHandlerListener(IHandlerListener handlerListener) { // TODO Auto-generated method stub } }