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 - 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();