error handling in deleteHandler/operation of navigator
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / operation / DeleteOperation.java
index 0471420414d1b0506c810a3593dbdb46c45d273a..5e78bd2ddb6ff8da75c17075ec28f1443afec236 100644 (file)
@@ -29,6 +29,7 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -107,10 +108,14 @@ public class DeleteOperation extends AbstractPersistentPostOperation{
                                } else if (!result.getExceptions().isEmpty()){
                                        String separator = ", ";
                                    String exceptionString = "";
+                                   int count = 1;
                                    for (Exception exception : result.getExceptions()) {
-                                   exceptionString += exception.getLocalizedMessage()+separator;
+                                       exceptionString += exception.getLocalizedMessage();
+                                       if (count < result.getExceptions().size()){
+                                           exceptionString += separator;
+                                       }
                                }
-                                       MessageDialog.openInformation(null, "Delete of the node was successful but the taxon could not be deleted.", exceptionString);
+                                       MessagingUtils.informationDialog("Delete of the node was successful but the taxon could not be deleted.", exceptionString);
                                }
 
 
@@ -124,8 +129,12 @@ public class DeleteOperation extends AbstractPersistentPostOperation{
 
                                DeleteResult result = CdmStore.getService(IClassificationService.class).delete(taxonomicTree);
                                if (result.isError() && !result.getExceptions().isEmpty()){
-                                       //TODO:Error message!
-                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().iterator().next().getMessage());
+                                   String separator = ", ";
+                    String exceptionString = "";
+                    for (Exception exception : result.getExceptions()) {
+                        exceptionString += exception.getLocalizedMessage()+separator;
+                    }
+                                   MessagingUtils.error(null, exceptionString, result.getExceptions().iterator().next());
                                }
 
                                /*}else{
@@ -139,8 +148,12 @@ public class DeleteOperation extends AbstractPersistentPostOperation{
 
                                DeleteResult result =service.deleteTaxonNodes(treeNodes, config);
                                if (result.isError() && !result.getExceptions().isEmpty()){
-                                       //TODO:Error message!
-                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().iterator().next().getMessage());
+                                   String separator = ", ";
+                    String exceptionString = "";
+                    for (Exception exception : result.getExceptions()) {
+                        exceptionString += exception.getLocalizedMessage()+separator;
+                    }
+                    MessagingUtils.error(null, exceptionString, result.getExceptions().iterator().next());
                                }
                        }