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