From: Patric Plitzner
Date: Wed, 13 May 2015 08:07:10 +0000 (+0000)
Subject: - when searching for a taxon also the indirectly associated specimens of the derivat...
X-Git-Tag: 3.6.0~41
X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/62fa22eb86bdc6027194dddb775aa93d1aeee55f?ds=sidebyside
- when searching for a taxon also the indirectly associated specimens of the derivative hierarchy are shown
---
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java
index 2715d4c65..460ee23cf 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java
@@ -116,10 +116,26 @@ public class DerivateSearchCompositeController implements Listener{
config.setAssociatedTaxonUuid(selectedTaxon!=null?selectedTaxon.getUuid():null);
config.setSpecimenType(specimenType==SpecimenOrObservationType.Unknown?null:specimenType);//unknown := all types
config.setTitleSearchString(queryString);
+ if(selectedTaxon!=null){
+ config.setRetrieveIndirectlyAssociatedSpecimens(true);
+ config.setSpecimenType(null);
+ }
SearchManager searchManager = new SearchManager();
List occurrences = searchManager.findOccurrences(config);
+ //filter out specimens of wrong type (only if an associated taxon was selected)
+ if(selectedTaxon!=null){
+ List specimensOfCorrectType = new ArrayList();
+ for(SpecimenOrObservationBase> occurrence:occurrences){
+ if(occurrence.getRecordBasis().equals(comboSpecimenTypeController.getSelection())
+ || occurrence.getRecordBasis().isKindOf(comboSpecimenTypeController.getSelection())){
+ specimensOfCorrectType.add(occurrence);
+ }
+ }
+ occurrences = specimensOfCorrectType;
+ }
+
//filter out assigned specimens
if(derivateSearchComposite.getBtnFilterUndeterminedSpecimen().getSelection()){
List specimensWithNoDetermination = new ArrayList();