This is an automated email from the ASF dual-hosted git repository.

dineshkumar 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 2661bc874 Revert "RANGER-5209 : User source is not getting updated on 
the Ranger Access Audit page"
2661bc874 is described below

commit 2661bc874ebda346256316fcba8e6003872492c8
Author: Dineshkumar Yadav <dineshkumar.ya...@outlook.com>
AuthorDate: Mon Jun 23 11:53:16 2025 +0530

    Revert "RANGER-5209 : User source is not getting updated on the Ranger 
Access Audit page"
    
    This reverts commit afe56fe7be0cbf62d6bba833be314c8781a01684.
---
 .../ranger/plugin/util/RangerCommonConstants.java  |  1 -
 .../main/java/org/apache/ranger/biz/XUserMgr.java  | 29 --------
 .../main/java/org/apache/ranger/db/XXUserDao.java  |  5 --
 .../java/org/apache/ranger/rest/AssetREST.java     |  6 --
 .../java/org/apache/ranger/view/VXAccessAudit.java | 14 ----
 .../main/webapp/react-webapp/src/utils/XAUtils.js  |  9 ---
 .../src/views/AuditEvent/AccessLogs.jsx            | 21 ++----
 .../java/org/apache/ranger/biz/TestXUserMgr.java   | 79 ----------------------
 .../java/org/apache/ranger/rest/TestAssetREST.java |  5 --
 9 files changed, 7 insertions(+), 162 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
index 0066019c4..97f61b495 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
@@ -68,7 +68,6 @@ public class RangerCommonConstants {
     public static final String  SCRIPT_FIELD__MATCH_TYPE                       
      = "_matchType";
     public static final String  SCRIPT_FIELD__NAME                             
      = "_name";
     public static final String  SCRIPT_FIELD__SYNC_SOURCE                      
      = "_syncSource";
-    public static final String  SCRIPT_FIELD__USER_SOURCE                      
      = "_userSource";
     public static final String  SCRIPT_FIELD__IS_INTERNAL                      
      = "_isInternal";
     public static final String  SCRIPT_FIELD__EMAIL_ADDRESS                    
      = "_emailAddress";
     public static final String  SCRIPT_FIELD__OWNER_USER                       
      = "_ownerUser";
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java 
b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index 66114dd49..e415924fa 100755
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -79,7 +79,6 @@
 import org.apache.ranger.plugin.model.UserInfo;
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
 import org.apache.ranger.plugin.util.PasswordUtils.PasswordGenerator;
-import org.apache.ranger.plugin.util.RangerCommonConstants;
 import org.apache.ranger.plugin.util.RangerUserStore;
 import org.apache.ranger.service.RangerPolicyService;
 import org.apache.ranger.service.XPortalUserService;
@@ -87,7 +86,6 @@
 import org.apache.ranger.service.XUgsyncAuditInfoService;
 import org.apache.ranger.ugsyncutil.model.GroupUserInfo;
 import org.apache.ranger.ugsyncutil.model.UsersGroupRoleAssignments;
-import org.apache.ranger.view.VXAccessAudit;
 import org.apache.ranger.view.VXAuditMap;
 import org.apache.ranger.view.VXAuditMapList;
 import org.apache.ranger.view.VXGroup;
@@ -2823,33 +2821,6 @@ public RangerUserStore getRangerUserStoreIfUpdated(Long 
lastKnownUserStoreVersio
         return ret;
     }
 
-    public void setAccessAuditsUserSource(List<VXAccessAudit> vxAccessAudits) {
-        Long lastKnownUserStoreVersion = 1L;
-
-        if (vxAccessAudits != null) {
-            RangerUserStore latestUserStore = 
getRangerUserStoreIfUpdated(lastKnownUserStoreVersion);
-            if (latestUserStore != null) {
-                Map<String, Map<String, String>> userAttrMapping = 
latestUserStore.getUserAttrMapping();
-
-                for (VXAccessAudit vxAccessAudit : vxAccessAudits) {
-                    String              requestUser    = 
vxAccessAudit.getRequestUser();
-                    Map<String, String> userAttributes = 
userAttrMapping.getOrDefault(vxAccessAudit.getRequestUser(), 
Collections.emptyMap());
-
-                    if (MapUtils.isNotEmpty(userAttributes)) {
-                        String userSourceStr = 
userAttributes.get(RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE);
-                        if (userSourceStr != null) {
-                            try {
-                                
vxAccessAudit.setUserSource(Integer.parseInt(userSourceStr));
-                            } catch (NumberFormatException e) {
-                                
logger.error("XUserMgr.setAccessAuditsUserSource() : could not parse [{}] as 
Integer!", userSourceStr, e); // ignore
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
     public int createOrUpdateXUsers(VXUserList users) {
         logger.debug("==> createOrUpdateXUsers(): Started");
 
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java 
b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
index 2b5d58d4a..520241268 100755
--- a/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
@@ -43,7 +43,6 @@
 import static 
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__EMAIL_ADDRESS;
 import static 
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__IS_INTERNAL;
 import static 
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__SYNC_SOURCE;
-import static 
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE;
 
 @Service
 public class XXUserDao extends BaseDao<XXUser> {
@@ -214,10 +213,6 @@ private UserInfo toUserInfo(Object[] row) {
 
         attrMap.put(SCRIPT_FIELD__IS_INTERNAL, Boolean.toString(isInternal));
 
-        if (userSource != null) {
-            attrMap.put(SCRIPT_FIELD__USER_SOURCE, String.valueOf(userSource));
-        }
-
         return new UserInfo(name, description, attrMap);
     }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index 68ed5c097..46ee557c1 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -23,7 +23,6 @@
 import org.apache.ranger.admin.client.datatype.RESTResponse;
 import org.apache.ranger.biz.AssetMgr;
 import org.apache.ranger.biz.RangerBizUtil;
-import org.apache.ranger.biz.XUserMgr;
 import org.apache.ranger.common.RESTErrorUtil;
 import org.apache.ranger.common.RangerSearchUtil;
 import org.apache.ranger.common.SearchCriteria;
@@ -143,9 +142,6 @@ public class AssetREST {
     @Autowired
     RangerDaoManager daoManager;
 
-    @Autowired
-    XUserMgr xUserMgr;
-
     @GET
     @Path("/assets/{id}")
     @Produces("application/json")
@@ -600,8 +596,6 @@ public VXAccessAuditList getAccessLogs(@Context 
HttpServletRequest request, @Que
             vxAccessAuditList.getVXAccessAudits().forEach(vxAccessAudit -> 
vxAccessAudit.setZonedEventTime(new 
SimpleDateFormat(RestUtil.ZONED_EVENT_TIME_FORMAT).format(vxAccessAudit.getEventTime())));
         }
 
-        
xUserMgr.setAccessAuditsUserSource(vxAccessAuditList.getVXAccessAudits());
-
         return vxAccessAuditList;
     }
 
diff --git 
a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java 
b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
index 43c14733a..49a4f8d39 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
@@ -158,11 +158,6 @@ public class VXAccessAudit extends VXDataObject implements 
java.io.Serializable
     //Zoned Event Time
     protected String zonedEventTime;
 
-    /**
-     * userSource
-     */
-    protected int    userSource;
-
     /**
      * Default constructor. This will set all the attributes to default value.
      */
@@ -636,7 +631,6 @@ public String toString() {
         str += "agentHost={" + agentHost + "}";
         str += "eventId={" + eventId + "}";
         str += "zonedEventTime={" + zonedEventTime + "} ";
-        str += "userSource={" + userSource + "} ";
         str += "}";
         return str;
     }
@@ -703,12 +697,4 @@ public String getZonedEventTime() {
     public void setZonedEventTime(String zonedEventTime) {
         this.zonedEventTime = zonedEventTime;
     }
-
-    public int getUserSource() {
-        return userSource;
-    }
-
-    public void setUserSource(int userSource) {
-        this.userSource = userSource;
-    }
 }
diff --git a/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js 
b/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js
index 0abd809b8..21a163531 100644
--- a/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js
+++ b/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js
@@ -1585,12 +1585,3 @@ export const currentTimeZone = (timeZoneDate) => {
         .replace(/^.*GMT.*\(/, "")
         .replace(/\)$/, "");
 };
-
-export const isEmptyValueCheck = (value) => {
-  return (
-    value == null ||
-    (typeof value === "string" && value.trim() === "") ||
-    (Array.isArray(value) && value.length === 0) ||
-    (typeof value === "object" && Object.keys(value).length === 0)
-  );
-};
diff --git 
a/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
 
b/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
index 820861929..b5cae7a59 100644
--- 
a/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
+++ 
b/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
@@ -58,8 +58,7 @@ import {
   serverError,
   requestDataTitle,
   fetchSearchFilterParams,
-  parseSearchFilter,
-  isEmptyValueCheck
+  parseSearchFilter
 } from "../../utils/XAUtils";
 import { CustomTooltip, Loader } from "../../components/CommonComponents";
 import {
@@ -531,19 +530,13 @@ function Access() {
         Header: "User Source",
         accessor: "userSource",
         Cell: (rawValue) => {
-          if (!isEmptyValueCheck(rawValue?.value)) {
+          if (!isEmpty(rawValue?.value)) {
             const userSourceVal = find(UserTypes, { value: rawValue.value });
-            if (userSourceVal) {
-              return (
-                <h6 className="text-center">
-                  <Badge bg={userSourceVal.variant}>
-                    {userSourceVal.label}
-                  </Badge>
-                </h6>
-              );
-            } else {
-              return "--";
-            }
+            return (
+              <h6 className="text-center">
+                <Badge bg={userSourceVal.variant}>{userSourceVal.label}</Badge>
+              </h6>
+            );
           } else return "--";
         },
         width: 100,
diff --git 
a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java 
b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
index 1d4714b06..699e4ce1f 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
@@ -75,8 +75,6 @@
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import org.apache.ranger.plugin.model.RangerSecurityZone;
 import org.apache.ranger.plugin.model.UserInfo;
-import org.apache.ranger.plugin.util.RangerCommonConstants;
-import org.apache.ranger.plugin.util.RangerUserStore;
 import org.apache.ranger.security.context.RangerContextHolder;
 import org.apache.ranger.security.context.RangerSecurityContext;
 import org.apache.ranger.service.RangerPolicyService;
@@ -94,7 +92,6 @@
 import org.apache.ranger.service.XUserService;
 import org.apache.ranger.ugsyncutil.model.GroupUserInfo;
 import org.apache.ranger.ugsyncutil.model.UsersGroupRoleAssignments;
-import org.apache.ranger.view.VXAccessAudit;
 import org.apache.ranger.view.VXAuditMap;
 import org.apache.ranger.view.VXAuditMapList;
 import org.apache.ranger.view.VXGroup;
@@ -137,7 +134,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -4320,81 +4316,6 @@ public void test132CreateExternalUser() {
         Assert.assertEquals(createdXUser.getName(), vXUser.getName());
     }
 
-    @Test
-    public void testSetAccessAuditsUserSource_WhenValidUserMappingExists() {
-        destroySession();
-        setup();
-        VXAccessAudit audit = new VXAccessAudit();
-        audit.setRequestUser("tom");
-
-        List<VXAccessAudit> auditList = Collections.singletonList(audit);
-
-        Map<String, String> userAttributes = new HashMap<>();
-        userAttributes.put(RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE, 
"5");
-
-        Map<String, Map<String, String>> attrMap = new HashMap<>();
-        attrMap.put("tom", userAttributes);
-        RangerUserStore rangerUserStore = Mockito.mock(RangerUserStore.class);
-        rangerUserStore.setUserAttrMapping(attrMap);
-        XUserMgr spyXUserMgr = Mockito.spy(xUserMgr);
-        
Mockito.doReturn(rangerUserStore).when(spyXUserMgr).getRangerUserStoreIfUpdated(1L);
-        Mockito.when(rangerUserStore.getUserAttrMapping()).thenReturn(attrMap);
-
-        spyXUserMgr.setAccessAuditsUserSource(auditList);
-
-        Assert.assertEquals(5, audit.getUserSource());
-    }
-
-    @Test
-    public void testSetAccessAuditsUserSource_WhenUserMappingDoesNotExist() {
-        destroySession();
-        setup();
-        VXAccessAudit audit = new VXAccessAudit();
-        audit.setRequestUser("unknownUser");
-
-        List<VXAccessAudit> auditList = Collections.singletonList(audit);
-
-        Map<String, String> userAttributes = new HashMap<>();
-        userAttributes.put(RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE, 
"5");
-
-        Map<String, Map<String, String>> attrMap = new HashMap<>();
-        attrMap.put("tom", userAttributes);
-        RangerUserStore rangerUserStore = Mockito.mock(RangerUserStore.class);
-        rangerUserStore.setUserAttrMapping(attrMap);
-        XUserMgr spyXUserMgr = Mockito.spy(xUserMgr);
-        
Mockito.doReturn(rangerUserStore).when(spyXUserMgr).getRangerUserStoreIfUpdated(1L);
-        Mockito.when(rangerUserStore.getUserAttrMapping()).thenReturn(attrMap);
-
-        spyXUserMgr.setAccessAuditsUserSource(auditList);
-
-        Assert.assertEquals(0, audit.getUserSource());
-    }
-
-    @Test
-    public void testSetAccessAuditsUserSource_WhenUserSourceKeyIsMissing() {
-        destroySession();
-        setup();
-
-        VXAccessAudit audit = new VXAccessAudit();
-        audit.setRequestUser("tom");
-
-        List<VXAccessAudit> auditList = Collections.singletonList(audit);
-
-        Map<String, String> userAttributes = new HashMap<>();
-
-        Map<String, Map<String, String>> attrMap = new HashMap<>();
-        attrMap.put("tom", userAttributes);
-        RangerUserStore rangerUserStore = Mockito.mock(RangerUserStore.class);
-        rangerUserStore.setUserAttrMapping(attrMap);
-        XUserMgr spyXUserMgr = Mockito.spy(xUserMgr);
-        
Mockito.doReturn(rangerUserStore).when(spyXUserMgr).getRangerUserStoreIfUpdated(1L);
-        Mockito.when(rangerUserStore.getUserAttrMapping()).thenReturn(attrMap);
-
-        spyXUserMgr.setAccessAuditsUserSource(auditList);
-
-        Assert.assertEquals(0, audit.getUserSource());
-    }
-
     @Test
     public void test01CreateXUser_federated() {
         destroySession();
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
index 2967297a8..04ef82613 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
@@ -20,7 +20,6 @@
 import org.apache.ranger.admin.client.datatype.RESTResponse;
 import org.apache.ranger.biz.AssetMgr;
 import org.apache.ranger.biz.RangerBizUtil;
-import org.apache.ranger.biz.XUserMgr;
 import org.apache.ranger.common.RESTErrorUtil;
 import org.apache.ranger.common.RangerSearchUtil;
 import org.apache.ranger.common.SearchCriteria;
@@ -121,8 +120,6 @@ public class TestAssetREST {
     RangerBizUtil msBizUtil;
     @Mock
     RangerDaoManager daoManager;
-    @Mock
-    XUserMgr xUserMgr;
     @InjectMocks
     AssetREST assetREST = new AssetREST();
     @Mock        RESTErrorUtil           restErrorUtil;
@@ -565,7 +562,6 @@ public void testGetAccessLogs() {
         Mockito.when(daoManager.getXXServiceDef()).thenReturn(xxServiceDefDao);
         XXServiceDef xServiceDef = new XXServiceDef();
         xServiceDef.setId(Id);
-        
xUserMgr.setAccessAuditsUserSource(vXAccessAuditList.getVXAccessAudits());
         
Mockito.when(xxServiceDefDao.findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_KMS_NAME)).thenReturn(xServiceDef);
         
Mockito.when(assetMgr.getAccessLogs(searchCriteria)).thenReturn(vXAccessAuditList);
         VXAccessAuditList expectedVXAccessAuditList = 
assetREST.getAccessLogs(request, null);
@@ -601,7 +597,6 @@ public void testGetAccessLogsForKms() {
         Mockito.when(daoManager.getXXServiceDef()).thenReturn(xxServiceDefDao);
         XXServiceDef xServiceDef = new XXServiceDef();
         xServiceDef.setId(Id);
-        
xUserMgr.setAccessAuditsUserSource(vXAccessAuditList.getVXAccessAudits());
         
Mockito.when(xxServiceDefDao.findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_KMS_NAME)).thenReturn(xServiceDef);
         
Mockito.when(assetMgr.getAccessLogs(searchCriteria)).thenReturn(vXAccessAuditList);
         VXAccessAuditList expectedVXAccessAuditList = 
assetREST.getAccessLogs(request, null);

Reply via email to