/******************************************************************************* * Copyright (c) 2014 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.windup.ui.internal.commands; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchWizard; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.wizards.IWizardDescriptor; import org.jboss.tools.windup.ui.WindupUIPlugin; import org.jboss.tools.windup.ui.internal.wizards.WindupReportExportWizard; /** * <p> * Handler to invoke the Export Windup Report wizard. * </p> */ public class ExportWindupReportHandler extends AbstractHandler { /** * @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent) */ @Override public Object execute(ExecutionEvent event) throws ExecutionException { // get the export wizard IWizardDescriptor descriptor = PlatformUI.getWorkbench() .getExportWizardRegistry().findWizard(WindupReportExportWizard.ID); try { // set up and open the windup export wizard IWorkbenchWizard wizard = (IWorkbenchWizard) descriptor.createWizard(); ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection) { wizard.init(PlatformUI.getWorkbench(), (IStructuredSelection) selection); } Shell activeShell = HandlerUtil.getActiveShellChecked(event); WizardDialog wizardDialog = new WizardDialog(activeShell, wizard); wizardDialog.setTitle(wizard.getWindowTitle()); wizardDialog.open(); } catch (CoreException e) { WindupUIPlugin.logError("Unexpected error opening Windup Export Wizard", e); //$NON-NLS-1$ } return null; } }