#4114 sort order in taxon navigator
authorKatja Luther <k.luther@bgbm.org>
Thu, 20 Mar 2014 12:51:00 +0000 (12:51 +0000)
committerKatja Luther <k.luther@bgbm.org>
Thu, 20 Mar 2014 12:51:00 +0000 (12:51 +0000)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNodeComparator.java

index 15afb21494b6ab467462698890da7ed3795dea51..1e30eb0b2218703ccd14347ecd162f0d28cba098 100644 (file)
@@ -76,10 +76,10 @@ public class TaxonNavigator extends CommonNavigator implements
        @Override
        protected IAdaptable getInitialInput() {
                
-               /*TaxonComparatorSearch comparator = new TaxonComparatorSearch();
+               TaxonComparatorSearch comparator = new TaxonComparatorSearch();
                TaxonNodeComparator viewerComparator = new TaxonNodeComparator(comparator);
                this.getCommonViewer().setComparator(viewerComparator);
-               */
+               
                if (CdmStore.isActive()) {
                        
                        // TODO when closing and reopening the taxon navigator
index 395d202e523fff887cbdc8e794b7b6f9c976457f..b049f86c057dcef7abd10da1db804a81d02ea18e 100644 (file)
@@ -1,15 +1,19 @@
 package eu.etaxonomy.taxeditor.navigation.navigator;\r
 \r
 import java.util.Arrays;\r
+import java.util.Comparator;\r
 \r
 \r
 import org.eclipse.jface.viewers.Viewer;\r
 import org.eclipse.jface.viewers.ViewerComparator;\r
 \r
 \r
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
+import eu.etaxonomy.cdm.model.taxon.Classification;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
+import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;\r
 \r
 public class TaxonNodeComparator extends ViewerComparator{\r
 \r
@@ -18,15 +22,14 @@ public class TaxonNodeComparator extends ViewerComparator{
                super(comparator);\r
        }\r
 \r
+       \r
+       \r
        @Override\r
-        public void sort(final Viewer viewer, Object[] elements) {\r
-               \r
-               TaxonBase[] nodesArray = new TaxonBase[elements.length];\r
-               if (elements.length>1){\r
-                       for(int i=0; i<elements.length; i++){\r
-                               nodesArray[i] = ((TaxonNode)elements[i]).getTaxon();\r
-                       }\r
-                       Arrays.sort(nodesArray, this.getComparator());\r
+       public int compare(Viewer viewer, Object e1, Object e2){\r
+               if (e1 instanceof Classification && e2 instanceof Classification){\r
+                       return ((Classification)e1).getTitleCache().compareTo(((Classification)e2).getTitleCache());\r
+               } else{\r
+                       return this.getComparator().compare(((TaxonNode)e1).getTaxon(),((TaxonNode)e2).getTaxon());\r
                }\r
        }\r
 }\r