Repository: ranger
Updated Branches:
  refs/heads/master a7d51d496 -> 94d0566d2


RANGER-2000: Create transaction log when policy validity schedule is updated


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

Branch: refs/heads/master
Commit: 94d0566d21a64b795c9a4844354960605bc1f9d9
Parents: a7d51d4
Author: Abhay Kulkarni <akulka...@hortonworks.com>
Authored: Wed Mar 14 11:09:05 2018 -0700
Committer: Abhay Kulkarni <akulka...@hortonworks.com>
Committed: Wed Mar 14 11:09:05 2018 -0700

----------------------------------------------------------------------
 .../ranger/service/RangerPolicyService.java     | 22 +++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/94d0566d/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 fb693e3..98ed9fe 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
@@ -41,6 +41,7 @@ import 
org.apache.ranger.plugin.model.RangerPolicy.RangerDataMaskPolicyItem;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerRowFilterPolicyItem;
+import org.apache.ranger.plugin.model.RangerValiditySchedule;
 import org.codehaus.jackson.JsonParseException;
 import org.codehaus.jackson.map.JsonMappingException;
 import org.codehaus.jackson.map.ObjectMapper;
@@ -69,6 +70,7 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
        public static final String IS_ENABLED_CLASS_FIELD_NAME="isEnabled";
        public static final String 
IS_AUDIT_ENABLED_CLASS_FIELD_NAME="isAuditEnabled";
         public static final String 
POLICY_LABELS_CLASS_FIELD_NAME="policyLabels";
+        public static final String 
POLICY_VALIDITYSCHEDULES_CLASS_FIELD_NAME="validitySchedules";
 
        static HashMap<String, VTrxLogAttr> trxLogAttrs = new HashMap<String, 
VTrxLogAttr>();
        String actionCreate;
@@ -87,7 +89,8 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                trxLogAttrs.put("dataMaskPolicyItems", new 
VTrxLogAttr("dataMaskPolicyItems", "Masked Policy Items", false));
                trxLogAttrs.put("rowFilterPolicyItems", new 
VTrxLogAttr("rowFilterPolicyItems", "Row level filter Policy Items", false));
                trxLogAttrs.put("isAuditEnabled", new 
VTrxLogAttr("isAuditEnabled", "Audit Status", false));
-                trxLogAttrs.put("policyLabels", new 
VTrxLogAttr("policyLabels", "Policy Labels", false));
+               trxLogAttrs.put("policyLabels", new VTrxLogAttr("policyLabels", 
"Policy Labels", false));
+               trxLogAttrs.put("validitySchedules", new 
VTrxLogAttr("validitySchedules", "Validity Schedules", false));
        }
        
        public RangerPolicyService() {
@@ -236,6 +239,8 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                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 {
                                value = "" + field.get(vObj);
                        }
@@ -326,8 +331,10 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                        if (oldPolicy != null) {
                                                oldValue = 
String.valueOf(processIsEnabledClassFieldNameForTrxLog(oldPolicy.getIsEnabled()));
                                        }
-                                } else if 
(POLICY_LABELS_CLASS_FIELD_NAME.equalsIgnoreCase(fieldName)) {
-                                        oldValue = 
processPolicyLabelsClassFieldNameForTrxLog(oldPolicy.getPolicyLabels());
+                               } 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());
                                }
                                if (oldValue == null || 
oldValue.equalsIgnoreCase(value)) {
                                        return null;
@@ -599,6 +606,15 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                 String ret = jsonUtil.readListToString(policyLabels);
                 return ret;
         }
+       @SuppressWarnings("unchecked")
+       private String processValiditySchedulesClassFieldNameForTrxLog(Object 
value) {
+               if (value == null) {
+                       return "";
+               }
+               List<RangerValiditySchedule> validitySchedules = 
(List<RangerValiditySchedule>) value;
+               String ret = jsonUtil.readListToString(validitySchedules);
+               return ret;
+       }
 
         @SuppressWarnings("unchecked")
        private String processDataMaskPolicyItemsForTrxLog(Object value) {

Reply via email to