package org.bndtools.core.ui.wizards.index; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.resources.IContainer; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.handlers.HandlerUtil; public class GenerateIndexCommandHandler extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection) { IStructuredSelection structSel = (IStructuredSelection) selection; Object element = structSel.getFirstElement(); if (element != null && element instanceof IContainer) { NewIndexWizard wizard = new NewIndexWizard(); IWorkbenchWindow workbenchWindow = HandlerUtil.getActiveWorkbenchWindow(event); wizard.init(workbenchWindow.getWorkbench(), structSel); WizardDialog dialog = new WizardDialog(workbenchWindow.getShell(), wizard); dialog.open(); } } return null; } }