ref #8011 Make AbstractTermDto comparable
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 13 Feb 2019 12:48:09 +0000 (13:48 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 15 Apr 2019 13:50:13 +0000 (15:50 +0200)
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dto/AbstractTermDto.java

index 96b6d3031334dc036f4a646ab358101238491b09..8f6218d734962328284bfd067dcc3b3f55f31a9e 100644 (file)
@@ -22,7 +22,7 @@ import eu.etaxonomy.cdm.model.common.TermType;
  * @date 05.11.2018
  *
  */
-public class AbstractTermDto implements Serializable {
+public class AbstractTermDto implements Serializable, Comparable<AbstractTermDto> {
 
     private static final long serialVersionUID = -7160319884811828125L;
 
@@ -142,4 +142,23 @@ public class AbstractTermDto implements Serializable {
         return true;
     }
 
+    @Override
+    public int compareTo(AbstractTermDto o) {
+        if(o == null){
+            return 1;
+        }
+        if(o.getRepresentation_L10n()!=null){
+            if(representation_L10n==null){
+                return -1;
+            }
+            else{
+                return representation_L10n.compareTo(o.getRepresentation_L10n());
+            }
+        }
+        else if(representation_L10n!=null){
+            return 1;
+        }
+        return uuid.compareTo(o.getUuid());
+    }
+
 }