ref #8890: fix referencing objects view open in menu
authorKatja Luther <k.luther@bgbm.org>
Thu, 12 Mar 2020 08:54:00 +0000 (09:54 +0100)
committerKatja Luther <k.luther@bgbm.org>
Thu, 12 Mar 2020 08:54:00 +0000 (09:54 +0100)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/defaultHandler/OpenBulkEditorForIdentifiableEntityE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/defaultHandler/e4/DefaultOpenHandlerBaseE4.java

index eceacdc9226afbdf4aa63c8904237c0990da05c1..2718fee1971b10d527aea31afbac1cb50a98354e 100644 (file)
@@ -30,6 +30,7 @@ public class OpenBulkEditorForIdentifiableEntityE4 extends DefaultOpenHandlerBas
      */
     @Override
     protected void open(Object entity, Shell shell, EPartService partService) {
+        @SuppressWarnings("rawtypes")
         AbstractBulkEditorInput input = null;
         if (entity instanceof UuidAndTitleCache){
             AbstractBulkEditorInput.NewInstance(((UuidAndTitleCache)entity).getClass(), ((UuidAndTitleCache)entity).getUuid());
index 0d4892e095cca7926fd4c4431aaa079e24182490..9f565fec858ced4e676aa8620d00da447664f408 100644 (file)
@@ -14,6 +14,7 @@ import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.widgets.Shell;
 
+import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 public abstract class DefaultOpenHandlerBaseE4 <T> {
@@ -41,7 +42,7 @@ public abstract class DefaultOpenHandlerBaseE4 <T> {
             for (Object element: ((IStructuredSelection)transientData).toArray()) {
                open((T)element, shell, partService);
             }
-        }else if (transientData instanceof UuidAndTitleCache){
+        }else if (transientData instanceof UuidAndTitleCache || transientData instanceof CdmBase){
 //            T entity = getEntity(((UuidAndTitleCache)transientData).getUuid());
             open((T)transientData, shell, partService);
         }
@@ -59,11 +60,7 @@ public abstract class DefaultOpenHandlerBaseE4 <T> {
         //check for correct entity
         String commandId = menuItem.getCommand().getElementId();
         Object transientData = menuItem.getTransientData().get(commandId+".uuid");
-        if(transientData instanceof IStructuredSelection){
-            canExecute = canExecute(transientData)
-                    && (partId!=null?!partId.equals(activePart.getElementId()):true);
-        }else if (transientData instanceof UuidAndTitleCache){
-
+        if(transientData instanceof IStructuredSelection || transientData instanceof UuidAndTitleCache || transientData instanceof CdmBase){
             canExecute = canExecute(transientData)
                     && (partId!=null?!partId.equals(activePart.getElementId()):true);
         }