code cleaning in navigator
authorKatja Luther <k.luther@bgbm.org>
Wed, 12 Aug 2020 13:58:33 +0000 (15:58 +0200)
committerKatja Luther <k.luther@bgbm.org>
Wed, 12 Aug 2020 13:58:33 +0000 (15:58 +0200)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/DeleteHandlerE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/util/TaxonTreeNodeContentProvider.java

index b199dd3b7a075c132faf436e52e69631155f9c9d..01684d627aad728653bdc9c8ef2fa66a2072bf8a 100644 (file)
@@ -21,6 +21,7 @@ import org.eclipse.e4.ui.di.UISynchronize;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
 import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.swt.widgets.Shell;
@@ -29,6 +30,7 @@ import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandlin
 import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
@@ -58,13 +60,15 @@ public class DeleteHandlerE4 {
     protected static final String DO_YOU_REALLY_WANT_TO_DELETE_THE_CLASSIFICATION = Messages.DeleteHandler_DELETE_CLASSIFICATION;
     protected static final String CONFIRM_DELETION = Messages.DeleteHandler_CONFIRM_DELETE;
     protected static final String DELETE = Messages.DeleteHandler_DELETE;
+    EPartService partService;
 
     @Execute
     public void execute(@Named(IServiceConstants.ACTIVE_SELECTION)TreeSelection selection,
             @Named(IServiceConstants.ACTIVE_SHELL)Shell shell,
             @Named(IServiceConstants.ACTIVE_PART)MPart activePart,
+            EPartService partService,
             MHandledMenuItem menuItem, UISynchronize sync) {
-
+        this.partService = partService;
         TaxonNavigatorE4 taxonNavigator = (TaxonNavigatorE4) activePart.getObject();
 
                Iterator selectionIterator = selection.iterator();
@@ -194,25 +198,8 @@ public class DeleteHandlerE4 {
        protected boolean closeObsoleteEditor(TaxonNodeDto taxonNode){
            //FIXME E4 migrate
                boolean result = true;
-//             for (IEditorReference ref : activePage.getEditorReferences()) {
-//                     try {
-//                             String treeIndex = ((ITreeNode)taxonNode).treeIndex();
-//
-//
-//                             IEditorInput input = ref.getEditorInput();
-//                             if (input instanceof TaxonEditorInput) {
-//                                     TaxonNode node = ((TaxonEditorInput) input).getTaxonNode();
-//                                     //if node is a child of taxonNode then close the editor
-//                                     if( ((ITreeNode) node).treeIndex().startsWith(treeIndex)){
-//                                     //if (taxonNode.equals(node)) {
-//                                             result &= activePage.closeEditor(ref.getEditor(false), true);
-//
-//                                     }
-//                             }
-//                     } catch (PartInitException e) {
-//                             continue;
-//                     }
-//             }
+               EditorUtil.closeObsoleteEditor(taxonNode, partService);
+
                return result;
        }
 }
index 0dece2683d57df9219dad6d2df818055c44a81f9..36669a00dbfe07bea6c0b6c215e9eecdd507a16c 100644 (file)
@@ -70,9 +70,11 @@ public class TaxonTreeNodeContentProvider implements ITreeContentProvider {
         }
         if(element instanceof TaxonNodeDto){
             if (((TaxonNodeDto) element).getParentUUID() != null){
-                TaxonNode parent = taxonNodeService.load(((TaxonNodeDto) element).getParentUUID());
-                if (parent != null){
-                    return new TaxonNodeDto(parent);
+                TaxonNodeDto parentDto = taxonNodeService.dto(((TaxonNodeDto) element).getParentUUID());
+//                TaxonNode parent = taxonNodeService.load(((TaxonNodeDto) element).getParentUUID());
+                if (parentDto != null){
+//                    return new TaxonNodeDto(parent);
+                    return parentDto;
                 }
             }
         }