package org.bbaw.pdr.ae.standalone.commands; import java.util.ArrayList; import org.bbaw.pdr.ae.common.AEConstants; import org.bbaw.pdr.ae.common.CommonActivator; import org.eclipse.core.commands.Command; 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.commands.IParameter; import org.eclipse.core.commands.NotEnabledException; import org.eclipse.core.commands.NotHandledException; import org.eclipse.core.commands.Parameterization; import org.eclipse.core.commands.ParameterizedCommand; import org.eclipse.core.commands.common.NotDefinedException; import org.eclipse.core.runtime.ILog; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.handlers.IHandlerService; public class UpdateSoftwareHandler implements IHandler { private Status _log; /** Logger. */ private static ILog iLogger = AEConstants.ILOGGER; @Override public void addHandlerListener(IHandlerListener handlerListener) { // TODO Auto-generated method stub } @Override public void dispose() { // TODO Auto-generated method stub } @Override public Object execute(ExecutionEvent event) throws ExecutionException { ArrayList<Parameterization> parameters = new ArrayList<Parameterization>(0); // get the command from plugin.xml IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); ICommandService cmdService = (ICommandService) window.getService(ICommandService.class); Command cmd = cmdService.getCommand("org.eclipselabs.p2.rcpupdate.update"); // build the parameterized command ParameterizedCommand pc = new ParameterizedCommand(cmd, parameters.toArray(new Parameterization[parameters.size()])); // execute the command try { IHandlerService handlerService = (IHandlerService) window.getService(IHandlerService.class); handlerService.executeCommand(pc, null); } catch (ExecutionException e) { _log = new Status(IStatus.ERROR, CommonActivator.PLUGIN_ID, "execute UpdateSoftwareHandler ", e); iLogger.log(_log); e.printStackTrace(); } catch (NotDefinedException e) { _log = new Status(IStatus.ERROR, CommonActivator.PLUGIN_ID, "execute UpdateSoftwareHandler ", e); iLogger.log(_log); e.printStackTrace(); } catch (NotEnabledException e) { _log = new Status(IStatus.ERROR, CommonActivator.PLUGIN_ID, "execute UpdateSoftwareHandler ", e); iLogger.log(_log); e.printStackTrace(); } catch (NotHandledException e) { _log = new Status(IStatus.ERROR, CommonActivator.PLUGIN_ID, "execute UpdateSoftwareHandler ", e); iLogger.log(_log); e.printStackTrace(); } return null; } @Override public boolean isEnabled() { // TODO Auto-generated method stub return true; } @Override public boolean isHandled() { // TODO Auto-generated method stub return true; } @Override public void removeHandlerListener(IHandlerListener handlerListener) { // TODO Auto-generated method stub } }