Repository: incubator-ranger
Updated Branches:
  refs/heads/stack 55c260923 -> 814404a97


RANGER-203: ServiceFileStore.get*() methods updated to return sorted
lists.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/814404a9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/814404a9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/814404a9

Branch: refs/heads/stack
Commit: 814404a97d4651757426cda6b76dd05397f47acb
Parents: 55c2609
Author: Madhan Neethiraj <[email protected]>
Authored: Wed Jan 21 21:28:35 2015 -0800
Committer: Madhan Neethiraj <[email protected]>
Committed: Wed Jan 21 21:28:35 2015 -0800

----------------------------------------------------------------------
 .../plugin/model/RangerBaseModelObject.java     | 49 ++++++++++++++++++++
 .../ranger/plugin/model/RangerPolicy.java       | 17 +++++++
 .../ranger/plugin/model/RangerService.java      | 17 +++++++
 .../ranger/plugin/model/RangerServiceDef.java   | 17 +++++++
 .../plugin/store/file/ServiceFileStore.java     | 21 +++++++++
 5 files changed, 121 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/814404a9/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
----------------------------------------------------------------------
diff --git 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
index b5642ce..3d40eaa 100644
--- 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
+++ 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
@@ -19,6 +19,7 @@
 
 package org.apache.ranger.plugin.model;
 
+import java.util.Comparator;
 import java.util.Date;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -161,4 +162,52 @@ public class RangerBaseModelObject implements 
java.io.Serializable {
 
                return sb;
        }
+
+       public final static Comparator<RangerBaseModelObject> idComparator = 
new Comparator<RangerBaseModelObject>() {
+               @Override
+               public int compare(RangerBaseModelObject o1, 
RangerBaseModelObject o2) {
+                       long id1 = (o1 == null || o1.getId() == null) ? 0 : 
o1.getId().longValue();
+                       long id2 = (o2 == null || o2.getId() == null) ? 0 : 
o2.getId().longValue();
+
+                       if(id1 < id2) {
+                               return -1;
+                       } else if(id1 > id2) {
+                               return 1;
+                       } else {
+                               return 0;
+                       }
+               }
+       };
+
+       public final static Comparator<RangerBaseModelObject> 
createTimeComparator = new Comparator<RangerBaseModelObject>() {
+               @Override
+               public int compare(RangerBaseModelObject o1, 
RangerBaseModelObject o2) {
+                       Date date1 = (o1 == null) ? null : o1.getCreateTime();
+                       Date date2 = (o2 == null) ? null : o2.getCreateTime();
+
+                       if(date1 == null) {
+                               return -1;
+                       } else if(date2 == null) {
+                               return 1;
+                       } else {
+                               return date1.compareTo(date2);
+                       }
+               }
+       };
+
+       public final static Comparator<RangerBaseModelObject> 
updateTimeComparator = new Comparator<RangerBaseModelObject>() {
+               @Override
+               public int compare(RangerBaseModelObject o1, 
RangerBaseModelObject o2) {
+                       Date date1 = (o1 == null) ? null : o1.getUpdateTime();
+                       Date date2 = (o2 == null) ? null : o2.getUpdateTime();
+
+                       if(date1 == null) {
+                               return -1;
+                       } else if(date2 == null) {
+                               return 1;
+                       } else {
+                               return date1.compareTo(date2);
+                       }
+               }
+       };
 }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/814404a9/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
----------------------------------------------------------------------
diff --git 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
index a7239fe..15f6be8 100644
--- 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
+++ 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
@@ -20,6 +20,7 @@
 package org.apache.ranger.plugin.model;
 
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.HashMap;
 import java.util.Map;
@@ -260,6 +261,22 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
                return sb;
        }
 
+       public final static Comparator<RangerPolicy> nameComparator = new 
Comparator<RangerPolicy>() {
+               @Override
+               public int compare(RangerPolicy o1, RangerPolicy o2) {
+                       String name1 = (o1 == null) ? null : o1.getName();
+                       String name2 = (o2 == null) ? null : o2.getName();
+
+                       if(name1 == null) {
+                               return -1;
+                       } else if(name2 == null) {
+                               return 1;
+                       } else {
+                               return name1.compareTo(name2);
+                       }
+               }
+       };
+
 
        public static class RangerPolicyResource implements 
java.io.Serializable {
                private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/814404a9/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java
----------------------------------------------------------------------
diff --git 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java
index a810a1a..d934da0 100644
--- 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java
+++ 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java
@@ -19,6 +19,7 @@
 
 package org.apache.ranger.plugin.model;
 
+import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -229,4 +230,20 @@ public class RangerService extends RangerBaseModelObject 
implements java.io.Seri
 
                return sb;
        }
+
+       public final static Comparator<RangerService> nameComparator = new 
Comparator<RangerService>() {
+               @Override
+               public int compare(RangerService o1, RangerService o2) {
+                       String name1 = (o1 == null) ? null : o1.getName();
+                       String name2 = (o2 == null) ? null : o2.getName();
+
+                       if(name1 == null) {
+                               return -1;
+                       } else if(name2 == null) {
+                               return 1;
+                       } else {
+                               return name1.compareTo(name2);
+                       }
+               }
+       };
 }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/814404a9/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
----------------------------------------------------------------------
diff --git 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
index f1fe7a8..eb40a56 100644
--- 
a/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
+++ 
b/plugin-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
@@ -21,6 +21,7 @@ package org.apache.ranger.plugin.model;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -384,6 +385,22 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                return sb;
        }
 
+       public final static Comparator<RangerServiceDef> nameComparator = new 
Comparator<RangerServiceDef>() {
+               @Override
+               public int compare(RangerServiceDef o1, RangerServiceDef o2) {
+                       String name1 = (o1 == null) ? null : o1.getName();
+                       String name2 = (o2 == null) ? null : o2.getName();
+
+                       if(name1 == null) {
+                               return -1;
+                       } else if(name2 == null) {
+                               return 1;
+                       } else {
+                               return name1.compareTo(name2);
+                       }
+               }
+       };
+
 
        public static class RangerEnumDef implements java.io.Serializable {
                private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/814404a9/plugin-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
----------------------------------------------------------------------
diff --git 
a/plugin-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
 
b/plugin-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
index f5207ef..fb24393 100644
--- 
a/plugin-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
+++ 
b/plugin-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
@@ -20,6 +20,7 @@
 package org.apache.ranger.plugin.store.file;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -287,6 +288,10 @@ public class ServiceFileStore extends BaseFileStore 
implements ServiceStore {
                        LOG.debug("<== ServiceDefFileStore.getAllServiceDefs(): 
count=" + (ret == null ? 0 : ret.size()));
                }
 
+               if(ret != null) {
+                       Collections.sort(ret, RangerServiceDef.idComparator);
+               }
+
                return ret;
        }
 
@@ -478,6 +483,10 @@ public class ServiceFileStore extends BaseFileStore 
implements ServiceStore {
                        LOG.debug("<== ServiceFileStore.getAllServices(): 
count=" + (ret == null ? 0 : ret.size()));
                }
 
+               if(ret != null) {
+                       Collections.sort(ret, RangerService.idComparator);
+               }
+
                return ret;
        }
 
@@ -665,6 +674,10 @@ public class ServiceFileStore extends BaseFileStore 
implements ServiceStore {
                        LOG.debug("<== ServiceFileStore.getAllPolicies(): 
count=" + (ret == null ? 0 : ret.size()));
                }
 
+               if(ret != null) {
+                       Collections.sort(ret, RangerPolicy.idComparator);
+               }
+
                return ret;
        }
 
@@ -727,6 +740,10 @@ public class ServiceFileStore extends BaseFileStore 
implements ServiceStore {
                        LOG.debug("<== ServiceFileStore.getPolicies(" + 
serviceName + "): count=" + ((ret == null) ? 0 : ret.size()));
                }
 
+               if(ret != null) {
+                       Collections.sort(ret, RangerPolicy.idComparator);
+               }
+
                return ret;
        }
 
@@ -777,6 +794,10 @@ public class ServiceFileStore extends BaseFileStore 
implements ServiceStore {
                        LOG.debug("<== 
ServiceFileStore.getServicePoliciesIfUpdated(" + serviceName + ", " + 
lastKnownVersion + "): count=" + ((ret == null || ret.getPolicies() == null) ? 
0 : ret.getPolicies().size()));
                }
 
+               if(ret != null && ret.getPolicies() != null) {
+                       Collections.sort(ret.getPolicies(), 
RangerPolicy.idComparator);
+               }
+
                return ret;
        }
 

Reply via email to