From 835cd8b95fa0040556e9f6b27ea5674da401de59 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Thu, 5 Dec 2013 13:33:37 +0000 Subject: [PATCH] #3877 --- .../polytomous/operation/DeleteNodeOperation.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java index 25bef92d7..db6aa6c8e 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java @@ -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); } -- 2.34.1