Use convenience method for associated taxa
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Oct 2015 15:29:59 +0000 (17:29 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Oct 2015 15:30:49 +0000 (17:30 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java

index dc6d6efb2f252e41df6ee500607a4195de0cbbdd..6d2bdc085aab1368cf2cc5fd20b8c5ae6c39097b 100644 (file)
@@ -1076,4 +1076,13 @@ public class TransientOccurenceService implements IOccurrenceService {
         return null;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Collection<TaxonBase<?>> listAssociatedTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1, Integer arg2,
+            List<OrderHint> arg3, List<String> arg4) {
+        return defaultService.listAssociatedTaxa(arg0, arg1, arg2, arg3, arg4);
+    }
+
 }
index 90c462a4f2e72f5fd610591cf82611ffcbbd9dda..890942c61e989f509cabce7e616a7077c3d34224 100644 (file)
@@ -38,8 +38,6 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
-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;
@@ -77,15 +75,7 @@ public class TaxonAssociationDetailElement extends AbstractCdmDetailElement<Deri
         associationsViewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
         associationsViewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
         associationsViewer.setContentProvider(new ArrayContentProvider());
-        Collection<IndividualsAssociation> 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<TaxonBase<?>> associatedTaxa = new HashSet<TaxonBase<?>>();
-        for (IndividualsAssociation individualsAssociation : individualsAssociations) {
-            if(individualsAssociation.getInDescription().isInstanceOf(TaxonDescription.class)){
-                TaxonDescription taxonDescription = HibernateProxyHelper.deproxy(individualsAssociation.getInDescription(), TaxonDescription.class);
-                associatedTaxa.add(taxonDescription.getTaxon());
-            }
-        }
+        Collection<TaxonBase<?>> associatedTaxa = CdmStore.getService(IOccurrenceService.class).listAssociatedTaxa(entity.innerDerivedUnit(), null, null, null, null);
         associationsViewer.setInput(associatedTaxa);
         associationsViewer.addDoubleClickListener(this);