From: Patrick Plitzner Date: Mon, 26 Oct 2015 17:42:41 +0000 (+0100) Subject: Fix taxon assignment filter X-Git-Tag: 3.12.0^2~62^2~7^2~28 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/a7c0fe0a88969f8feb8b89384907d2fbbfbc35a2 Fix taxon assignment filter --- 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