From: Katja Luther Date: Mon, 13 Oct 2014 12:02:58 +0000 (+0000) Subject: fix #2187 X-Git-Tag: 3.6.0~417 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/855fdd0b90bcb1f67b7a4444d98ccef87f047098 fix #2187 --- diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInputDataChangeBehaviour.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInputDataChangeBehaviour.java index f99c0a220..cd0c31016 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInputDataChangeBehaviour.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInputDataChangeBehaviour.java @@ -44,7 +44,7 @@ public class TaxonEditorInputDataChangeBehaviour extends /** {@inheritDoc} */ @Override public void reactOnDataChange(CdmDataChangeMap events) { - // TODO Auto-generated method stub + source.update(events); } } 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 3e5c3f378..8a462f6ee 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 @@ -9,15 +9,22 @@ package eu.etaxonomy.taxeditor.editor.name.operation; +import java.util.Set; + import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.operations.IUndoContext; 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 eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; +import eu.etaxonomy.cdm.model.common.CdmBase; +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; @@ -57,11 +64,23 @@ public class ChangeHomotypicalGroupBasionymOperation extends throws ExecutionException { TaxonNameBase name = taxonBase.getName(); + monitor.worked(20); + name = HibernateProxyHelper.deproxy(name, TaxonNameBase.class); + HomotypicalGroup group = HibernateProxyHelper.deproxy(name.getHomotypicalGroup(), HomotypicalGroup.class); + TaxonNameBase oldBasionym = name.getBasionym(); name.setAsGroupsBasionym(); + monitor.worked(40); - + oldBasionym = HibernateProxyHelper.deproxy(oldBasionym, TaxonNameBase.class); + if (oldBasionym != null){ + Set taxonBases = oldBasionym.getTaxonBases(); + if (!taxonBases.isEmpty()){ + TaxonBase oldBasionymTaxonBase = taxonBases.iterator().next(); + postExecute(oldBasionymTaxonBase); + } + } return postExecute(taxonBase); } @@ -88,4 +107,6 @@ public class ChangeHomotypicalGroupBasionymOperation extends return postExecute(taxonBase); } + + } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java index 316af1d4c..1b5349173 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java @@ -40,12 +40,12 @@ import eu.etaxonomy.taxeditor.store.CdmStore; public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPostOperation { private Taxon newTaxon; - private final Synonym synonym; + private Synonym synonym; private final ITaxonTreeNode parentNode; private TaxonNode newNode; - private final Set namesInHomotypicGroup; + //private final Set namesInHomotypicGroup; /** *

Constructor for ChangeSynonymToAcceptedTaxonOperation.

@@ -66,7 +66,7 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos this.element = taxon; this.parentNode = parentNode; this.synonym = synonym; - this.namesInHomotypicGroup = namesInHomotypicalGroup; + //this.namesInHomotypicGroup = namesInHomotypicalGroup; } /* (non-Javadoc) @@ -85,7 +85,7 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos } monitor.worked(20); - synonym.setSec(null); + element.removeSynonym(synonym); newNode = parentNode.addChildTaxon(newTaxon, null, null); /*if(namesInHomotypicGroup != null){ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java index d9b72b1ac..043332141 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java @@ -84,7 +84,11 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation { DeleteResult result = CdmStore.getService(IVocabularyService.class).delete((TermVocabulary)termBase); if (result.isError()){ - //TODO: Error message! + StringBuffer errorString = new StringBuffer(); + for (Exception e:result.getExceptions()){ + errorString.append(e.getMessage() + "\\n"); + } + MessageDialog.openError(null, "Delete failed", errorString.toString()); } } else if (termBase instanceof DefinedTermBase) { @@ -122,7 +126,11 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation { DeleteResult result = CdmStore.getService(ITermService.class).delete((DefinedTermBase)termBase); if (result.isError()){ - MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage()); + StringBuffer errorString = new StringBuffer(); + for (Exception e:result.getExceptions()){ + errorString.append(e.getMessage() + "\\n"); + } + MessageDialog.openError(null, "Delete failed", errorString.toString()); } }