RANGER-2204: Fixed issue where audit log values for policy service are not 
processed properly


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

Branch: refs/heads/ranger-1.1
Commit: 8e19e67e20cdf9757df2d46a8fae30602376106e
Parents: d4b5722
Author: Sailaja Polavarapu <[email protected]>
Authored: Fri Aug 31 10:02:23 2018 -0700
Committer: Mehul Parikh <[email protected]>
Committed: Tue Sep 4 11:51:47 2018 +0530

----------------------------------------------------------------------
 .../ranger/service/RangerPolicyService.java     | 43 +++++++++++++-------
 1 file changed, 28 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/8e19e67e/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
index ad3984d..08baf89 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
@@ -147,7 +147,7 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                }
                List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
                Field[] fields = vObj.getClass().getDeclaredFields();
-               
+
                try {
                        
                        Field nameField = 
vObj.getClass().getDeclaredField("name");
@@ -236,14 +236,16 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                }
                        } else if 
(ROWFILTER_POLICY_ITEM_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
                                value = 
processRowFilterPolicyItemForTrxLog(field.get(vObj));
-                       } else if 
(IS_ENABLED_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
-                               value = 
String.valueOf(processIsEnabledClassFieldNameForTrxLog(field.get(vObj)));
-                            } else if 
(POLICY_LABELS_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
-                                    value = 
processPolicyLabelsClassFieldNameForTrxLog(field.get(vObj));
-                       } else if 
(POLICY_VALIDITYSCHEDULES_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
-                               value = 
processValiditySchedulesClassFieldNameForTrxLog(field.get(vObj));
-                       } else if 
(POLICY_PRIORITY_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                               } else if 
(IS_ENABLED_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                                       value = 
processIsEnabledClassFieldNameForTrxLog(field.get(vObj));
+                               } else if 
(POLICY_LABELS_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                                       value = 
processPolicyLabelsClassFieldNameForTrxLog(field.get(vObj));
+                               } else if 
(POLICY_VALIDITYSCHEDULES_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                                       value = 
processValiditySchedulesClassFieldNameForTrxLog(field.get(vObj));
+                               } else if 
(POLICY_PRIORITY_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
                                value = 
processPriorityClassFieldNameForTrxLog(field.get(vObj));
+                               } else if 
(IS_AUDIT_ENABLED_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                                       value = 
processIsAuditEnabledClassFieldNameForTrxLog(field.get(vObj));
                        } else {
                                value = "" + field.get(vObj);
                        }
@@ -330,9 +332,13 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                        }
                                }else if 
(IS_ENABLED_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
                                        if (oldPolicy != null) {
-                                               oldValue = 
String.valueOf(processIsEnabledClassFieldNameForTrxLog(oldPolicy.getIsEnabled()));
+                                               oldValue = 
processIsEnabledClassFieldNameForTrxLog(oldPolicy.getIsEnabled());
                                        }
-                               } else if 
(POLICY_LABELS_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                               } else if 
(IS_AUDIT_ENABLED_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                                       if (oldPolicy != null) {
+                                               oldValue = 
processIsAuditEnabledClassFieldNameForTrxLog(oldPolicy.getIsAuditEnabled());
+                                       }
+                               }else if 
(POLICY_LABELS_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
                                        oldValue = 
processPolicyLabelsClassFieldNameForTrxLog(oldPolicy.getPolicyLabels());
                                } else if 
(POLICY_VALIDITYSCHEDULES_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
                                        oldValue = 
processValiditySchedulesClassFieldNameForTrxLog(oldPolicy.getValiditySchedules());
@@ -399,11 +405,11 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                            return null;
                                        }
                                } else if 
(IS_AUDIT_ENABLED_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
-                                        if (compareTwoPolicyName(value, 
oldValue)) {
-                                                return null;
-                                        }
-                                } else if 
(POLICY_LABELS_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
-                                        if (compareTwoPolicyLabelList(value, 
oldValue)) {
+                                       if (compareTwoPolicyName(value, 
oldValue)) {
+                                               return null;
+                                       }
+                               } else if 
(POLICY_LABELS_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
+                                       if (compareTwoPolicyLabelList(value, 
oldValue)) {
                                                return null;
                                        }
                                }
@@ -664,6 +670,13 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                        return isEnabled;
        }
 
+       private String processIsAuditEnabledClassFieldNameForTrxLog(Object 
value) {
+               if(value == null)
+                       return null;
+               String isAuditEnabled = String.valueOf(value);
+               return isAuditEnabled;
+       }
+
        private boolean compareTwoDataMaskingPolicyItemList(String value, 
String oldValue) {
                if (value == null && oldValue == null) {
                        return true;

Reply via email to