Repository: incubator-ranger
Updated Branches:
  refs/heads/master 092214406 -> a697bca04


RANGER-352: ID attribute added to objects contained by service-def, to 
facilitate update


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

Branch: refs/heads/master
Commit: a697bca04a16b7e9abc506835813a48c50012a67
Parents: 0922144
Author: Madhan Neethiraj <[email protected]>
Authored: Mon Mar 30 23:28:37 2015 -0700
Committer: Madhan Neethiraj <[email protected]>
Committed: Mon Mar 30 23:37:57 2015 -0700

----------------------------------------------------------------------
 .../ranger/plugin/model/RangerPolicy.java       |  25 ++-
 .../ranger/plugin/model/RangerServiceDef.java   | 200 +++++++++++++++++--
 .../service-defs/ranger-servicedef-hbase.json   |  19 ++
 .../service-defs/ranger-servicedef-hdfs.json    |  22 ++
 .../service-defs/ranger-servicedef-hive.json    |  17 ++
 .../service-defs/ranger-servicedef-knox.json    |   8 +
 .../service-defs/ranger-servicedef-solr.json    |  17 +-
 .../service-defs/ranger-servicedef-storm.json   |  19 ++
 .../service-defs/ranger-servicedef-yarn.json    |   8 +
 .../ranger/plugin/store/TestServiceStore.java   |   2 +-
 .../service/RangerServiceDefServiceBase.java    |   2 +-
 11 files changed, 310 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
index 3092c79..9130863 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
@@ -45,6 +45,7 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
 
        private String                            service        = null;
        private String                            name           = null;
+       private Integer                           policyType     = null;
        private String                            description    = null;
        private Boolean                           isAuditEnabled = null;
        private Map<String, RangerPolicyResource> resources      = null;
@@ -55,21 +56,23 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
         * @param type
         */
        public RangerPolicy() {
-               this(null, null, null, null, null);
+               this(null, null, null, null, null, null);
        }
 
        /**
-        * @param type
+        * @param service
         * @param name
+        * @param policyType
         * @param description
         * @param resources
         * @param policyItems
         */
-       public RangerPolicy(String service, String name, String description, 
Map<String, RangerPolicyResource> resources, List<RangerPolicyItem> 
policyItems) {
+       public RangerPolicy(String service, String name, Integer policyType, 
String description, Map<String, RangerPolicyResource> resources, 
List<RangerPolicyItem> policyItems) {
                super();
 
                setService(service);
                setName(name);
+               setPolicyType(policyType);
                setDescription(description);
                setIsAuditEnabled(null);
                setResources(resources);
@@ -84,6 +87,7 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
 
                setService(other.getService());
                setName(other.getName());
+               setPolicyType(other.getPolicyType());
                setDescription(other.getDescription());
                setIsAuditEnabled(other.getIsAuditEnabled());
                setResources(other.getResources());
@@ -119,6 +123,20 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
        }
 
        /**
+        * @return the policyType
+        */
+       public Integer getPolicyType() {
+               return policyType;
+       }
+
+       /**
+        * @param policyType the policyType to set
+        */
+       public void setPolicyType(Integer policyType) {
+               this.policyType = policyType;
+       }
+
+       /**
         * @return the description
         */
        public String getDescription() {
@@ -218,6 +236,7 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
 
                sb.append("service={").append(service).append("} ");
                sb.append("name={").append(name).append("} ");
+               sb.append("policyType={").append(policyType).append("} ");
                sb.append("description={").append(description).append("} ");
                sb.append("isAuditEnabled={").append(isAuditEnabled).append("} 
");
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
index 62be788..87fab8f 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
@@ -62,7 +62,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
        }
 
        /**
-        * @param name
+        * @param type
         * @param implClass
         * @param label
         * @param description
@@ -73,10 +73,10 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
         * @param contextEnrichers
         * @param enums
         */
-       public RangerServiceDef(String name, String implClass, String label, 
String description, List<RangerServiceConfigDef> configs, 
List<RangerResourceDef> resources, List<RangerAccessTypeDef> accessTypes, 
List<RangerPolicyConditionDef> policyConditions, List<RangerContextEnricherDef> 
contextEnrichers, List<RangerEnumDef> enums) {
+       public RangerServiceDef(String type, String implClass, String label, 
String description, List<RangerServiceConfigDef> configs, 
List<RangerResourceDef> resources, List<RangerAccessTypeDef> accessTypes, 
List<RangerPolicyConditionDef> policyConditions, List<RangerContextEnricherDef> 
contextEnrichers, List<RangerEnumDef> enums) {
                super();
 
-               setName(name);
+               setType(type);
                setImplClass(implClass);
                setLabel(label);
                setDescription(description);
@@ -94,7 +94,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
        public void updateFrom(RangerServiceDef other) {
                super.updateFrom(other);
 
-               setName(other.getName());
+               setType(other.getName());
                setImplClass(other.getImplClass());
                setLabel(other.getLabel());
                setDescription(other.getDescription());
@@ -115,7 +115,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
        /**
         * @param name the name to set
         */
-       public void setName(String name) {
+       public void setType(String name) {
                this.name = name;
        }
 
@@ -447,22 +447,38 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
        public static class RangerEnumDef implements java.io.Serializable {
                private static final long serialVersionUID = 1L;
 
+               private Long                       id           = null;
                private String                     name         = null;
                private List<RangerEnumElementDef> elements     = null;
                private Integer                    defaultIndex = null;
 
 
                public RangerEnumDef() {
-                       this(null, null, null);
+                       this(null, null, null, null);
                }
 
-               public RangerEnumDef(String name, List<RangerEnumElementDef> 
elements, Integer defaultIndex) {
+               public RangerEnumDef(Long id, String name, 
List<RangerEnumElementDef> elements, Integer defaultIndex) {
+                       setId(id);
                        setName(name);
                        setElements(elements);
                        setDefaultIndex(defaultIndex);
                }
 
                /**
+                * @return the id
+                */
+               public Long getId() {
+                       return id;
+               }
+
+               /**
+                * @param id the id to set
+                */
+               public void setId(Long id) {
+                       this.id = id;
+               }
+
+               /**
                 * @return the name
                 */
                public String getName() {
@@ -529,6 +545,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
 
                public StringBuilder toString(StringBuilder sb) {
                        sb.append("RangerEnumDef={");
+                       sb.append("id={").append(id).append("} ");
                        sb.append("name={").append(name).append("} ");
                        sb.append("elements={");
                        if(elements != null) {
@@ -549,6 +566,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
                public int hashCode() {
                        final int prime = 31;
                        int result = 1;
+                       result = prime * result + ((id == null) ? 0 : 
id.hashCode());
                        result = prime * result
                                        + ((defaultIndex == null) ? 0 : 
defaultIndex.hashCode());
                        result = prime * result
@@ -566,6 +584,12 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                        if (getClass() != obj.getClass())
                                return false;
                        RangerEnumDef other = (RangerEnumDef) obj;
+                       if (id == null) {
+                               if (other.id != null)
+                                       return false;
+                       } else if (other.id == null || !id.equals(other.id))
+                               return false;
+
                        if (defaultIndex == null) {
                                if (other.defaultIndex != null)
                                        return false;
@@ -589,22 +613,38 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
        public static class RangerEnumElementDef implements 
java.io.Serializable {
                private static final long serialVersionUID = 1L;
                
+               private Long   id         = null;
                private String name       = null;
                private String label      = null;
                private String rbKeyLabel = null;
 
 
                public RangerEnumElementDef() {
-                       this(null, null, null);
+                       this(null, null, null, null);
                }
 
-               public RangerEnumElementDef(String name, String label, String 
rbKeyLabel) {
+               public RangerEnumElementDef(Long id, String name, String label, 
String rbKeyLabel) {
+                       setId(id);
                        setName(name);
                        setLabel(label);
                        setRbKeyLabel(rbKeyLabel);
                }
 
                /**
+                * @return the id
+                */
+               public Long getId() {
+                       return id;
+               }
+
+               /**
+                * @param id the id to set
+                */
+               public void setId(Long id) {
+                       this.id = id;
+               }
+
+               /**
                 * @return the name
                 */
                public String getName() {
@@ -657,6 +697,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
 
                public StringBuilder toString(StringBuilder sb) {
                        sb.append("RangerEnumElementDef={");
+                       sb.append("id={").append(id).append("} ");
                        sb.append("name={").append(name).append("} ");
                        sb.append("label={").append(label).append("} ");
                        sb.append("rbKeyLabel={").append(rbKeyLabel).append("} 
");
@@ -669,6 +710,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
                public int hashCode() {
                        final int prime = 31;
                        int result = 1;
+                       result = prime * result + ((id == null) ? 0 : 
id.hashCode());
                        result = prime * result + ((label == null) ? 0 : 
label.hashCode());
                        result = prime * result + ((name == null) ? 0 : 
name.hashCode());
                        result = prime * result
@@ -685,6 +727,14 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                        if (getClass() != obj.getClass())
                                return false;
                        RangerEnumElementDef other = (RangerEnumElementDef) obj;
+                       if (id == null) {
+                               if (other.id != null) {
+                                       return false;
+                               }
+                       } else if (other.id == null || !id.equals(other.id)) {
+                               return false;
+                       }
+
                        if (label == null) {
                                if (other.label != null)
                                        return false;
@@ -708,6 +758,7 @@ public class RangerServiceDef extends RangerBaseModelObject 
implements java.io.S
        public static class RangerServiceConfigDef implements 
java.io.Serializable {
                private static final long serialVersionUID = 1L;
 
+               private Long    id                = null;
                private String  name              = null;
                private String  type              = null;
                private String  subType           = null;
@@ -724,10 +775,11 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
 
                public RangerServiceConfigDef() {
-                       this(null, null, null, null, null, null, null, null, 
null, null, null, null, null);
+                       this(null, null, null, null, null, null, null, null, 
null, null, null, null, null, null);
                }
 
-               public RangerServiceConfigDef(String name, String type, String 
subType, Boolean mandatory, String defaultValue, String validationRegEx, String 
validationMessage, String uiHint, String label, String description, String 
rbKeyLabel, String rbKeyDescription, String rbKeyValidationMessage) {
+               public RangerServiceConfigDef(Long id, String name, String 
type, String subType, Boolean mandatory, String defaultValue, String 
validationRegEx, String validationMessage, String uiHint, String label, String 
description, String rbKeyLabel, String rbKeyDescription, String 
rbKeyValidationMessage) {
+                       setId(id);
                        setName(name);
                        setType(type);
                        setSubType(subType);
@@ -744,6 +796,20 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                }
 
                /**
+                * @return the id
+                */
+               public Long getId() {
+                       return id;
+               }
+
+               /**
+                * @param id the id to set
+                */
+               public void setId(Long id) {
+                       this.id = id;
+               }
+
+               /**
                 * @return the name
                 */
                public String getName() {
@@ -936,6 +1002,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
                public StringBuilder toString(StringBuilder sb) {
                        sb.append("RangerServiceConfigDef={");
+                       sb.append("id={").append(name).append("} ");
                        sb.append("name={").append(name).append("} ");
                        sb.append("type={").append(type).append("} ");
                        sb.append("subType={").append(subType).append("} ");
@@ -1075,6 +1142,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
        public static class RangerResourceDef implements java.io.Serializable {
                private static final long serialVersionUID = 1L;
 
+               private Long                id                     = null;
                private String              name                   = null;
                private String              type                   = null;
                private Integer             level                  = null;
@@ -1096,10 +1164,11 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
 
                public RangerResourceDef() {
-                       this(null, null, null, null, null, null, null, null, 
null, null, null, null, null, null, null, null, null, null);
+                       this(null, null, null, null, null, null, null, null, 
null, null, null, null, null, null, null, null, null, null, null);
                }
 
-               public RangerResourceDef(String name, String type, Integer 
level, String parent, Boolean mandatory, Boolean lookupSupported, Boolean 
recursiveSupported, Boolean excludesSupported, String matcher, Map<String, 
String> matcherOptions, String validationRegEx, String validationMessage, 
String uiHint, String label, String description, String rbKeyLabel, String 
rbKeyDescription, String rbKeyValidationMessage) {
+               public RangerResourceDef(Long id, String name, String type, 
Integer level, String parent, Boolean mandatory, Boolean lookupSupported, 
Boolean recursiveSupported, Boolean excludesSupported, String matcher, 
Map<String, String> matcherOptions, String validationRegEx, String 
validationMessage, String uiHint, String label, String description, String 
rbKeyLabel, String rbKeyDescription, String rbKeyValidationMessage) {
+                       setId(id);
                        setName(name);
                        setType(type);
                        setLevel(level);
@@ -1121,6 +1190,20 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                }
 
                /**
+                * @return the id
+                */
+               public Long getId() {
+                       return id;
+               }
+
+               /**
+                * @param id the id to set
+                */
+               public void setId(Long id) {
+                       this.id = id;
+               }
+
+               /**
                 * @return the name
                 */
                public String getName() {
@@ -1383,6 +1466,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
                public StringBuilder toString(StringBuilder sb) {
                        sb.append("RangerResourceDef={");
+                       sb.append("id={").append(id).append("} ");
                        sb.append("name={").append(name).append("} ");
                        sb.append("type={").append(type).append("} ");
                        sb.append("level={").append(level).append("} ");
@@ -1569,6 +1653,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
        public static class RangerAccessTypeDef implements java.io.Serializable 
{
                private static final long serialVersionUID = 1L;
 
+               private Long               id            = null;
                private String             name          = null;
                private String             label         = null;
                private String             rbKeyLabel    = null;
@@ -1576,10 +1661,11 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
 
                public RangerAccessTypeDef() {
-                       this(null, null, null, null);
+                       this(null, null, null, null, null);
                }
 
-               public RangerAccessTypeDef(String name, String label, String 
rbKeyLabel, Collection<String> impliedGrants) {
+               public RangerAccessTypeDef(Long id, String name, String label, 
String rbKeyLabel, Collection<String> impliedGrants) {
+                       setId(id);
                        setName(name);
                        setLabel(label);
                        setRbKeyLabel(rbKeyLabel);
@@ -1587,6 +1673,20 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                }
 
                /**
+                * @return the id
+                */
+               public Long getId() {
+                       return id;
+               }
+
+               /**
+                * @param id the id to set
+                */
+               public void setId(Long id) {
+                       this.id = id;
+               }
+
+               /**
                 * @return the name
                 */
                public String getName() {
@@ -1667,6 +1767,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
                public StringBuilder toString(StringBuilder sb) {
                        sb.append("RangerAccessTypeDef={");
+                       sb.append("id={").append(id).append("} ");
                        sb.append("name={").append(name).append("} ");
                        sb.append("label={").append(label).append("} ");
                        sb.append("rbKeyLabel={").append(rbKeyLabel).append("} 
");
@@ -1690,6 +1791,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                public int hashCode() {
                        final int prime = 31;
                        int result = 1;
+                       result = prime * result + ((id == null) ? 0 : 
id.hashCode());
                        result = prime * result
                                        + ((impliedGrants == null) ? 0 : 
impliedGrants.hashCode());
                        result = prime * result + ((label == null) ? 0 : 
label.hashCode());
@@ -1708,6 +1810,12 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                        if (getClass() != obj.getClass())
                                return false;
                        RangerAccessTypeDef other = (RangerAccessTypeDef) obj;
+                       if (id == null) {
+                               if (other.id != null)
+                                       return false;
+                       } else if (other.id == null || !id.equals(other.id))
+                               return false;
+
                        if (impliedGrants == null) {
                                if (other.impliedGrants != null)
                                        return false;
@@ -1736,6 +1844,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
        public static class RangerPolicyConditionDef implements 
java.io.Serializable {
                private static final long serialVersionUID = 1L;
 
+               private Long                id                     = null;
                private String              name                   = null;
                private String              evaluator              = null;
                private Map<String, String> evaluatorOptions       = null;
@@ -1750,14 +1859,15 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
 
                public RangerPolicyConditionDef() {
-                       this(null, null, null, null, null, null, null, null, 
null, null, null);
+                       this(null, null, null, null, null, null, null, null, 
null, null, null, null);
                }
 
-               public RangerPolicyConditionDef(String name, String evaluator, 
Map<String, String> evaluatorOptions) {
-                       this(name, evaluator, evaluatorOptions, null, null, 
null, null, null, null, null, null);
+               public RangerPolicyConditionDef(Long id, String name, String 
evaluator, Map<String, String> evaluatorOptions) {
+                       this(id, name, evaluator, evaluatorOptions, null, null, 
null, null, null, null, null, null);
                }
 
-               public RangerPolicyConditionDef(String name, String evaluator, 
Map<String, String> evaluatorOptions, String validationRegEx, String 
vaidationMessage, String uiHint, String label, String description, String 
rbKeyLabel, String rbKeyDescription, String rbKeyValidationMessage) {
+               public RangerPolicyConditionDef(Long id, String name, String 
evaluator, Map<String, String> evaluatorOptions, String validationRegEx, String 
vaidationMessage, String uiHint, String label, String description, String 
rbKeyLabel, String rbKeyDescription, String rbKeyValidationMessage) {
+                       setId(id);
                        setName(name);
                        setEvaluator(evaluator);
                        setEvaluatorOptions(evaluatorOptions);
@@ -1772,6 +1882,20 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                }
 
                /**
+                * @return the id
+                */
+               public Long getId() {
+                       return id;
+               }
+
+               /**
+                * @param id the id to set
+                */
+               public void setId(Long id) {
+                       this.id = id;
+               }
+
+               /**
                 * @return the name
                 */
                public String getName() {
@@ -1936,6 +2060,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
                public StringBuilder toString(StringBuilder sb) {
                        sb.append("RangerPolicyConditionDef={");
+                       sb.append("id={").append(id).append("} ");
                        sb.append("name={").append(name).append("} ");
                        sb.append("evaluator={").append(evaluator).append("} ");
                        
sb.append("evaluatorOptions={").append(evaluatorOptions).append("} ");
@@ -1957,6 +2082,8 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                        final int prime = 31;
                        int result = 1;
                        result = prime * result
+                                       + ((id == null) ? 0 : id.hashCode());
+                       result = prime * result
                                        + ((description == null) ? 0 : 
description.hashCode());
                        result = prime * result
                                        + ((evaluator == null) ? 0 : 
evaluator.hashCode());
@@ -1998,6 +2125,13 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                        if (getClass() != obj.getClass())
                                return false;
                        RangerPolicyConditionDef other = 
(RangerPolicyConditionDef) obj;
+                       if (id == null) {
+                               if (other.id != null)
+                                       return false;
+                       } else if (other.id != null || !id.equals(other.id)) {
+                               return false;
+                       }
+
                        if (description == null) {
                                if (other.description != null)
                                        return false;
@@ -2061,22 +2195,38 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
        public static class RangerContextEnricherDef implements 
java.io.Serializable {
                private static final long serialVersionUID = 1L;
 
+               private Long                id              = null;
                private String              name            = null;
                private String              enricher        = null;
                private Map<String, String> enricherOptions = null;
 
 
                public RangerContextEnricherDef() {
-                       this(null, null, null);
+                       this(null, null, null, null);
                }
 
-               public RangerContextEnricherDef(String name, String enricher, 
Map<String, String> enricherOptions) {
+               public RangerContextEnricherDef(Long id, String name, String 
enricher, Map<String, String> enricherOptions) {
+                       setId(id);
                        setName(name);
                        setEnricher(enricher);
                        setEnricherOptions(enricherOptions);
                }
 
                /**
+                * @return the id
+                */
+               public Long getId() {
+                       return id;
+               }
+
+               /**
+                * @param id the id to set
+                */
+               public void setId(Long id) {
+                       this.id = id;
+               }
+
+               /**
                 * @return the name
                 */
                public String getName() {
@@ -2129,6 +2279,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
 
                public StringBuilder toString(StringBuilder sb) {
                        sb.append("RangerContextEnricherDef={");
+                       sb.append("id={").append(id).append("} ");
                        sb.append("name={").append(name).append("} ");
                        sb.append("enricher={").append(enricher).append("} ");
                        
sb.append("enricherOptions={").append(enricherOptions).append("} ");
@@ -2141,6 +2292,7 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                public int hashCode() {
                        final int prime = 31;
                        int result = 1;
+                       result = prime * result + ((id == null) ? 0 : 
id.hashCode());
                        result = prime * result
                                        + ((enricher == null) ? 0 : 
enricher.hashCode());
                        result = prime
@@ -2160,6 +2312,12 @@ public class RangerServiceDef extends 
RangerBaseModelObject implements java.io.S
                        if (getClass() != obj.getClass())
                                return false;
                        RangerContextEnricherDef other = 
(RangerContextEnricherDef) obj;
+                       if (id == null) {
+                               if (other.id != null)
+                                       return false;
+                       } else if (other.id == null || !id.equals(other.id))
+                               return false;
+
                        if (enricher == null) {
                                if (other.enricher != null)
                                        return false;

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/resources/service-defs/ranger-servicedef-hbase.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-hbase.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-hbase.json
index e611895..42fb502 100644
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-hbase.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-hbase.json
@@ -11,6 +11,7 @@
        "resources": 
        [
                {
+                       "id": 1,
                        "name": "table",
                        "type": "string",
                        "level": 10,
@@ -29,6 +30,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "column-family",
                        "type": "string",
                        "level": 20,
@@ -47,6 +49,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "column",
                        "type": "string",
                        "level": 30,
@@ -68,21 +71,25 @@
        "accessTypes": 
        [
                {
+                       "id": 1,
                        "name": "read",
                        "label": "Read"
                },
 
                {
+                       "id": 2,
                        "name": "write",
                        "label": "Write"
                },
 
                {
+                       "id": 3,
                        "name": "create",
                        "label": "Create"
                },
 
                {
+                       "id": 4,
                        "name": "admin",
                        "label": "Admin",
                        "impliedGrants": 
@@ -97,6 +104,7 @@
        "configs": 
        [
                {
+                       "id": 1,
                        "name": "username",
                        "type": "string",
                        "subType": "",
@@ -108,6 +116,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "password",
                        "type": "password",
                        "subType": "",
@@ -119,6 +128,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "hadoop.security.authentication",
                        "type": "enum",
                        "subType": "authnType",
@@ -130,6 +140,7 @@
                },
 
                {
+                       "id": 4,
                        "name": "hbase.master.kerberos.principal",
                        "type": "string",
                        "subType": "",
@@ -138,6 +149,7 @@
                },
 
                {
+                       "id": 5,
                        "name": "hbase.security.authentication",
                        "type": "enum",
                        "subType": "authnType",
@@ -149,6 +161,7 @@
                },
 
                {
+                       "id": 6,
                        "name": "hbase.zookeeper.property.clientPort",
                        "type": "int",
                        "subType": "",
@@ -160,6 +173,7 @@
                },
 
                {
+                       "id": 7,
                        "name": "hbase.zookeeper.quorum",
                        "type": "string",
                        "subType": "",
@@ -170,6 +184,7 @@
                },
 
                {
+                       "id": 8,
                        "name": "zookeeper.znode.parent",
                        "type": "string",
                        "subType": "",
@@ -181,6 +196,7 @@
                },
                
                {
+                       "id": 9,
                        "name": "certificate.cn",
                        "type": "string",
                        "subType": "",
@@ -195,15 +211,18 @@
        "enums": 
        [
                {
+                       "id": 1,
                        "name": "authnType",
                        "elements": 
                        [
                                {
+                                       "id": 1,
                                        "name": "simple",
                                        "label": "Simple"
                                },
 
                                {
+                                       "id": 2,
                                        "name": "kerberos",
                                        "label": "Kerberos"
                                }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
index b279f0c..a37d549 100755
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
@@ -11,6 +11,7 @@
        "resources": 
        [
                {
+                       "id": 1,
                        "name": "path",
                        "type": "path",
                        "level": 10,
@@ -32,16 +33,19 @@
        "accessTypes": 
        [
                {
+                       "id": 1,
                        "name": "read",
                        "label": "Read"
                },
 
                {
+                       "id": 2,
                        "name": "write",
                        "label": "Write"
                },
 
                {
+                       "id": 3,
                        "name": "execute",
                        "label": "Execute"
                }
@@ -50,6 +54,7 @@
        "configs": 
        [
                {
+                       "id": 1,
                        "name": "username",
                        "type": "string",
                        "subType": "",
@@ -61,6 +66,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "password",
                        "type": "password",
                        "subType": "",
@@ -72,6 +78,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "fs.default.name",
                        "type": "string",
                        "subType": "",
@@ -83,6 +90,7 @@
                },
 
                {
+                       "id": 4,
                        "name": "hadoop.security.authorization",
                        "type": "bool",
                        "subType": "YesTrue:NoFalse",
@@ -95,6 +103,7 @@
                },
 
                {
+                       "id": 5,
                        "name": "hadoop.security.authentication",
                        "type": "enum",
                        "subType": "authnType",
@@ -107,6 +116,7 @@
                },
 
                {
+                       "id": 6,
                        "name": "hadoop.security.auth_to_local",
                        "type": "string",
                        "subType": "",
@@ -117,6 +127,7 @@
                },
 
                {
+                       "id": 7,
                        "name": "dfs.datanode.kerberos.principal",
                        "type": "string",
                        "subType": "",
@@ -127,6 +138,7 @@
                },
 
                {
+                       "id": 8,
                        "name": "dfs.namenode.kerberos.principal",
                        "type": "string",
                        "subType": "",
@@ -137,6 +149,7 @@
                },
 
                {
+                       "id": 9,
                        "name": "dfs.secondary.namenode.kerberos.principal",
                        "type": "string",
                        "subType": "",
@@ -147,6 +160,7 @@
                },
 
                {
+                       "id": 10,
                        "name": "hadoop.rpc.protection",
                        "type": "enum",
                        "subType": "rpcProtection",
@@ -159,6 +173,7 @@
                },
 
                {
+                       "id": 11,
                        "name": "certificate.cn",
                        "type": "string",
                        "subType": "",
@@ -173,15 +188,18 @@
        "enums": 
        [
                {
+                       "id": 1,
                        "name": "authnType",
                        "elements": 
                        [
                                {
+                                       "id": 1,
                                        "name": "simple",
                                        "label": "Simple"
                                },
 
                                {
+                                       "id": 2,
                                        "name": "kerberos",
                                        "label": "Kerberos"
                                }
@@ -191,20 +209,24 @@
                },
 
                {
+                       "id": 2,
                        "name": "rpcProtection",
                        "elements": 
                        [
                                {
+                                       "id": 1,
                                        "name": "authentication",
                                        "label": "Authentication"
                                },
 
                                {
+                                       "id": 2,
                                        "name": "integrity",
                                        "label": "Integrity"
                                },
 
                                {
+                                       "id": 3,
                                        "name": "privacy",
                                        "label": "Privacy"
                                }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/resources/service-defs/ranger-servicedef-hive.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-hive.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-hive.json
index aabc73b..27bd40f 100644
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-hive.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-hive.json
@@ -11,6 +11,7 @@
        "resources": 
        [
                {
+                       "id": 1,
                        "name": "database",
                        "type": "string",
                        "level": 10,
@@ -29,6 +30,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "table",
                        "type": "string",
                        "level": 20,
@@ -47,6 +49,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "udf",
                        "type": "string",
                        "level": 20,
@@ -65,6 +68,7 @@
                },
 
                {
+                       "id": 4,
                        "name": "column",
                        "type": "string",
                        "level": 30,
@@ -86,41 +90,49 @@
        "accessTypes": 
        [
                {
+                       "id": 1,
                        "name": "select",
                        "label": "select"
                },
 
                {
+                       "id": 2,
                        "name": "update",
                        "label": "update"
                },
 
                {
+                       "id": 3,
                        "name": "create",
                        "label": "Create"
                },
 
                {
+                       "id": 4,
                        "name": "drop",
                        "label": "Drop"
                },
 
                {
+                       "id": 5,
                        "name": "alter",
                        "label": "Alter"
                },
 
                {
+                       "id": 6,
                        "name": "index",
                        "label": "Index"
                },
 
                {
+                       "id": 7,
                        "name": "lock",
                        "label": "Lock"
                },
 
                {
+                       "id": 8,
                        "name": "all",
                        "label": "All"
                }
@@ -129,6 +141,7 @@
        "configs": 
        [
                {
+                       "id": 1,
                        "name": "username",
                        "type": "string",
                        "mandatory": true,
@@ -139,6 +152,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "password",
                        "type": "password",
                        "mandatory": true,
@@ -149,6 +163,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "jdbc.driverClassName",
                        "type": "string",
                        "mandatory": true,
@@ -159,6 +174,7 @@
                },
 
                {
+                       "id": 4,
                        "name": "jdbc.url",
                        "type": "string",
                        "mandatory": true,
@@ -169,6 +185,7 @@
                },
 
                {
+                       "id": 5,
                        "name": "certificate.cn",
                        "type": "string",
                        "mandatory": false,

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/resources/service-defs/ranger-servicedef-knox.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-knox.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-knox.json
index 0174e96..894b976 100644
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-knox.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-knox.json
@@ -11,6 +11,7 @@
        "resources": 
        [
                {
+                       "id": 1,
                        "name": "topology",
                        "type": "string",
                        "level": 10,
@@ -29,6 +30,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "service",
                        "type": "string",
                        "level": 20,
@@ -50,6 +52,7 @@
        "accessTypes": 
        [
                {
+                       "id": 1,
                        "name": "allow",
                        "label": "Allow"
                }
@@ -58,6 +61,7 @@
        "configs": 
        [
                {
+                       "id": 1,
                        "name": "username",
                        "type": "string",
                        "mandatory": true,
@@ -68,6 +72,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "password",
                        "type": "password",
                        "mandatory": true,
@@ -78,6 +83,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "knox.url",
                        "type": "string",
                        "mandatory": true,
@@ -88,6 +94,7 @@
                },
 
                {
+                       "id": 4,
                        "name": "certificate.cn",
                        "type": "string",
                        "mandatory": false,
@@ -111,6 +118,7 @@
        "policyConditions": 
        [
                {
+                       "id": 1,
                        "name": "ip-range",
                        "evaluator": 
"org.apache.ranger.plugin.conditionevaluator.RangerIpMatcher",
                        "evaluatorOptions": { },

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/resources/service-defs/ranger-servicedef-solr.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-solr.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-solr.json
index 6ae7a87..19e9b63 100644
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-solr.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-solr.json
@@ -5,6 +5,7 @@
        "description":"Solr",
        "resources":[
                {
+                       "id": 1,
                        "name":"collection",
                        "type":"string",
                        "level":10,
@@ -14,7 +15,7 @@
                        "recursiveSupported":false,
                        "excludesSupported":true,
                        
"matcher":"org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher",
-                       "matcherOptions":{ "wildCard":true, "ignoreCase":true, 
"pathSeparatorChar":"." },
+                       "matcherOptions":{ "wildCard":true, "ignoreCase":true },
                        "validationRegEx":"",
                        "validationMessage":"",
                        "uiHint":"",
@@ -22,6 +23,7 @@
                        "description":"Solr Collection"
                },
                {
+                       "id": 2,
                        "name":"field",
                        "type":"string",
                        "level":20,
@@ -31,7 +33,7 @@
                        "recursiveSupported":false,
                        "excludesSupported":true,
                        
"matcher":"org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher",
-                       "matcherOptions":{ "wildCard":true, "ignoreCase":true, 
"pathSeparatorChar":"." },
+                       "matcherOptions":{ "wildCard":true, "ignoreCase":true },
                        "validationRegEx":"",
                        "validationMessage":"",
                        "uiHint":"",
@@ -42,18 +44,22 @@
        ],
        "accessTypes":[
                {
+                       "id": 1,
                        "name":"create",
                        "label":"Create"
                },
                {
+                       "id": 2,
                        "name":"update",
                        "label":"Update"
                },
                {
+                       "id": 3,
                        "name":"query",
                        "label":"Query"
                },
                {
+                       "id": 4,
                        "name":"solr_admin",
                        "label":"Solr Admin"
                }
@@ -61,6 +67,7 @@
        ],
        "configs":[
                {
+                       "id": 1,
                        "name":"username",
                        "type":"string",
                        "mandatory":true,
@@ -70,6 +77,7 @@
                        "label":"Username"
                },
                {
+                       "id": 2,
                        "name":"password",
                        "type":"password",
                        "mandatory":true,
@@ -79,6 +87,7 @@
                        "label":"Password"
                },
                {
+                       "id": 3,
                        "name":"solr.url",
                        "type":"string",
                        "mandatory":true,
@@ -89,6 +98,7 @@
                        "label":"Solr URL"
                },
                {
+                       "id": 4,
                        "name":"certificate.cn",
                        "type":"string",
                        "mandatory":false,
@@ -107,6 +117,7 @@
        ],
        "policyConditions":[
                {
+                       "id": 1,
                        "name":"ip-range",
                        
"evaluator":"org.apache.ranger.plugin.conditionevaluator.RangerIpMatcher",
                        "evaluatorOptions":"",
@@ -118,4 +129,4 @@
                }
                
        ]
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/resources/service-defs/ranger-servicedef-storm.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-storm.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-storm.json
index bcc4394..3a00276 100644
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-storm.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-storm.json
@@ -11,6 +11,7 @@
        "resources": 
        [
                {
+                       "id": 1,
                        "name": "topology",
                        "type": "string",
                        "level": 10,
@@ -31,6 +32,7 @@
        "accessTypes": 
        [
                {
+                       "id": 1,
                        "name": "submitTopology",
                        "label": "Submit Topology",
                        "impliedGrants":
@@ -41,66 +43,79 @@
                },
 
                {
+                       "id": 2,
                        "name": "fileUpload",
                        "label": "File Upload"
                },
 
                {
+                       "id": 3,
                        "name": "getNimbusConf",
                        "label": "Get Nimbus Conf"
                },
 
                {
+                       "id": 4,
                        "name": "getClusterInfo",
                        "label": "Get Cluster Info"
                },
 
                {
+                       "id": 5,
                        "name": "fileDownload",
                        "label": "File Download"
                },
 
                {
+                       "id": 6,
                        "name": "killTopology",
                        "label": "Kill Topology"
                },
 
                {
+                       "id": 7,
                        "name": "rebalance",
                        "label": "Rebalance"
                },
 
                {
+                       "id": 8,
                        "name": "activate",
                        "label": "Activate"
                },
 
                {
+                       "id": 9,
                        "name": "deactivate",
                        "label": "Deactivate"
                },
 
                {
+                       "id": 10,
                        "name": "getTopologyConf",
                        "label": "Get Topology Conf"
                },
 
                {
+                       "id": 11,
                        "name": "getTopology",
                        "label": "Get Topology"
                },
 
                {
+                       "id": 12,
                        "name": "getUserTopology",
                        "label": "Get User Topology"
                },
 
                {
+                       "id": 13,
                        "name": "getTopologyInfo",
                        "label": "Get Topology Info"
                },
 
                {
+                       "id": 14,
                        "name": "uploadNewCredentials",
                        "label": "Upload New Credential"
                }
@@ -109,6 +124,7 @@
        "configs": 
        [
                {
+                       "id": 1,
                        "name": "username",
                        "type": "string",
                        "mandatory": true,
@@ -119,6 +135,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "password",
                        "type": "password",
                        "mandatory": true,
@@ -129,6 +146,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "nimbus.url",
                        "type": "string",
                        "mandatory": true,
@@ -140,6 +158,7 @@
                },
 
                {
+                       "id": 4,
                        "name": "certificate.cn",
                        "type": "string",
                        "mandatory": false,

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/main/resources/service-defs/ranger-servicedef-yarn.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-yarn.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-yarn.json
index 8af8f9d..e0a18da 100644
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-yarn.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-yarn.json
@@ -11,6 +11,7 @@
        "resources": 
        [
                {
+                       "id": 1,
                        "name": "queue",
                        "type": "string",
                        "level": 10,
@@ -30,11 +31,13 @@
        "accessTypes": 
        [
                {
+                       "id": 1,
                        "name": "submit-app",
                        "label": "submit-app"
                },
 
                {
+                       "id": 2,
                        "name": "admin-queue",
                        "label": "admin-queue",
                        "impliedGrants":
@@ -47,6 +50,7 @@
        "configs": 
        [
                {
+                       "id": 1,
                        "name": "username",
                        "type": "string",
                        "mandatory": true,
@@ -57,6 +61,7 @@
                },
 
                {
+                       "id": 2,
                        "name": "password",
                        "type": "password",
                        "mandatory": true,
@@ -67,6 +72,7 @@
                },
 
                {
+                       "id": 3,
                        "name": "yarn.url",
                        "type": "string",
                        "mandatory": true,
@@ -78,6 +84,7 @@
                },
 
                {
+                       "id": 4,
                        "name": "certificate.cn",
                        "type": "string",
                        "mandatory": false,
@@ -101,6 +108,7 @@
        "policyConditions": 
        [
                {
+                       "id": 1,
                        "name": "ip-range",
                        "evaluator": 
"org.apache.ranger.plugin.conditionevaluator.RangerIpMatcher",
                        "evaluatorOptions": { },

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/agents-common/src/test/java/org/apache/ranger/plugin/store/TestServiceStore.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/store/TestServiceStore.java
 
b/agents-common/src/test/java/org/apache/ranger/plugin/store/TestServiceStore.java
index ae04e28..7ceb00e 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/store/TestServiceStore.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/store/TestServiceStore.java
@@ -153,7 +153,7 @@ public class TestServiceStore {
 
                int initPolicyCount = policies == null ? 0 : policies.size();
 
-               RangerPolicy policy = new RangerPolicy(updatedSvc.getName(), 
policyName, "test policy description", null, null);
+               RangerPolicy policy = new RangerPolicy(updatedSvc.getName(), 
policyName, 0, "test policy description", null, null);
                policy.getResources().put("path", new 
RangerPolicyResource("/demo/test/finance", Boolean.FALSE, Boolean.TRUE));
 
                RangerPolicyItem item1 = new RangerPolicyItem();

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a697bca0/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
index 48fd7f8..044cf56 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
@@ -66,7 +66,7 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
        protected RangerServiceDef mapEntityToViewBean(RangerServiceDef vObj, 
XXServiceDef xObj) {
                vObj.setGuid(xObj.getGuid());
                vObj.setVersion(xObj.getVersion());
-               vObj.setName(xObj.getName());
+               vObj.setType(xObj.getName());
                vObj.setImplClass(xObj.getImplclassname());
                vObj.setLabel(xObj.getLabel());
                vObj.setDescription(xObj.getDescription());

Reply via email to