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

madhan 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 fa6199227 RANGER-4154: updated usersync to populate firstName for users
fa6199227 is described below

commit fa61992272007b246099b9cb47ec5e477062233e
Author: Madhan Neethiraj <[email protected]>
AuthorDate: Fri Mar 24 02:40:07 2023 -0700

    RANGER-4154: updated usersync to populate firstName for users
    
    (cherry picked from commit 8e2d48f3ddcf32596bb55e811e238ce4e795cb6c)
---
 .../main/java/org/apache/ranger/biz/XUserMgr.java  | 26 ++++++++++------------
 tagsync/pom.xml                                    | 20 +++++++++++++++++
 .../apache/ranger/ugsyncutil/model/XUserInfo.java  |  7 +++++-
 ugsync/pom.xml                                     | 20 +++++++++++++++++
 .../process/PolicyMgrUserGroupBuilder.java         |  1 +
 5 files changed, 59 insertions(+), 15 deletions(-)

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 b3aca3164..455ae0bc4 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
@@ -2615,37 +2615,35 @@ public class XUserMgr extends XUserMgrBase {
                int ret = 0;
 
                for (VXUser vXUser : users.getList()) {
-                       if (vXUser == null || vXUser.getName() == null
-                                       || 
"null".equalsIgnoreCase(vXUser.getName())
-                                       || vXUser.getName().trim().isEmpty()) {
-                               logger.warn("Ignoring invalid username " + 
vXUser==null? null : vXUser.getName());
+                       final String userName  = vXUser == null ? null : 
vXUser.getName();
+                       final String firstName = vXUser == null ? null : 
vXUser.getFirstName();
+
+                       if (userName == null || 
"null".equalsIgnoreCase(userName) || userName.trim().isEmpty()) {
+                               logger.warn("Ignoring user {}: invalid 
username", userName);
                                continue;
                        }
 
-                       String firstName = vXUser.getFirstName();
-                       if (firstName == null || 
"null".equalsIgnoreCase(firstName)
-                                       || firstName.trim().isEmpty()) {
-                               logger.warn("Ignoring invalid first name " + 
vXUser == null ? null : vXUser.getFirstName());
+                       if (firstName == null || 
"null".equalsIgnoreCase(firstName) || firstName.trim().isEmpty()) {
+                               logger.warn("Ignoring user {}: invalid 
firstName {}", userName, firstName);
                                continue;
                        }
 
-                       checkAccess(vXUser.getName());
+                       checkAccess(userName);
                        TransactionTemplate txTemplate = new 
TransactionTemplate(txManager);
                        
txTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
                        try {
                                txTemplate.execute(new 
TransactionCallback<Object>() {
                                        @Override
                                        public Object 
doInTransaction(TransactionStatus status) {
-                                               String username = 
vXUser.getName();
-                                               VXPortalUser vXPortalUser = 
userMgr.getUserProfileByLoginId(username);
+                                               VXPortalUser vXPortalUser = 
userMgr.getUserProfileByLoginId(userName);
                                                if (vXPortalUser == null) {
                                                        if 
(logger.isDebugEnabled()) {
-                                                               
logger.debug("create user " + username);
+                                                               
logger.debug("create user " + userName);
                                                        }
-                                                       createXUser(vXUser, 
username);
+                                                       createXUser(vXUser, 
userName);
                                                } else {
                                                        if 
(logger.isDebugEnabled()) {
-                                                               
logger.debug("Update user " + username);
+                                                               
logger.debug("Update user " + userName);
                                                        }
                                                        updateXUser(vXUser, 
vXPortalUser);
                                                }
diff --git a/tagsync/pom.xml b/tagsync/pom.xml
index 42498ae6b..1005a6d1c 100644
--- a/tagsync/pom.xml
+++ b/tagsync/pom.xml
@@ -95,6 +95,26 @@
             <artifactId>commons-text</artifactId>
             <version>${commons.text.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <version>${log4j2.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-to-slf4j</artifactId>
+            <version>${log4j2.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.ranger</groupId>
             <artifactId>credentialbuilder</artifactId>
diff --git 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java
index 2a2e01e1a..8012f15d9 100644
--- 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java
+++ 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java
@@ -27,6 +27,7 @@ import java.util.Map;
 public class XUserInfo {
        private String id;
        private String name;
+       private String firstName;
        private String  description;
        private String otherAttributes;
        private String syncSource;
@@ -53,6 +54,10 @@ public class XUserInfo {
                this.name = name;
        }
 
+       public String getFirstName() { return firstName; }
+
+       public void setFirstName(String firstName) { this.firstName = 
firstName; }
+
        public String getDescription() {
                return description;
        }
@@ -135,7 +140,7 @@ public class XUserInfo {
 
        @Override
     public String toString() {
-        return "XUserInfo [id=" + id + ", name=" + name + ", description="
+        return "XUserInfo [id=" + id + ", name=" + name + ", firstName=" + 
firstName + ", description="
                 + description + ", groupNameList=" + groupNameList
                 + ", userRoleList=" + userRoleList + "]";
     }
diff --git a/ugsync/pom.xml b/ugsync/pom.xml
index 12801d4e2..62e6b41ce 100644
--- a/ugsync/pom.xml
+++ b/ugsync/pom.xml
@@ -68,6 +68,26 @@
             <artifactId>commons-text</artifactId>
             <version>${commons.text.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <version>${log4j2.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-to-slf4j</artifactId>
+            <version>${log4j2.version}</version>
+        </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
diff --git 
a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
 
b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
index 0aa419f3f..aabd9edb9 100644
--- 
a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
+++ 
b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
@@ -877,6 +877,7 @@ public class PolicyMgrUserGroupBuilder extends 
AbstractUserGroupSource implement
        private XUserInfo addXUserInfo(String aUserName, Map<String, String> 
otherAttrsMap, String otherAttributes) {
                XUserInfo xuserInfo = new XUserInfo();
                xuserInfo.setName(aUserName);
+               xuserInfo.setFirstName(aUserName);
                xuserInfo.setDescription(aUserName + " - add from Unix box");
                xuserInfo.setUserSource(SOURCE_EXTERNAL);
                xuserInfo.setStatus(STATUS_ENABLED);

Reply via email to