changeset 971:eda9dc44feda

Change BackendInformation to implement Ordered This simple commit follows up on a TODO I previously placed to sort Backends using the OrderedComparator, which is done for InformationServices. This was impossible before due to a cyclic dependency between common-core and storage-core, but this has since been resolved. Reviewed-by: omajid Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005643.html
author Elliott Baron <ebaron@redhat.com>
date Tue, 12 Feb 2013 14:01:51 -0500
parents f6fc89409e10
children af7bd0b8070f
files storage/core/src/main/java/com/redhat/thermostat/storage/internal/dao/BackendInfoDAOImpl.java storage/core/src/main/java/com/redhat/thermostat/storage/model/BackendInformation.java
diffstat 2 files changed, 5 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/storage/core/src/main/java/com/redhat/thermostat/storage/internal/dao/BackendInfoDAOImpl.java	Tue Feb 12 18:37:48 2013 +0100
+++ b/storage/core/src/main/java/com/redhat/thermostat/storage/internal/dao/BackendInfoDAOImpl.java	Tue Feb 12 14:01:51 2013 -0500
@@ -38,9 +38,9 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 
+import com.redhat.thermostat.common.OrderedComparator;
 import com.redhat.thermostat.storage.core.Cursor;
 import com.redhat.thermostat.storage.core.HostRef;
 import com.redhat.thermostat.storage.core.Key;
@@ -75,20 +75,7 @@
         }
         
         // Sort before returning
-        Collections.sort(results, new Comparator<BackendInformation>() {
-
-            // TODO Use OrderedComparator when common-core
-            // doesn't depend on storage-core
-            @Override
-            public int compare(BackendInformation o1, BackendInformation o2) {
-                int result = o1.getOrderValue() - o2.getOrderValue();
-                // Break ties using class name
-                if (result == 0) {
-                    result = o1.getClass().getName().compareTo(o2.getClass().getName());
-                }
-                return result;
-            }
-        });
+        Collections.sort(results, new OrderedComparator<>());
         
         return results;
     }
--- a/storage/core/src/main/java/com/redhat/thermostat/storage/model/BackendInformation.java	Tue Feb 12 18:37:48 2013 +0100
+++ b/storage/core/src/main/java/com/redhat/thermostat/storage/model/BackendInformation.java	Tue Feb 12 14:01:51 2013 -0500
@@ -41,11 +41,12 @@
 import java.util.Map;
 import java.util.Objects;
 
+import com.redhat.thermostat.common.Ordered;
 import com.redhat.thermostat.storage.core.Entity;
 import com.redhat.thermostat.storage.core.Persist;
 
 @Entity
-public class BackendInformation extends BasePojo {
+public class BackendInformation extends BasePojo implements Ordered {
 
     private String name;
     private String description;
@@ -109,6 +110,7 @@
         this.isActive = active;
     }
     
+    @Override
     @Persist
     public int getOrderValue() {
         return orderValue;