1919import org .slf4j .Logger ;
2020import org .slf4j .LoggerFactory ;
2121
22+ import org .eclipse .core .commands .AbstractHandler ;
23+ import org .eclipse .core .commands .ExecutionEvent ;
2224import org .eclipse .core .resources .IContainer ;
2325import org .eclipse .core .resources .IFile ;
2426import org .eclipse .core .resources .IFolder ;
5658import org .eclipse .ui .IFileEditorInput ;
5759import org .eclipse .ui .PlatformUI ;
5860import org .eclipse .ui .dialogs .ElementListSelectionDialog ;
61+ import org .eclipse .ui .handlers .HandlerUtil ;
5962
6063import org .eclipse .m2e .core .MavenPlugin ;
6164import org .eclipse .m2e .core .embedder .IMavenExecutableLocation ;
7477 * @author Dmitri Maximovich
7578 * @author Eugene Kuleshov
7679 */
77- public class ExecutePomAction implements ILaunchShortcut , IExecutableExtension , ILaunchShortcut2 {
80+ public class ExecutePomAction extends AbstractHandler
81+ implements ILaunchShortcut , IExecutableExtension , ILaunchShortcut2 {
7882 private static final Logger log = LoggerFactory .getLogger (ExecutePomAction .class );
7983
8084 private boolean showDialog = false ;
@@ -89,6 +93,12 @@ public void setInitializationData(IConfigurationElement config, String propertyN
8993 }
9094 }
9195
96+ public Object execute (ExecutionEvent event ) {
97+ ISelection selection = HandlerUtil .getCurrentSelection (event );
98+ launch (findPomXmlBasedir (selection ), ILaunchManager .RUN_MODE );
99+ return null ;
100+ }
101+
92102 public void launch (IEditorPart editor , String mode ) {
93103 IEditorInput editorInput = editor .getEditorInput ();
94104 if (editorInput instanceof IFileEditorInput fileInput ) {
0 commit comments