API changes
authorn.hoffmann <n.hoffmann@localhost>
Wed, 19 Oct 2011 06:21:19 +0000 (06:21 +0000)
committern.hoffmann <n.hoffmann@localhost>
Wed, 19 Oct 2011 06:21:19 +0000 (06:21 +0000)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java

index d6d209a0835b66cb38e7f322078e6c29a4d483a6..de323cf1343571111dc70bb9de1fbc3f1742af33 100644 (file)
@@ -17,10 +17,12 @@ import org.eclipse.core.runtime.IStatus;
 
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.api.service.ITaxonService;
+import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
 import eu.etaxonomy.cdm.model.taxon.ITreeNode;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -73,7 +75,11 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
                
-               newTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToAcceptedTaxon(synonym, taxon, true, true, null, null);
+               try {
+                       newTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToAcceptedTaxon(synonym, taxon, true, true, null, null);
+               } catch (HomotypicalGroupChangeException e) {
+                       EditorUtil.warningDialog("Operation may lead to inconsistent data", getClass(), e.getMessage());
+               }
                monitor.worked(20);
                
                synonym.setSec(null);