From b82f869abaaf3f9b9f209a083d165c2812f6c911 Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Tue, 3 Nov 2015 08:48:38 +0100 Subject: [PATCH 1/1] Fix type designation filter for derivative search --- .../DerivateSearchCompositeController.java | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchCompositeController.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchCompositeController.java index 74d74db84..e87fcc5aa 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchCompositeController.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchCompositeController.java @@ -96,22 +96,24 @@ public class DerivateSearchCompositeController implements Listener{ } //filter out (un-)assigned specimens - int selectionIndex = derivateSearchComposite.getComboTaxonAssignment().getSelectionIndex(); - List> specimenWithAssociations = new ArrayList>(); - if(selectionIndex!=DerivateSearchComposite.ALL_SPECIMENS){ - for (SpecimenOrObservationBase specimenOrObservationBase : occurrences) { - Collection> associatedTaxa = CdmStore.getService(IOccurrenceService.class).listAssociatedTaxa(specimenOrObservationBase, null, null, null, null); - if(!associatedTaxa.isEmpty()){ - specimenWithAssociations.add(specimenOrObservationBase); - specimenWithAssociations.addAll(CdmStore.getService(IOccurrenceService.class).getFieldUnits(specimenOrObservationBase.getUuid())); + if(selectedTaxon==null){ + int selectionIndex = derivateSearchComposite.getComboTaxonAssignment().getSelectionIndex(); + List> specimenWithAssociations = new ArrayList>(); + if(selectionIndex!=DerivateSearchComposite.ALL_SPECIMENS){ + for (SpecimenOrObservationBase specimenOrObservationBase : occurrences) { + Collection> associatedTaxa = CdmStore.getService(IOccurrenceService.class).listAssociatedTaxa(specimenOrObservationBase, null, null, null, null); + if(!associatedTaxa.isEmpty()){ + specimenWithAssociations.add(specimenOrObservationBase); + specimenWithAssociations.addAll(CdmStore.getService(IOccurrenceService.class).getFieldUnits(specimenOrObservationBase.getUuid())); + } } } - } - if(selectionIndex==DerivateSearchComposite.UNASSIGNED_SPECIMENS){ - occurrences.removeAll(specimenWithAssociations); - } - else if(selectionIndex==DerivateSearchComposite.ASSIGNED_SPECIMENS){ - occurrences = new ArrayList(specimenWithAssociations); + if(selectionIndex==DerivateSearchComposite.UNASSIGNED_SPECIMENS){ + occurrences.removeAll(specimenWithAssociations); + } + else if(selectionIndex==DerivateSearchComposite.ASSIGNED_SPECIMENS){ + occurrences = new ArrayList(specimenWithAssociations); + } } List derivateUuids = new ArrayList(); for (SpecimenOrObservationBase specimenOrObservationBase : occurrences) { -- 2.34.1