#3877
authorKatja Luther <k.luther@bgbm.org>
Thu, 5 Dec 2013 13:33:37 +0000 (13:33 +0000)
committerKatja Luther <k.luther@bgbm.org>
Thu, 5 Dec 2013 13:33:37 +0000 (13:33 +0000)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java

index 25bef92d7760429f17f85696e4c2ddcd2e1cf151..db6aa6c8e2fd275ff39cad1bc5579a46a0519900 100644 (file)
@@ -8,6 +8,8 @@ import org.eclipse.core.commands.operations.IUndoContext;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.handlers.HandlerUtil;
 
 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
 import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
@@ -43,16 +45,20 @@ public class DeleteNodeOperation extends AbstractPostOperation {
        @Override
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
-
+               
                //parent.removeChild(node);
                CdmApplicationController controller;
                
                controller = (CdmApplicationController) CdmStore.getCurrentApplicationConfiguration();
                
                IPolytomousKeyNodeService service = controller.getPolytomousKeyNodeService();
-               
-               service.delete(node, true);
-
+               if (node.getChildren().size()>0){
+                       if(! MessageDialog.openQuestion(null, "Confirm deletion of children", "The selected node has children, do you want to delete them, too?")) {
+                               service.delete(node, false);
+                       }
+               } else{
+                       service.delete(node, true);
+               }
                return postExecute(null);
        }