From: Katja Luther Date: Thu, 5 Dec 2013 13:33:37 +0000 (+0000) Subject: #3877 X-Git-Tag: 3.6.0~858 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/835cd8b95fa0040556e9f6b27ea5674da401de59 #3877 --- 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); }