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);