From: Katja Luther Date: Tue, 10 Mar 2015 09:06:28 +0000 (+0000) Subject: bug fixxing in bulk editor and referencing objects view X-Git-Tag: 3.6.0~194 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/bafb4761d3c6ad8ee795e49b6d0b56a6dc63f9bf bug fixxing in bulk editor and referencing objects view bug fixing in deletion of names and homotypical groups --- diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java index 95c415566..1b0076fbf 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java @@ -15,6 +15,7 @@ import java.util.UUID; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.IEditorInput; @@ -90,11 +91,7 @@ public class DeleteHandler extends AbstractHandler { IStructuredSelection structuredSelection = (IStructuredSelection) selection; IEntityPersistenceService persistenceService = (IEntityPersistenceService) input; - IViewPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() - .findView("eu.etaxonomy.taxeditor.bulkeditor.view.referencingobjects"); - if (part != null){ - ((ReferencingObjectsView)part).dispose(); - } + for(Object object : structuredSelection.toList()){ @@ -144,17 +141,19 @@ public class DeleteHandler extends AbstractHandler { } catch (Exception e){ MessagingUtils.messageDialog("Exception occured. Could not delete", getClass(), e.getMessage(), null); } - if (result.isError() || result.isAbort()|| !result.getExceptions().isEmpty()){ + if (result.isError() || result.isAbort()){ if (!result.getExceptions().isEmpty()) { - MessagingUtils.messageDialog("Could not delete", getClass(), result.getExceptions().get(0).getMessage(), null); + MessagingUtils.messageDialog("Could not delete", getClass(), result.getExceptions().toString(), null); }else{ MessagingUtils.messageDialog("Could not delete", getClass(), "The object could not be deleted. An exception occured.", null); } } - if (result.isOk() && result.getExceptions().isEmpty()){ + if (result.isOk() ){ ((BulkEditor) editor).removeAnnotatedLine(annotation); - + if(result.getUpdatedObjects().size() != 0 && !result.getExceptions().isEmpty()){ + MessageDialog.openInformation(null, "Delete successfull", "The Synonym could be deleted, but there is an updated object: " + result.getExceptions().toString()); + } } if (part != null){ diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java index f9d5845cc..054392c48 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java @@ -10,6 +10,7 @@ package eu.etaxonomy.taxeditor.bulkeditor.input; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -20,12 +21,14 @@ import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IPersistableElement; import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.common.ICdmBase; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; import eu.etaxonomy.cdm.model.common.MarkerType; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.strategy.merge.IMergable; import eu.etaxonomy.cdm.strategy.merge.MergeException; import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator; @@ -58,6 +61,8 @@ public abstract class AbstractBulkEditorInput implements IEd private List model; private IEntityCreator entityCreator; + + private static Class serviceClass; /** *

NewInstance

@@ -66,6 +71,7 @@ public abstract class AbstractBulkEditorInput implements IEd * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object. */ static public AbstractBulkEditorInput NewInstance(BulkEditorInputType inputType) { + return BulkEditorInputType.getInput(inputType); } @@ -101,7 +107,10 @@ public abstract class AbstractBulkEditorInput implements IEd * @param entityUuid a {@link java.util.UUID} object. * @return a T object. */ - protected abstract T loadEntity(UUID entityUuid); + protected T loadEntity(UUID entityUuid) { + List propertyPaths = Arrays.asList(new String[]{}); + return (T) CdmStore.getService(serviceClass).load(entityUuid, propertyPaths); + } private void setEntityUuid(UUID entityUuid){ this.entityUuid = entityUuid; @@ -179,7 +188,7 @@ public abstract class AbstractBulkEditorInput implements IEd if(getEntityUuid() != null){ - T entity = loadEntity(getEntityUuid()); + T entity = (T) loadEntity(getEntityUuid()); entityList.add(entity); model = entityList; } @@ -191,6 +200,7 @@ public abstract class AbstractBulkEditorInput implements IEd entityList = listEntities(configurator); Collections.sort(entityList, queryComparator); + } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java index 386e714eb..0ad0400a6 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java @@ -106,12 +106,12 @@ public class AgentEditorInput extends AbstractBulkEditorInput { return CdmStore.getSearchManager().findTeamOrPersons(configurator); } - /** {@inheritDoc} */ + /** {@inheritDoc} @Override public AgentBase loadEntity(UUID uuid) { List propertyPaths = Arrays.asList(new String[]{}); return CdmStore.getService(IAgentService.class).load(uuid, propertyPaths); - } + }*/ public boolean delete(AgentBase entity) throws ReferencedObjectUndeletableException { @@ -122,6 +122,7 @@ public class AgentEditorInput extends AbstractBulkEditorInput { /** {@inheritDoc} */ public boolean save(AgentBase entity) { + return CdmStore.getService(IAgentService.class).saveOrUpdate(entity) != null; } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java index c35441da3..eea9b6b50 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java @@ -10,6 +10,15 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.menus.CommandContributionItem; import org.eclipse.ui.menus.CommandContributionItemParameter; +import eu.etaxonomy.cdm.api.service.IAgentService; +import eu.etaxonomy.cdm.api.service.IGroupService; +import eu.etaxonomy.cdm.api.service.INameService; +import eu.etaxonomy.cdm.api.service.IOccurrenceService; +import eu.etaxonomy.cdm.api.service.IReferenceService; +import eu.etaxonomy.cdm.api.service.ITaxonService; +import eu.etaxonomy.cdm.api.service.IUserService; +import eu.etaxonomy.cdm.api.service.ReferenceServiceImpl; +import eu.etaxonomy.cdm.io.dwca.in.INamespaceReader; import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.common.Group; import eu.etaxonomy.cdm.model.common.User; @@ -139,4 +148,29 @@ public enum BulkEditorInputType { "No input class for the given input type defined."); } } + + public static Class getServiceClass( + BulkEditorInputType inputType) { + switch (inputType) { + case REFERENCE: + return IReferenceService.class; + case NAME: + return INameService.class; + case AGENT: + return IAgentService.class; + case OCCURRENCE: + return IOccurrenceService.class; + case NAME_RELATIONSHIP: + return INameService.class; + case USER: + return IUserService.class; + case GROUP: + return IGroupService.class; + case TAXON: + return ITaxonService.class; + default: + throw new IllegalStateException( + "No input class for the given input type defined."); + } + } } \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java index eb5fb3695..98724faa8 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java @@ -86,13 +86,13 @@ public class GroupEditorInput extends AbstractBulkEditorInput { /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#loadEntity(java.util.UUID) - */ + @Override protected Group loadEntity(UUID entityUuid) { List propertyPaths = Arrays.asList(new String[]{}); return CdmStore.getService(IGroupService.class).load(entityUuid, propertyPaths); } - +*/ /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator() */ diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java index 7dc209328..c9298f93b 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java @@ -102,13 +102,13 @@ public class NameEditorInput extends AbstractBulkEditorInput { return CdmStore.getSearchManager().findNames(configurator); } - /** {@inheritDoc} */ + /** {@inheritDoc} @Override public TaxonNameBase loadEntity(UUID uuid) { List propertyPaths = Arrays.asList(new String[]{}); return CdmStore.getService(INameService.class).load(uuid, propertyPaths); } - +*/ /** {@inheritDoc} **/ public boolean delete(TaxonNameBase entity) { diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java index d9417cd81..8e954f8bd 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java @@ -69,12 +69,12 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput propertyPaths = Arrays.asList(new String[]{}); return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths); - } + }*/ /* (non-Javadoc) * @see org.eclipse.ui.IEditorInput#getName() diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java index 2d8a7e406..c80733b1e 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java @@ -87,13 +87,13 @@ public class UserEditorInput extends AbstractBulkEditorInput { /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#loadEntity(java.util.UUID) - */ + @Override protected User loadEntity(UUID entityUuid) { List propertyPaths = Arrays.asList(new String[]{}); return CdmStore.getService(IUserService.class).load(entityUuid, propertyPaths); } - + */ /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator() */ diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java index 776b223ea..c0fad7860 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java @@ -35,7 +35,8 @@ public class NameCreator implements IEntityCreator { /** {@inheritDoc} */ public TaxonNameBase createEntity(String text) { TaxonNameBase name = PreferencesUtil.getPreferredNomenclaturalCode().getNewTaxonNameInstance(null); - name.setTitleCache(text); + name.setTitleCache(text, true); + //name.setTitleCache(text); return name; } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java index e031272dd..fbd5000f4 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java @@ -33,6 +33,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Table; import org.eclipse.ui.INullSelectionListener; +import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.IWorkbenchPart; @@ -71,7 +72,7 @@ import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart; * @created 08.07.2009 * @version 1.0 */ -public class ReferencingObjectsView extends AbstractCdmViewPart implements INullSelectionListener{ +public class ReferencingObjectsView extends AbstractCdmViewPart{ private static final Logger logger = Logger .getLogger(ReferencingObjectsView.class); @@ -81,6 +82,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull private TableViewer viewer; private String referencedObjectTitleCache; + private ConversationHolder conversation; /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite) @@ -89,7 +91,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull @Override public void createViewer(Composite parent) { selectionService.addSelectionListener(this); - + conversation = CdmStore.createConversation(); viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); createColumns(viewer); @@ -140,10 +142,12 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull @Override public void run() { if (entityUUID != null){ - ConversationHolder conversation = CdmStore.createConversation(); + List referencingObjects = getReferencingObjects(entityUUID, objectClass); - conversation.close(); + updateView(referencingObjects); + + } } }); @@ -168,7 +172,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull referencedObject = CdmStore.getService(INameService.class).load(entity); } else if (objectClass.getSuperclass().equals(TaxonBase.class)){ referencedObject = CdmStore.getService(ITaxonService.class).load(entity); - } else if (objectClass.getSuperclass().equals(Reference.class)){ + } else if (objectClass.equals(Reference.class)){ referencedObject = CdmStore.getService(IReferenceService.class).load(entity); } else if (objectClass.getSuperclass().equals(SpecimenOrObservationBase.class)){ referencedObject = CdmStore.getService(IOccurrenceService.class).load(entity); @@ -223,11 +227,11 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull private void updateView(List referencingObjects) { if (viewer != null && !viewer.getControl().isDisposed()){ viewer.setInput(referencingObjects); - /*if (referencedObjectTitleCache != null){ + if (referencedObjectTitleCache != null){ setContentDescription("'" + referencedObjectTitleCache + "' is referenced by:"); } else { setContentDescription(""); - }*/ + } showViewer(); } } @@ -262,7 +266,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull /** {@inheritDoc} */ @Override public void showViewer(IWorkbenchPart part, IStructuredSelection selection) { - this.part = part; + // this.part = part; updateReferencingObjects(((IdentifiableEntity) selection.getFirstElement()).getUuid(),selection.getFirstElement().getClass() ); } @@ -270,6 +274,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull /** {@inheritDoc} */ @Override public void dispose() { + conversation.close(); selectionService.removePostSelectionListener(this); selectionService.removeSelectionListener(this); super.dispose(); @@ -304,6 +309,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements INull } public void refresh(){ + selectionService.removePostSelectionListener(this); selectionService.removeSelectionListener(this); selectionService.addPostSelectionListener(this); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java index 06a3013b8..89a8bf7cf 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java @@ -85,7 +85,7 @@ public class ChangeHomotypicGroupOperation extends AbstractPostTaxonOperation { // TODO pass in homotypical group's taxon in case we are dragging from one editor to another // Switch groups - oldHomotypicalGroup.removeTypifiedName(synonymName); + oldHomotypicalGroup.removeTypifiedName(synonymName, false); monitor.worked(40); newHomotypicalGroup = HibernateProxyHelper.deproxy(newHomotypicalGroup, HomotypicalGroup.class); newHomotypicalGroup.addTypifiedName(synonymName); @@ -134,7 +134,7 @@ public class ChangeHomotypicGroupOperation extends AbstractPostTaxonOperation { // TODO pass in homotypical group's taxon in case we are dragging from one editor to another // Switch groups - newHomotypicalGroup.removeTypifiedName(synonymName); + newHomotypicalGroup.removeTypifiedName(synonymName, false); oldHomotypicalGroup.addTypifiedName(synonymName); // Redraw editor if it exists diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java index 8a462f6ee..679b3396e 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java @@ -24,7 +24,6 @@ import eu.etaxonomy.cdm.model.name.HomotypicalGroup; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import eu.etaxonomy.cdm.remote.dto.tdwg.voc.TaxonName; import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java index 9cdf90fc5..7ac2fd7de 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java @@ -82,6 +82,8 @@ public class DeleteSynonymOperation extends AbstractPostTaxonOperation { DeleteResult result = service.deleteSynonym(synonym, null); if (result.isError()){ MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage()); + } else if (result.getUpdatedObjects().size() != 0){ + MessageDialog.openInformation(null, "Delete successfull", "The Synonym could be deleted, but there is an updated object: " + result.getExceptions().get(0).getMessage()); } } // taxon.removeSynonym(synonym);