From 6b71591b2c874c101a22a0be5c9848c67242422d Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 30 Oct 2015 14:42:48 +0100
Subject: [PATCH] no-jira: only sync LDAP groups with a member attribute

---
 .../olat/ldap/manager/LDAPGroupVisitor.java   | 34 ++++++++++---------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/src/main/java/org/olat/ldap/manager/LDAPGroupVisitor.java b/src/main/java/org/olat/ldap/manager/LDAPGroupVisitor.java
index bc07ff0c839..95248672eea 100644
--- a/src/main/java/org/olat/ldap/manager/LDAPGroupVisitor.java
+++ b/src/main/java/org/olat/ldap/manager/LDAPGroupVisitor.java
@@ -54,24 +54,26 @@ public class LDAPGroupVisitor implements LDAPVisitor {
 		Attribute memberAttr = resAttributes.get("member");
 		Attribute cnAttr = resAttributes.get("cn");
 
-		LDAPGroup group = new LDAPGroup();
-		Object cn = cnAttr.get();
-		if(cn instanceof String) {
-			group.setCommonName((String)cn);
-		}
-		
-		List<String> members = new ArrayList<String>();
-		try {
-			for(NamingEnumeration<?> memberEn = memberAttr.getAll(); memberEn.hasMoreElements(); ) {
-				Object member = memberEn.next();
-				if(member instanceof String) {
-					members.add((String)member);
+		if(memberAttr != null) {
+			LDAPGroup group = new LDAPGroup();
+			Object cn = cnAttr.get();
+			if(cn instanceof String) {
+				group.setCommonName((String)cn);
+			}
+
+			List<String> members = new ArrayList<String>();
+			try {
+				for(NamingEnumeration<?> memberEn = memberAttr.getAll(); memberEn.hasMoreElements(); ) {
+					Object member = memberEn.next();
+					if(member instanceof String) {
+						members.add((String)member);
+					}
 				}
+			} catch (NamingException e) {
+				log.error("", e);
 			}
-		} catch (NamingException e) {
-			log.error("", e);
+			group.setMembers(members);
+			groups.add(group);
 		}
-		group.setMembers(members);
-		groups.add(group);
 	}
 }
-- 
GitLab