From 7c96f5262eba5c4587bbeef51fab88115dd1de34 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Thu, 25 Feb 2021 12:56:29 +0100 Subject: [PATCH] ref #8767: add warning dialog for change acc to syn for different puplish flags --- ...ChangeAcceptedTaxonToSynonymOperation.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingChangeAcceptedTaxonToSynonymOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingChangeAcceptedTaxonToSynonymOperation.java index 7d8d729c7..f90ff58cc 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingChangeAcceptedTaxonToSynonymOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingChangeAcceptedTaxonToSynonymOperation.java @@ -21,12 +21,17 @@ import org.eclipse.swt.widgets.Display; import eu.etaxonomy.cdm.api.application.CdmApplicationState; import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.ITaxonNodeService; import eu.etaxonomy.cdm.api.service.UpdateResult; +import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.metadata.SecReferenceHandlingEnum; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.model.taxon.TaxonNode; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4; +import eu.etaxonomy.taxeditor.model.MessagingUtils; import eu.etaxonomy.taxeditor.navigation.l10n.Messages; import eu.etaxonomy.taxeditor.operation.RemotingCdmUpdateOperation; @@ -131,6 +136,27 @@ public class RemotingChangeAcceptedTaxonToSynonymOperation extends RemotingCdmUp secHandling, setNameInSource);//TODO } + boolean oldTaxaPublished = true; + for (CdmBase delObject:((DeleteResult)updateResult).getDeletedObjects()){ + if (delObject instanceof TaxonBase){ + oldTaxaPublished &= ((TaxonBase)delObject).isPublish(); + } + } + Taxon newTaxon = null; + for (CdmBase updatedObject: updateResult.getUpdatedObjects()){ + if (updatedObject instanceof Taxon){ + for (TaxonNode node: ((Taxon)updatedObject).getTaxonNodes()){ + if (node.getUuid().equals(newAcceptedTaxonNodeUuid)){ + newTaxon = (Taxon)updatedObject; + break; + } + } + } + + } + if ( oldTaxaPublished != newTaxon.isPublish()){ + MessagingUtils.warningDialog("Publish flag", null, Messages.RemotingChangeAcceptedTaxonToSynonym_warning_publish); + } updateNameEditor(); return updateResult; -- 2.34.1