From: U-BGBM\k.luther Date: Wed, 2 Sep 2015 11:49:31 +0000 (+0200) Subject: error handling in deleteHandler/operation of navigator X-Git-Tag: 3.8.0^2~34 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/281f389b44ad62558e0e0b325e7a5fa53e9b82f1?ds=sidebyside error handling in deleteHandler/operation of navigator --- 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()); } }