package eu.etaxonomy.taxeditor.editor.workingSet.matrix;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.UUID;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
*/
public class SpecimenSelectionDialog extends Dialog {
+ private static final List<String> NODE_PROPERTY_PATH = Arrays.asList(new String[] {
+ "taxon",
+ "taxon.name",
+ });
+
private static String TEXT_FILTER_DEFAULT = "Enter text filter";
private TableViewer list;
columnSpecimen.getColumn().setMoveable(true);
table.setHeaderVisible(true);
table.setLinesVisible(true);
- list.setContentProvider(new SpecimenListContentProvider());
+ list.setContentProvider(new ArrayContentProvider());
list.setLabelProvider(new SpecimenListLabelProvider());
//gather specimens
for (UUID uuid : filteredNodes) {
//TODO implement occurrence service for taxon nodes
// let it return UuidAndTitleCache
- TaxonNode taxonNode = taxonNodeService.load(uuid);
+ TaxonNode taxonNode = taxonNodeService.load(uuid, NODE_PROPERTY_PATH);
Taxon taxon = taxonNode.getTaxon();
if(taxon!=null){
FindOccurrencesConfigurator config = new FindOccurrencesConfigurator();
return selectedSpecimens;
}
- private class SpecimenListContentProvider implements IStructuredContentProvider{
- @Override
- public Object[] getElements(Object inputElement) {
- return ((List<SpecimenWrapper>) inputElement).stream().filter(wrapper ->
- wrapper.getSpecimen().getDescriptions().stream().noneMatch(description ->
- matrix.getWorkingSet().getDescriptions().contains(description))).toArray();
- }
- }
-
private class SpecimenListLabelProvider extends LabelProvider implements ITableLabelProvider{
@Override
SpecimenWrapper wrapper = (SpecimenWrapper)element;
switch (columnIndex) {
case 0:
- return wrapper.getTaxonNode().getTaxon().getName().getTitleCache();
+ return wrapper.getTaxonNodeLabel();
case 1:
return wrapper.getSpecimen().getTitleCache();
default: