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; }
