Repository: incubator-ranger
Updated Branches:
  refs/heads/master 760fbdbae -> a0d63e751


RANGER-882: fix inconsistent null check in previous 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/a0d63e75
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/a0d63e75
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/a0d63e75

Branch: refs/heads/master
Commit: a0d63e7518f7b6ab2f02ea416b1433ba80cf193b
Parents: 760fbdb
Author: Madhan Neethiraj <[email protected]>
Authored: Sat Mar 26 01:31:45 2016 -0700
Committer: Madhan Neethiraj <[email protected]>
Committed: Sun Mar 27 18:55:37 2016 -0700

----------------------------------------------------------------------
 .../model/validation/RangerPolicyValidator.java | 74 ++++++++++----------
 1 file changed, 38 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a0d63e75/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
index 5933a33..cab7006 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
@@ -606,46 +606,48 @@ public class RangerPolicyValidator extends 
RangerValidator {
                for (Map.Entry<String, RangerPolicyResource> entry : 
resourceMap.entrySet()) {
                        String name = entry.getKey();
                        RangerPolicyResource policyResource = entry.getValue();
-                       if(policyResource != null && 
CollectionUtils.isNotEmpty(policyResource.getValues())){
-                               Set<String> resources = new 
HashSet<String>(policyResource.getValues());
-                               for (String aValue : resources) {
-                                       if (StringUtils.isBlank(aValue)) {
-                                               
policyResource.getValues().remove(aValue);
+                       if(policyResource != null) {
+                               
if(CollectionUtils.isNotEmpty(policyResource.getValues())) {
+                                       Set<String> resources = new 
HashSet<String>(policyResource.getValues());
+                                       for (String aValue : resources) {
+                                               if 
(StringUtils.isBlank(aValue)) {
+                                                       
policyResource.getValues().remove(aValue);
+                                               }
                                        }
                                }
-                       }
-                       if(CollectionUtils.isEmpty(policyResource.getValues())){
-                               ValidationErrorCode error = 
ValidationErrorCode.POLICY_VALIDATION_ERR_MISSING_RESOURCE_LIST;
-                               if(LOG.isDebugEnabled()) {
-                                       LOG.debug(String.format("Resource list 
was empty or contains null: value[%s], resource-name[%s], 
service-def-name[%s]", policyResource.getValues(), name, serviceDef.getName()));
+
+                               
if(CollectionUtils.isEmpty(policyResource.getValues())){
+                                       ValidationErrorCode error = 
ValidationErrorCode.POLICY_VALIDATION_ERR_MISSING_RESOURCE_LIST;
+                                       if(LOG.isDebugEnabled()) {
+                                               
LOG.debug(String.format("Resource list was empty or contains null: value[%s], 
resource-name[%s], service-def-name[%s]", policyResource.getValues(), name, 
serviceDef.getName()));
+                                       }
+                                       failures.add(new 
ValidationFailureDetailsBuilder()
+                                               .field("resource-values")
+                                               .subField(name)
+                                               .isMissing()
+                                               
.becauseOf(error.getMessage(name))
+                                               .errorCode(error.getErrorCode())
+                                               .build());
+                                       valid=false;
                                }
-                               failures.add(new 
ValidationFailureDetailsBuilder()
-                                       .field("resource-values")
-                                       .subField(name)
-                                       .isMissing()
-                                       .becauseOf(error.getMessage(name))
-                                       .errorCode(error.getErrorCode())
-                                       .build());
-                               valid=false;
-                       }
-                       if (validationRegExMap.containsKey(name) && 
policyResource != null && 
CollectionUtils.isNotEmpty(policyResource.getValues())) {
-                               String regEx = validationRegExMap.get(name);
-                               for (String aValue : 
policyResource.getValues()) {
-                                       if (StringUtils.isBlank(aValue)) {
-                                               LOG.debug("resource value was 
blank");
-                                       } else if (!aValue.matches(regEx)) {
-                                               if (LOG.isDebugEnabled()) {
-                                                       
LOG.debug(String.format("Resource failed regex check: value[%s], 
resource-name[%s], regEx[%s], service-def-name[%s]", aValue, name, regEx, 
serviceDef.getName()));
+
+                               if (validationRegExMap.containsKey(name) && 
CollectionUtils.isNotEmpty(policyResource.getValues())) {
+                                       String regEx = 
validationRegExMap.get(name);
+                                       for (String aValue : 
policyResource.getValues()) {
+                                               if (!aValue.matches(regEx)) {
+                                                       if 
(LOG.isDebugEnabled()) {
+                                                               
LOG.debug(String.format("Resource failed regex check: value[%s], 
resource-name[%s], regEx[%s], service-def-name[%s]", aValue, name, regEx, 
serviceDef.getName()));
+                                                       }
+                                                       ValidationErrorCode 
error = ValidationErrorCode.POLICY_VALIDATION_ERR_INVALID_RESOURCE_VALUE_REGEX;
+                                                       failures.add(new 
ValidationFailureDetailsBuilder()
+                                                               
.field("resource-values")
+                                                               .subField(name)
+                                                               
.isSemanticallyIncorrect()
+                                                               
.becauseOf(error.getMessage(aValue, name))
+                                                               
.errorCode(error.getErrorCode())
+                                                               .build());
+                                                       valid = false;
                                                }
-                                               ValidationErrorCode error = 
ValidationErrorCode.POLICY_VALIDATION_ERR_INVALID_RESOURCE_VALUE_REGEX;
-                                               failures.add(new 
ValidationFailureDetailsBuilder()
-                                                       
.field("resource-values")
-                                                       .subField(name)
-                                                       
.isSemanticallyIncorrect()
-                                                       
.becauseOf(error.getMessage(aValue, name))
-                                                       
.errorCode(error.getErrorCode())
-                                                       .build());
-                                               valid = false;
                                        }
                                }
                        }

Reply via email to