You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ga...@apache.org on 2015/12/04 04:39:20 UTC
incubator-ranger git commit: RANGER-761 : Transaction logs not
getting generated under audit menu admin tab if policy name is changed
Repository: incubator-ranger
Updated Branches:
refs/heads/master d0c8e4fc8 -> 70df061dc
RANGER-761 : Transaction logs not getting generated under audit menu admin tab if policy name is changed
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/70df061d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/70df061d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/70df061d
Branch: refs/heads/master
Commit: 70df061dcaa2d670e823d44c86e7b11eb036f56d
Parents: d0c8e4f
Author: Gautam Borad <ga...@apache.org>
Authored: Thu Dec 3 10:20:59 2015 +0530
Committer: Gautam Borad <ga...@apache.org>
Committed: Fri Dec 4 09:09:01 2015 +0530
----------------------------------------------------------------------
.../ranger/service/RangerPolicyService.java | 35 ++++++++++++++++++++
1 file changed, 35 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/70df061d/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 d853972..aaadea7 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
@@ -53,6 +53,7 @@ public class RangerPolicyService extends RangerPolicyServiceBase<XXPolicy, Range
public static final String POLICY_RESOURCE_CLASS_FIELD_NAME = "resources";
public static final String POLICY_ITEM_CLASS_FIELD_NAME = "policyItems";
+ public static final String POLICY_NAME_CLASS_FIELD_NAME = "name";
static HashMap<String, VTrxLogAttr> trxLogAttrs = new HashMap<String, VTrxLogAttr>();
String actionCreate;
@@ -178,6 +179,8 @@ public class RangerPolicyService extends RangerPolicyServiceBase<XXPolicy, Range
value = processPolicyResourcesForTrxLog(field.get(vObj));
} else if (fieldName.equalsIgnoreCase(POLICY_ITEM_CLASS_FIELD_NAME)) {
value = processPolicyItemsForTrxLog(field.get(vObj));
+ } else if (fieldName.equalsIgnoreCase(POLICY_NAME_CLASS_FIELD_NAME)){
+ value = processPolicyNameForTrxLog(field.get(vObj));
} else {
value = "" + field.get(vObj);
}
@@ -216,6 +219,10 @@ public class RangerPolicyService extends RangerPolicyServiceBase<XXPolicy, Range
if (oldPolicy != null) {
oldValue = processPolicyItemsForTrxLog(oldPolicy.getPolicyItems());
}
+ } else if (fieldName.equalsIgnoreCase(POLICY_NAME_CLASS_FIELD_NAME)){
+ if (oldPolicy != null) {
+ oldValue = processPolicyNameForTrxLog(oldPolicy.getName());
+ }
}
if (oldValue == null || value.equalsIgnoreCase(oldValue)) {
return null;
@@ -229,6 +236,11 @@ public class RangerPolicyService extends RangerPolicyServiceBase<XXPolicy, Range
if(compareTwoPolicyItemList(value, oldValue)) {
return null;
}
+ } else if (fieldName.equalsIgnoreCase(POLICY_NAME_CLASS_FIELD_NAME)) {
+ //compare old and new policyName
+ if(compareTwoPolicyName(value, oldValue)) {
+ return null;
+ }
}
xTrxLog.setPreviousValue(oldValue);
xTrxLog.setNewValue(value);
@@ -368,4 +380,27 @@ public class RangerPolicyService extends RangerPolicyServiceBase<XXPolicy, Range
return ret;
}
+ private boolean compareTwoPolicyName(String value, String oldValue) {
+ if (value==null && oldValue==null) {
+ return org.apache.commons.lang.StringUtils.equals(value, oldValue);
+ }
+ if (value!=null && oldValue!=null && value.trim().isEmpty() && oldValue.trim().isEmpty()) {
+ return true;
+ }
+ if (stringUtil.isEmpty(value) || stringUtil.isEmpty(oldValue)) {
+ return false;
+ }
+ if(!value.equals(oldValue)) {
+ return false;
+ }
+ return true;
+ }
+
+ private String processPolicyNameForTrxLog(Object value) {
+ if (value == null) {
+ return "";
+ }
+ String name = (String) value;
+ return name;
+ }
}