Project

General

Profile

« Previous | Next » 

Revision 84881b9c

Added by Patrick Plitzner almost 6 years ago

ref #7095 Fix specimen filter

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/SpecimenSelectionDialog.java
10 10

  
11 11
import java.util.ArrayList;
12 12
import java.util.Collection;
13
import java.util.List;
13 14
import java.util.stream.Collectors;
14
import java.util.stream.Stream;
15 15

  
16 16
import org.eclipse.jface.dialogs.Dialog;
17 17
import org.eclipse.jface.layout.GridDataFactory;
......
154 154
    }
155 155

  
156 156
    private void applyFilter(){
157
        Stream<SpecimenNodeWrapper> filteredWrappers = matrix.getSpecimenCache().stream();
157
        Collection<SpecimenNodeWrapper> specimenCache = matrix.getSpecimenCache();
158
        List<SpecimenNodeWrapper> result = new ArrayList<>();
158 159
        if(comboTaxon.getSelection()!=null){
159
            filteredWrappers =
160
                    filteredWrappers
161
                    .filter(wrapper->wrapper.getTaxonNode().equals(comboTaxon.getSelection()));
160
            result.addAll(specimenCache.stream()
161
                    .filter(wrapper->wrapper.getTaxonNode().equals(comboTaxon.getSelection()))
162
                    .collect(Collectors.toList()));
162 163
        }
163 164
        if(!txtTextFilter.getForeground().equals(AbstractUtility.getColor(Resources.SEARCH_VIEW_FOREGROUND))
164 165
                &&!CdmUtils.isBlank(txtTextFilter.getText())){
165
            filteredWrappers =
166
                    filteredWrappers
167
                    .filter(wrapper->wrapper.getUuidAndTitleCache().getTitleCache().toLowerCase().contains(txtTextFilter.getText().toLowerCase()));
166
            result.addAll(specimenCache.stream()
167
                    .filter(wrapper->wrapper.getUuidAndTitleCache().getTitleCache().toLowerCase().contains(txtTextFilter.getText().toLowerCase()))
168
                    .collect(Collectors.toList()));
168 169
        }
169
        list.setInput(filteredWrappers.collect(Collectors.toList()));
170
        list.setInput(result);
170 171
    }
171 172

  
172 173
    private void loadSpecimens(){

Also available in: Unified diff