From abb420f6d453656028e170e339994196e12201e8 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Wed, 3 Jun 2015 13:22:24 +0000 Subject: [PATCH] change synonym to accepted taxon message when taxon could not be deleted --- ...ChangeAcceptedTaxonToSynonymOperation.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/ChangeAcceptedTaxonToSynonymOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/ChangeAcceptedTaxonToSynonymOperation.java index 4dd1c61db..1f1704702 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/ChangeAcceptedTaxonToSynonymOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/ChangeAcceptedTaxonToSynonymOperation.java @@ -16,8 +16,10 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.MessageDialog; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.ITaxonNodeService; import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; @@ -73,12 +75,24 @@ public class ChangeAcceptedTaxonToSynonymOperation extends bind(); Taxon oldTaxon = (Taxon) HibernateProxyHelper.deproxy(((TaxonNode) taxonNode).getTaxon()); try { - CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode((TaxonNode) taxonNode, newAcceptedTaxonNode, null, null, null); - } catch (IllegalArgumentException e) { + DeleteResult result = CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode((TaxonNode) taxonNode, newAcceptedTaxonNode, null, null, null); + + if (!result.getExceptions().isEmpty() && result.isOk()){ + String separator = ", "; + String exceptionString = ""; + for (Exception exception : result.getExceptions()) { + exceptionString += exception.getLocalizedMessage()+separator; + } + + MessagingUtils.informationDialog("Synonym created but taxon is not deleted.", exceptionString); + } else if (result.isAbort() || result.isError()){ + MessagingUtils.errorDialog("Synonym could not created", null, result.toString(), null, null, true); + } + } catch (IllegalArgumentException e) { MessagingUtils.errorDialog("Operation failed", this, e.getMessage(), TaxeditorNavigationPlugin.PLUGIN_ID, e, false); return Status.CANCEL_STATUS; } - + monitor.worked(40); return postExecute(oldTaxon); -- 2.34.1