ref #5821: fix term handling after adapting local preferences
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / name / NameDetailElement.java
index 989119e6f9dd1fa74d60d654dd8dde983a461cd4..158e563fa05c73cd63dd7c88f1b95fb8f07e7547 100644 (file)
@@ -15,6 +15,7 @@ import java.util.List;
 import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.name.IBacterialName;
 import eu.etaxonomy.cdm.model.name.ICultivarPlantName;
 import eu.etaxonomy.cdm.model.name.IFungusName;
@@ -91,7 +92,7 @@ public class NameDetailElement
                                    if (o2 == null){
                                        return -1;
                                    }
-                                       return o1.compareTo(o2);
+                                       return -1*o1.compareTo(o2);
                                }
                        };
                }
@@ -252,7 +253,8 @@ public class NameDetailElement
 
     private List<Rank> getRanks(INonViralName name, NomenclaturalCode code) {
         List<Rank> ranks = new ArrayList<>();
-        List<DefinedTermBase> allRanks = CdmStore.getTermManager().getPreferredTerms(TermType.Rank);
+        String availableRanks = PreferencesUtil.getStringValue(PreferencePredicate.AvailableRanks.getKey());
+        List<DefinedTermBase> allRanks = CdmStore.getTermManager().createTermListFromString(availableRanks, TermType.Rank);
         for(DefinedTermBase term: allRanks){
                    Rank rank = (Rank)term;
                    if (rank.isCultivar() == code.equals(NomenclaturalCode.ICNCP)){