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