From abc0d35a03e03cb582adf5da951e3b13a96bea6b Mon Sep 17 00:00:00 2001
From: Patric Plitzner
Date: Thu, 4 Dec 2014 09:02:48 +0000
Subject: [PATCH] - adapted to method signature change in cdmlib
---
.../TransientOccurenceService.java | 19 ++++++------
.../TaxonAssociationDetailElement.java | 30 +++++++++++++++++--
2 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java
index ac721ba2d..90b6096e4 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java
@@ -47,11 +47,13 @@ import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
+import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.location.Country;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.media.Rights;
import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
@@ -959,23 +961,22 @@ public class TransientOccurenceService implements IOccurrenceService {
return defaultService.delete(specimen, config);
}
-
/* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listAssociatedTaxa(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listIndividualsAssociations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public Collection> listAssociatedTaxa(SpecimenOrObservationBase> specimen, Integer limit,
- Integer start, List orderHints, List propertyPaths) {
- return defaultService.listAssociatedTaxa(specimen, limit, start, orderHints, propertyPaths);
+ public Collection listIndividualsAssociations(SpecimenOrObservationBase> specimen,
+ Integer limit, Integer start, List orderHints, List propertyPaths) {
+ return defaultService.listIndividualsAssociations(specimen, limit, start, orderHints, propertyPaths);
}
/* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listTypedTaxa(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listTypeDesignations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public Collection> listTypedTaxa(SpecimenOrObservationBase> specimen, Integer limit, Integer start,
- List orderHints, List propertyPaths) {
- return defaultService.listTypedTaxa(specimen, limit, start, orderHints, propertyPaths);
+ public Collection listTypeDesignations(SpecimenOrObservationBase> specimen,
+ Integer limit, Integer start, List orderHints, List propertyPaths) {
+ return defaultService.listTypeDesignations(specimen, limit, start, orderHints, propertyPaths);
}
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java
index eacf2c694..28a59e19d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java
@@ -11,6 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.association;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionException;
@@ -34,6 +36,10 @@ import org.eclipse.ui.handlers.IHandlerService;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -69,7 +75,15 @@ public class TaxonAssociationDetailElement extends AbstractCdmDetailElement> associatedTaxa = CdmStore.getService(IOccurrenceService.class).listAssociatedTaxa(entity.innerDerivedUnit(), null, null, null, null);
+ Collection individualsAssociations = CdmStore.getService(IOccurrenceService.class).listIndividualsAssociations(entity.innerDerivedUnit(), null, null, null, null);
+ //TODO implement service method for this which is just used in the label provider
+ Collection> associatedTaxa = new HashSet>();
+ for (IndividualsAssociation individualsAssociation : individualsAssociations) {
+ if(individualsAssociation.getInDescription() instanceof TaxonDescription){
+ TaxonDescription taxonDescription = (TaxonDescription)individualsAssociation.getInDescription();
+ associatedTaxa.add(taxonDescription.getTaxon());
+ }
+ }
associationsViewer.setInput(associatedTaxa);
associationsViewer.addDoubleClickListener(this);
@@ -79,7 +93,19 @@ public class TaxonAssociationDetailElement extends AbstractCdmDetailElement> typedTaxa = CdmStore.getService(IOccurrenceService.class).listTypedTaxa(entity.innerDerivedUnit(), null, null, null, null);
+ Collection typeDesignations = CdmStore.getService(IOccurrenceService.class).listTypeDesignations(entity.innerDerivedUnit(), null, null, null, null);
+ //TODO implement service method for this which is just used in the label provider
+ Collection> typedTaxa = new HashSet>();
+ for (SpecimenTypeDesignation specimenTypeDesignation : typeDesignations) {
+ for (TaxonNameBase taxonNameBase : specimenTypeDesignation.getTypifiedNames()) {
+ Set taxa = taxonNameBase.getTaxa();
+ for (Object taxon : taxa) {
+ if(taxon instanceof TaxonBase>){
+ typedTaxa.add((TaxonBase>) taxon);
+ }
+ }
+ }
+ }
typeDesignationViewer.setInput(typedTaxa);
typeDesignationViewer.addDoubleClickListener(this);
}
--
2.34.1