You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2021/09/15 03:37:48 UTC
[ranger] branch master updated: RANGER-3371: Addendum patch to add
serviceType in policy json
This is an automated email from the ASF dual-hosted git repository.
pradeep pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new cbbed8b RANGER-3371: Addendum patch to add serviceType in policy json
cbbed8b is described below
commit cbbed8b07f38af56294c2b17606c45c172a40997
Author: pradeep <pr...@apache.org>
AuthorDate: Tue Sep 14 21:28:23 2021 +0530
RANGER-3371: Addendum patch to add serviceType in policy json
---
.../src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java | 3 +++
.../main/java/org/apache/ranger/service/RangerPolicyServiceBase.java | 5 +++++
.../java/org/apache/ranger/service/TestRangerPolicyServiceBase.java | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
index 16aaf30..8a1719f 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
@@ -144,6 +144,9 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
try {
policy = JsonUtils.jsonToObject(xxPolicy.getPolicyText(), RangerPolicy.class);
policy.setId(policyId);
+ if (policy.getServiceType() == null) {
+ policy.setServiceType(serviceType);
+ }
} catch (Exception e) {
LOG.error("Cannot read policy:[" + policyId + "]. Should not have come here!! Offending log-record-id:[" + logRecordId + "] and returning...", e);
ret.clear();
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
index 7ee8292..9f3b110 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
@@ -102,6 +102,11 @@ public abstract class RangerPolicyServiceBase<T extends XXPolicyBase, V extends
+ "Service Not Found : " + vObj.getService(), MessageEnums.INVALID_INPUT_DATA);
}
+ XXServiceDef xServiceDef = daoMgr.getXXServiceDef().getById(xService.getType());
+ if (xServiceDef != null) {
+ vObj.setServiceType(xServiceDef.getName());
+ }
+
String guid = vObj.getGuid();
if (StringUtils.isEmpty(guid)) {
guid = guidUtil.genGUID();
diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestRangerPolicyServiceBase.java b/security-admin/src/test/java/org/apache/ranger/service/TestRangerPolicyServiceBase.java
index ff8e908..6422866 100644
--- a/security-admin/src/test/java/org/apache/ranger/service/TestRangerPolicyServiceBase.java
+++ b/security-admin/src/test/java/org/apache/ranger/service/TestRangerPolicyServiceBase.java
@@ -148,6 +148,8 @@ public class TestRangerPolicyServiceBase {
public void test1mapViewToEntityBean() {
XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
XXService xService = Mockito.mock(XXService.class);
+ XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+ XXServiceDef xServiceDef = Mockito.mock(XXServiceDef.class);
RangerPolicy rangerPolicy = rangerPolicy();
XXPolicy policy = policy();
int OPERATION_CONTEXT = 0;
@@ -155,6 +157,8 @@ public class TestRangerPolicyServiceBase {
Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
Mockito.when(xServiceDao.findByName(rangerPolicy.getService()))
.thenReturn(xService);
+ Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+ Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
XXPolicy dbPolicy = policyService.mapViewToEntityBean(rangerPolicy,
policy, OPERATION_CONTEXT);