(no commit message)
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / common / OrderedTermVocabulary.java
index 2beebc4a7eb2e36aacbe3bc77d3538d4e69c80be..e6f1b29e847d15fd030760acf20f5953be932f77 100644 (file)
@@ -3,9 +3,7 @@
  */\r
 package eu.etaxonomy.cdm.model.common;\r
 \r
-import java.util.HashSet;\r
 import java.util.Iterator;\r
-import java.util.List;\r
 import java.util.NoSuchElementException;\r
 import java.util.Set;\r
 import java.util.SortedSet;\r
@@ -36,8 +34,8 @@ public class OrderedTermVocabulary<T extends OrderedTermBase> extends TermVocabu
         * @param label\r
         * @param termSourceUri\r
         */\r
-       public OrderedTermVocabulary(String term, String label, String termSourceUri) {\r
-               super(term, label, termSourceUri);\r
+       public OrderedTermVocabulary(String term, String label, String labelAbbrev, String termSourceUri) {\r
+               super(term, label, labelAbbrev, termSourceUri);\r
        }\r
        \r
        @Override\r
@@ -45,11 +43,20 @@ public class OrderedTermVocabulary<T extends OrderedTermBase> extends TermVocabu
        protected Set<T> getNewTermSet(){\r
                return new TreeSet<T>();\r
        }\r
+\r
+       @Transient\r
+       public SortedSet<T> getOrderedTerms(T otb) {\r
+               SortedSet<T> result = new TreeSet<T>();\r
+               result.addAll(terms);\r
+               return result;\r
+       }\r
        \r
        @Transient\r
        public SortedSet<T> getHigherAndEqualTerms(T otb) {\r
                SortedSet<T> result = new TreeSet<T>();\r
-               result.addAll( ((SortedSet<T>)terms).tailSet(otb));\r
+               SortedSet<T> sortedSet = new TreeSet<T>();\r
+               sortedSet.addAll(terms);\r
+               result.addAll( sortedSet.tailSet(otb));\r
                return result;\r
        }\r
        @Transient\r
@@ -66,7 +73,9 @@ public class OrderedTermVocabulary<T extends OrderedTermBase> extends TermVocabu
        @Transient\r
        public SortedSet<T> getLowerAndEqualTerms(T otb) {\r
                SortedSet<T> result = new TreeSet<T>();\r
-               result.addAll( ((SortedSet<T>)terms).headSet(otb));\r
+               SortedSet<T> sortedSet = new TreeSet<T>();\r
+               sortedSet.addAll(terms);\r
+               result.addAll( sortedSet.headSet(otb));\r
                return result;\r
        }\r
        \r
@@ -113,7 +122,7 @@ public class OrderedTermVocabulary<T extends OrderedTermBase> extends TermVocabu
        @Transient\r
        public T getLowestTerm() {\r
                try {\r
-                       SortedSet<T> sortedSet = new TreeSet();\r
+                       SortedSet<T> sortedSet = new TreeSet<T>();\r
                        sortedSet.addAll(terms);\r
                        return sortedSet.first();\r
                        //return ((SortedSet<T>)terms).first();\r
@@ -125,7 +134,9 @@ public class OrderedTermVocabulary<T extends OrderedTermBase> extends TermVocabu
        @Transient\r
        public T getHighestTerm() {\r
                try {\r
-                       return ((SortedSet<T>)terms).last();\r
+                       SortedSet<T> sortedSet = new TreeSet<T>();\r
+                       sortedSet.addAll(terms);\r
+                       return sortedSet.last();\r
                } catch (NoSuchElementException e) {\r
                        return null;\r
                }\r