You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ab...@apache.org on 2018/03/14 18:29:49 UTC

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

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 <ak...@hortonworks.com>
Authored: Wed Mar 14 11:09:05 2018 -0700
Committer: Abhay Kulkarni <ak...@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) {