From a7c0fe0a88969f8feb8b89384907d2fbbfbc35a2 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Mon, 26 Oct 2015 18:42:41 +0100
Subject: [PATCH] Fix taxon assignment filter
---
.../DerivateSearchCompositeController.java | 23 ++++++++-----------
1 file changed, 9 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 d42f08d8d..08aab151b 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
@@ -80,7 +80,6 @@ public class DerivateSearchCompositeController implements Listener{
config.setSpecimenType(specimenType.equals(SpecimenOrObservationType.Unknown)?null:specimenType);//unknown := all types
config.setTitleSearchString(queryString);
if(selectedTaxon!=null){
- config.setRetrieveIndirectlyAssociatedSpecimens(true);
config.setSpecimenType(null);
}
@@ -107,25 +106,21 @@ public class DerivateSearchCompositeController implements Listener{
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){
- for (SpecimenOrObservationBase> specimenOrObservationBase : specimenWithAssociations) {
- derivativeEditor.removeHierarchy(specimenOrObservationBase);
- }
- derivativeEditor.updateRootEntities();
+ occurrences.removeAll(specimenWithAssociations);
}
- else{
- if(selectionIndex==DerivateSearchComposite.ASSIGNED_SPECIMENS){
- occurrences = new ArrayList(specimenWithAssociations);
- }
- List derivateUuids = new ArrayList();
- for (SpecimenOrObservationBase specimenOrObservationBase : occurrences) {
- derivateUuids.add(specimenOrObservationBase.getUuid());
- }
- derivativeEditor.updateRootEntities(derivateUuids);
+ else if(selectionIndex==DerivateSearchComposite.ASSIGNED_SPECIMENS){
+ occurrences = new ArrayList(specimenWithAssociations);
+ }
+ List derivateUuids = new ArrayList();
+ for (SpecimenOrObservationBase specimenOrObservationBase : occurrences) {
+ derivateUuids.add(specimenOrObservationBase.getUuid());
}
+ derivativeEditor.updateRootEntities(derivateUuids);
}
@Override
--
2.34.1