LENS-840 : LDAP config loader should be more forgiving for attribute absense


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/b3b7e5f4
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/b3b7e5f4
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/b3b7e5f4

Branch: refs/heads/LENS-581
Commit: b3b7e5f4d087be5377e0f043e00b57dfb6e4e124
Parents: 114dab3
Author: Rajat Khandelwal <pro...@apache.org>
Authored: Mon Nov 30 11:37:14 2015 +0530
Committer: Amareshwari Sriramadasu <amareshw...@apache.org>
Committed: Mon Nov 30 11:37:14 2015 +0530

----------------------------------------------------------------------
 .../lens/server/user/LDAPBackedDatabaseUserConfigLoader.java     | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/b3b7e5f4/lens-server/src/main/java/org/apache/lens/server/user/LDAPBackedDatabaseUserConfigLoader.java
----------------------------------------------------------------------
diff --git 
a/lens-server/src/main/java/org/apache/lens/server/user/LDAPBackedDatabaseUserConfigLoader.java
 
b/lens-server/src/main/java/org/apache/lens/server/user/LDAPBackedDatabaseUserConfigLoader.java
index 82b76c9..a647282 100644
--- 
a/lens-server/src/main/java/org/apache/lens/server/user/LDAPBackedDatabaseUserConfigLoader.java
+++ 
b/lens-server/src/main/java/org/apache/lens/server/user/LDAPBackedDatabaseUserConfigLoader.java
@@ -29,6 +29,7 @@ import java.util.concurrent.TimeUnit;
 import javax.naming.Context;
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
 import javax.naming.directory.SearchControls;
 import javax.naming.directory.SearchResult;
 import javax.naming.ldap.InitialLdapContext;
@@ -155,7 +156,8 @@ public class LDAPBackedDatabaseUserConfigLoader extends 
DatabaseUserConfigLoader
     String[] attributes = new String[ldapFields.length];
     SearchResult sr = findAccountByAccountName(user);
     for (int i = 0; i < attributes.length; i++) {
-      attributes[i] = sr.getAttributes().get(ldapFields[i]).get().toString();
+      Attribute attr = sr.getAttributes().get(ldapFields[i]);
+      attributes[i] = (attr == null ? null : attr.get().toString());
     }
     return attributes;
   }

Reply via email to