This is an automated email from the ASF dual-hosted git repository.

rmani pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 2c71271  RANGER-2412:Policy Condition Evaluators existing and newly 
created should work in both policy level and policy item level
2c71271 is described below

commit 2c71271223176413f95a9adb82ee72ea82f83881
Author: rmani <rm...@hortonworks.com>
AuthorDate: Wed May 1 13:33:56 2019 -0700

    RANGER-2412:Policy Condition Evaluators existing and newly created should 
work in both policy level and policy item level
---
 .../RangerAbstractConditionEvaluator.java          |  9 ------
 .../RangerConditionEvaluator.java                  |  3 --
 .../apache/ranger/plugin/model/RangerPolicy.java   | 34 ++++++----------------
 .../model/RangerPolicyResourceSignature.java       |  8 ++---
 .../RangerCustomConditionEvaluator.java            |  4 +--
 .../RangerDefaultPolicyEvaluator.java              |  2 +-
 .../RangerPolicyConditionSampleSimpleMatcher.java  | 10 +++----
 .../org/apache/ranger/biz/PolicyRefUpdater.java    |  4 +--
 8 files changed, 23 insertions(+), 51 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAbstractConditionEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAbstractConditionEvaluator.java
index 51691ad..ddd1a54 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAbstractConditionEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAbstractConditionEvaluator.java
@@ -18,7 +18,6 @@
  */
 package org.apache.ranger.plugin.conditionevaluator;
 
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyCondition;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import 
org.apache.ranger.plugin.model.RangerServiceDef.RangerPolicyConditionDef;
@@ -27,7 +26,6 @@ public abstract class RangerAbstractConditionEvaluator 
implements RangerConditio
        protected RangerServiceDef serviceDef;
        protected RangerPolicyConditionDef  conditionDef;
        protected RangerPolicyItemCondition condition;
-       protected RangerPolicyCondition policyCondition;
 
        @Override
        public void setServiceDef(RangerServiceDef serviceDef) {
@@ -50,11 +48,4 @@ public abstract class RangerAbstractConditionEvaluator 
implements RangerConditio
 
        public RangerPolicyItemCondition getPolicyItemCondition() { return 
condition; }
 
-       @Override
-       public void setPolicyCondition(RangerPolicyCondition policyCondition) {
-               this.policyCondition = policyCondition;
-       }
-
-       public RangerPolicyCondition getPolicyCondition() { return 
policyCondition; }
-
 }
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerConditionEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerConditionEvaluator.java
index 54c0b40..16f9a3c 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerConditionEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerConditionEvaluator.java
@@ -19,7 +19,6 @@
 
 package org.apache.ranger.plugin.conditionevaluator;
 
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyCondition;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import 
org.apache.ranger.plugin.model.RangerServiceDef.RangerPolicyConditionDef;
@@ -30,8 +29,6 @@ public interface RangerConditionEvaluator {
 
        void setPolicyItemCondition(RangerPolicyItemCondition condition);
 
-       void setPolicyCondition(RangerPolicyCondition policyCondition);
-
        void setServiceDef(RangerServiceDef serviceDef);
 
        void init();
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 9146a88..3cf509d 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
@@ -75,7 +75,7 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
        private String                                                    
resourceSignature;
        private Boolean                           isAuditEnabled;
        private Map<String, RangerPolicyResource> resources;
-       private List<RangerPolicyCondition>       conditions;
+       private List<RangerPolicyItemCondition>   conditions;
        private List<RangerPolicyItem>            policyItems;
        private List<RangerPolicyItem>            denyPolicyItems;
        private List<RangerPolicyItem>            allowExceptions;
@@ -109,7 +109,7 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
         * @param policyItems
         * @param resourceSignature TODO
         */
-       public RangerPolicy(String service, String name, Integer policyType, 
Integer policyPriority, String description, Map<String, RangerPolicyResource> 
resources, List<RangerPolicyItem> policyItems, String resourceSignature, 
Map<String, Object> options, List<RangerValiditySchedule> validitySchedules, 
List<String> policyLables, String zoneName, List<RangerPolicyCondition> 
conditions) {
+       public RangerPolicy(String service, String name, Integer policyType, 
Integer policyPriority, String description, Map<String, RangerPolicyResource> 
resources, List<RangerPolicyItem> policyItems, String resourceSignature, 
Map<String, Object> options, List<RangerValiditySchedule> validitySchedules, 
List<String> policyLables, String zoneName, List<RangerPolicyItemCondition> 
conditions) {
                super();
 
                setService(service);
@@ -501,11 +501,11 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
        /**
         * @return the conditions
         */
-       public List<RangerPolicyCondition> getConditions() { return conditions; 
}
+       public List<RangerPolicyItemCondition> getConditions() { return 
conditions; }
        /**
         * @param conditions the conditions to set
         */
-       public void setConditions(List<RangerPolicyCondition> conditions) {
+       public void setConditions(List<RangerPolicyItemCondition> conditions) {
                this.conditions = conditions;
        }
 
@@ -553,7 +553,7 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
 
                sb.append("policyConditions={");
                if(conditions != null) {
-                       for(RangerPolicyCondition condition : conditions) {
+                       for(RangerPolicyItemCondition condition : conditions) {
                                if(condition != null) {
                                        condition.toString(sb);
                                }
@@ -1351,38 +1351,22 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
                
        }
 
-       // Shell class for backward compatibility
        @JsonAutoDetect(fieldVisibility=Visibility.ANY)
        @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
        @JsonIgnoreProperties(ignoreUnknown=true)
        @XmlRootElement
        @XmlAccessorType(XmlAccessType.FIELD)
-       public static class RangerPolicyItemCondition extends 
RangerPolicyCondition implements java.io.Serializable {
-               public RangerPolicyItemCondition() {
-                       this(null, null);
-               }
-
-               public RangerPolicyItemCondition(String type, List<String> 
values) {
-                       super(type,values);
-               }
-       }
-
-       @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-       @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
-       @JsonIgnoreProperties(ignoreUnknown=true)
-       @XmlRootElement
-       @XmlAccessorType(XmlAccessType.FIELD)
-       public static class RangerPolicyCondition implements 
java.io.Serializable {
+       public static class RangerPolicyItemCondition implements 
java.io.Serializable {
                private static final long serialVersionUID = 1L;
 
                private String type;
                private List<String> values;
 
-               public RangerPolicyCondition() {
+               public RangerPolicyItemCondition() {
                        this(null, null);
                }
 
-               public RangerPolicyCondition(String type, List<String> values) {
+               public RangerPolicyItemCondition(String type, List<String> 
values) {
                        setType(type);
                        setValues(values);
                }
@@ -1469,7 +1453,7 @@ public class RangerPolicy extends RangerBaseModelObject 
implements java.io.Seria
                                return false;
                        if (getClass() != obj.getClass())
                                return false;
-                       RangerPolicyCondition other = (RangerPolicyCondition) 
obj;
+                       RangerPolicyItemCondition other = 
(RangerPolicyItemCondition) obj;
                        if (type == null) {
                                if (other.type != null)
                                        return false;
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java
index 40b5ddd..2bb6589 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java
@@ -32,7 +32,7 @@ import org.apache.commons.collections.MapUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyCondition;
+import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
 import org.apache.solr.common.StringUtils;
 
 public class RangerPolicyResourceSignature {
@@ -198,9 +198,9 @@ public class RangerPolicyResourceSignature {
        }
 
        static class CustomConditionSerialiser {
-               final List<RangerPolicyCondition> rangerPolicyConditions;
+               final List<RangerPolicy.RangerPolicyItemCondition> 
rangerPolicyConditions;
 
-               CustomConditionSerialiser(List<RangerPolicyCondition> 
rangerPolicyConditions) {
+               CustomConditionSerialiser(List<RangerPolicyItemCondition> 
rangerPolicyConditions) {
                        this.rangerPolicyConditions = rangerPolicyConditions;
                }
 
@@ -209,7 +209,7 @@ public class RangerPolicyResourceSignature {
                        StringBuilder builder = new StringBuilder();
                        Map<String, List<String>> conditionMap = new 
TreeMap<>();
 
-                       for(RangerPolicyCondition rangerPolicyCondition : 
rangerPolicyConditions) {
+                       for(RangerPolicyItemCondition rangerPolicyCondition : 
rangerPolicyConditions) {
                                if (rangerPolicyCondition.getType() != null) {
                                        String type = 
rangerPolicyCondition.getType();
                                        List<String> values = new ArrayList<>();
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java
index 1d08718..cc250b5 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java
@@ -57,7 +57,7 @@ public class RangerCustomConditionEvaluator {
                 perf = RangerPerfTracer.getPerfTracer(PERF_POLICY_INIT_LOG, 
"RangerCustomConditionEvaluator.init(policyId=" + policyId + ")");
             }
 
-            for (RangerPolicy.RangerPolicyCondition condition : 
policy.getConditions()) {
+            for (RangerPolicy.RangerPolicyItemCondition condition : 
policy.getConditions()) {
                 RangerServiceDef.RangerPolicyConditionDef conditionDef = 
getConditionDef(condition.getType(),serviceDef);
 
                 if (conditionDef == null) {
@@ -71,7 +71,7 @@ public class RangerCustomConditionEvaluator {
                 if (conditionEvaluator != null) {
                     conditionEvaluator.setServiceDef(serviceDef);
                     conditionEvaluator.setConditionDef(conditionDef);
-                    conditionEvaluator.setPolicyCondition(condition);
+                    conditionEvaluator.setPolicyItemCondition(condition);
 
                     RangerPerfTracer perfConditionInit = null;
 
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
index 580a32c..a57b398 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
@@ -1204,7 +1204,7 @@ public class RangerDefaultPolicyEvaluator extends 
RangerAbstractPolicyEvaluator
 
                                        String conditionType = null;
                                        if (conditionEvaluator instanceof 
RangerAbstractConditionEvaluator) {
-                                               conditionType = 
((RangerAbstractConditionEvaluator)conditionEvaluator).getPolicyCondition().getType();
+                                               conditionType = 
((RangerAbstractConditionEvaluator)conditionEvaluator).getPolicyItemCondition().getType();
                                        }
 
                                        perf = 
RangerPerfTracer.getPerfTracer(PERF_POLICYCONDITION_REQUEST_LOG, 
"RangerConditionEvaluator.matchPolicyCustomConditions(policyId=" + getId() +  
",policyConditionType=" + conditionType + ")");
diff --git 
a/ranger-examples/conditions-enrichers/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerPolicyConditionSampleSimpleMatcher.java
 
b/ranger-examples/conditions-enrichers/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerPolicyConditionSampleSimpleMatcher.java
index f0df30d..6e5d90a 100644
--- 
a/ranger-examples/conditions-enrichers/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerPolicyConditionSampleSimpleMatcher.java
+++ 
b/ranger-examples/conditions-enrichers/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerPolicyConditionSampleSimpleMatcher.java
@@ -80,18 +80,18 @@ public class RangerPolicyConditionSampleSimpleMatcher 
extends RangerAbstractCond
        @Override
        public void init() {
                if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> 
RangerPolicyConditionSampleSimpleMatcher.init(" + policyCondition + ")");
+                       LOG.debug("==> 
RangerPolicyConditionSampleSimpleMatcher.init(" + condition + ")");
                }
 
                super.init();
 
-               if (policyCondition == null) {
+               if (condition == null) {
                        LOG.debug("init: null policy condition! Will match 
always!");
                        _allowAny = true;
                } else if (conditionDef == null) {
                        LOG.debug("init: null policy condition definition! Will 
match always!");
                        _allowAny = true;
-               } else if 
(CollectionUtils.isEmpty(policyCondition.getValues())) {
+               } else if (CollectionUtils.isEmpty(condition.getValues())) {
                        LOG.debug("init: empty conditions collection on policy 
condition!  Will match always!");
                        _allowAny = true;
                } else if 
(MapUtils.isEmpty(conditionDef.getEvaluatorOptions())) {
@@ -102,13 +102,13 @@ public class RangerPolicyConditionSampleSimpleMatcher 
extends RangerAbstractCond
                        _allowAny = true;
                } else {
                        _contextName = 
conditionDef.getEvaluatorOptions().get(CONTEXT_NAME);
-                       for (String value : policyCondition.getValues()) {
+                       for (String value : condition.getValues()) {
                                _values.add(value);
                        }
                }
 
                if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== 
RangerPolicyConditionSampleSimpleMatcher.init(" + policyCondition + "): 
values[" + _values + "]");
+                       LOG.debug("<== 
RangerPolicyConditionSampleSimpleMatcher.init(" + condition + "): values[" + 
_values + "]");
                }
        }
 
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/PolicyRefUpdater.java 
b/security-admin/src/main/java/org/apache/ranger/biz/PolicyRefUpdater.java
index 08963f0..921dc37 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/PolicyRefUpdater.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/PolicyRefUpdater.java
@@ -79,9 +79,9 @@ public class PolicyRefUpdater {
                final Set<String> conditionTypes  = new HashSet<>();
                final Set<String> dataMaskTypes   = new HashSet<>();
 
-               List<RangerPolicy.RangerPolicyCondition> rangerPolicyConditions 
= policy.getConditions();
+               List<RangerPolicy.RangerPolicyItemCondition> 
rangerPolicyConditions = policy.getConditions();
                if (CollectionUtils.isNotEmpty(rangerPolicyConditions)) {
-                       for (RangerPolicy.RangerPolicyCondition condition : 
rangerPolicyConditions) {
+                       for (RangerPolicy.RangerPolicyItemCondition condition : 
rangerPolicyConditions) {
                                conditionTypes.add(condition.getType());
                        }
                }

Reply via email to