error handling in deleteHandler/operation of navigator
authorU-BGBM\k.luther <k.luther@BGBM11732.bgbm.fu-berlin.de>
Wed, 2 Sep 2015 11:49:31 +0000 (13:49 +0200)
committerU-BGBM\k.luther <k.luther@BGBM11732.bgbm.fu-berlin.de>
Wed, 2 Sep 2015 11:49:31 +0000 (13:49 +0200)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java

index 5a8650098b30cf91fe380d90fb7f994e7be7fc87..f8e789caf1eb1b506a52ed9e2f6d577a481374f2 100644 (file)
@@ -125,7 +125,7 @@ public class DeleteHandler extends AbstractHandler{
                                        }else{
                                                if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(configNodes, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected node?")){
                                                        return null;
-                                               } 
+                                               }
                                                config.setTaxonNodeConfig(configNodes);
                                        }
                                }
@@ -146,6 +146,8 @@ public class DeleteHandler extends AbstractHandler{
 
                        } catch (NotDefinedException e) {
                                MessagingUtils.warn(getClass(), "Command name not set");
+                       } catch (Exception e){
+                           MessagingUtils.error(getClass(), e);
                        }
                } else{
                        try{
@@ -161,7 +163,9 @@ public class DeleteHandler extends AbstractHandler{
                                }
                        }catch (NotDefinedException e) {
                                MessagingUtils.warn(getClass(), "Command name not set");
-                       }
+                       } catch (Exception e){
+                MessagingUtils.error(getClass(), e);
+            }
                }
                return null;
        }
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());
                                }
                        }