From 281f389b44ad62558e0e0b325e7a5fa53e9b82f1 Mon Sep 17 00:00:00 2001 From: "U-BGBM\\k.luther" Date: Wed, 2 Sep 2015 13:49:31 +0200 Subject: [PATCH] error handling in deleteHandler/operation of navigator --- .../navigator/handler/DeleteHandler.java | 8 ++++-- .../navigator/operation/DeleteOperation.java | 25 ++++++++++++++----- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java index 5a8650098..f8e789caf 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java @@ -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; } diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java index 047142041..5e78bd2dd 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java @@ -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()); } } -- 2.34.1