Fix filtering of field units with same title cache in specimen editor
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 26 Feb 2018 08:00:19 +0000 (09:00 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 27 Feb 2018 14:42:37 +0000 (15:42 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateContentProvider.java

index 808d67cfea1733d919ef873da2948ab0e7977f82..0aedc17a04bd45d27d0c09673bfbf2b72d9aff0d 100755 (executable)
@@ -2,11 +2,11 @@ package eu.etaxonomy.taxeditor.view.derivateSearch;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.TreeSet;
 
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.TreeNode;
@@ -22,7 +22,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 
 public class DerivateContentProvider implements ITreeContentProvider {
 
-    private TreeSet<TreeNode> rootNodes;
+    private List<TreeNode> rootNodes;
 
        @Override
        public void dispose() {
@@ -47,7 +47,7 @@ public class DerivateContentProvider implements ITreeContentProvider {
 
        @Override
        public Object[] getElements(Object inputElement) {
-           rootNodes = new TreeSet<TreeNode>(new TreeNodeComparator());
+           rootNodes = new ArrayList<>();
            if(inputElement instanceof Collection){
                for (Object o: (Collection)inputElement) {
                    if(o instanceof SpecimenOrObservationBase){
@@ -58,6 +58,7 @@ public class DerivateContentProvider implements ITreeContentProvider {
                    }
             }
            }
+           Collections.sort(rootNodes, new TreeNodeComparator());
            return rootNodes.toArray();
        }
 
@@ -143,7 +144,7 @@ public class DerivateContentProvider implements ITreeContentProvider {
            }
            return derivates;
        }
-       
+
        private class TreeNodeComparator implements Comparator<TreeNode>{
 
                @Override
@@ -161,7 +162,7 @@ public class DerivateContentProvider implements ITreeContentProvider {
                        }
                        return 0;
                }
-               
+
        }
 
 }