Add @CanExecute method to handler to avoid class cast exception
authorPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 4 Oct 2018 07:12:06 +0000 (09:12 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 4 Oct 2018 07:12:06 +0000 (09:12 +0200)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/e4/handler/NewObjectHandlerE4.java

index 6865241fe081fb92416ff3675a60dd5e72ebace3..8db592185e0cd148da6db3361339c86756dc5453 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.annotatedlineeditor.e4.handler;
 
 import javax.inject.Named;
 
+import org.eclipse.e4.core.di.annotations.CanExecute;
 import org.eclipse.e4.core.di.annotations.Execute;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
@@ -94,4 +95,13 @@ public class NewObjectHandlerE4 {
             }
         }
     }
+
+    @CanExecute
+    public boolean canExecute(@Named(IServiceConstants.ACTIVE_PART)MPart activePart,
+            MHandledMenuItem menuItem){
+        boolean canExecute = false;
+        canExecute = activePart.getObject() instanceof BulkEditorE4;
+        menuItem.setVisible(canExecute);
+        return canExecute;
+    }
 }