diff --git a/src/main/java/org/olat/ldap/manager/LDAPDAO.java b/src/main/java/org/olat/ldap/manager/LDAPDAO.java index 293a8be28e71dca2c2476b74489b912bbc1e6d97..999900a32b8e35a2f6304c64cfe22834532c01dd 100644 --- a/src/main/java/org/olat/ldap/manager/LDAPDAO.java +++ b/src/main/java/org/olat/ldap/manager/LDAPDAO.java @@ -148,21 +148,22 @@ public class LDAPDAO { NamingEnumeration<SearchResult> enm = ctx.search(ldapBase, filter, ctls); while (enm.hasMore()) { visitor.visit(enm.next()); + counter++; } - cookie = getCookie(ctx); + cookie = getCookie(ctx); } while (cookie != null); } else { ctx.setRequestControls(null); // reset on failure, see FXOLAT-299 NamingEnumeration<SearchResult> enm = ctx.search(ldapBase, filter, ctls); while (enm.hasMore()) { visitor.visit(enm.next()); + counter++; } - counter++; } } catch (SizeLimitExceededException e) { log.error("SizeLimitExceededException after " + counter - + " records when getting all users from LDAP, reconfigure your LDAP server, hints: http://www.ldapbrowser.com/forum/viewtopic.php?t=14", null); + + " records when getting all users from LDAP, reconfigure your LDAP server, hints: http://www.ldapbrowser.com/forum/viewtopic.php?t=14", e); } catch (NamingException e) { log.error("NamingException when trying to search users from LDAP using ldapBase::" + ldapBase + " on row::" + counter, e); } catch (Exception e) { @@ -277,7 +278,7 @@ public class LDAPDAO { return ldapUserList; } - private String[] getEnhancedUserAttributes() { + public String[] getEnhancedUserAttributes() { String[] userAttrs = syncConfiguration.getUserAttributes(); List<String> userAttrList = new ArrayList<>(userAttrs.length + 7); diff --git a/src/main/java/org/olat/ldap/manager/LDAPUserVisitor.java b/src/main/java/org/olat/ldap/manager/LDAPUserVisitor.java index 7d6a5618e03839ee2ddf0a441e134777a9d2b468..463df66fe28e1d4de93c1304782d1283f8952ab7 100644 --- a/src/main/java/org/olat/ldap/manager/LDAPUserVisitor.java +++ b/src/main/java/org/olat/ldap/manager/LDAPUserVisitor.java @@ -86,10 +86,12 @@ public class LDAPUserVisitor implements LDAPVisitor { Attribute groupAttr = resAttribs.get(attributeName); if(groupAttr != null && groupAttr.get() instanceof String) { String groupString = (String)groupAttr.get(); - String[] groupArr = groupString.split(attributeSeparator); - groupList = new ArrayList<>(groupArr.length); - for(String group:groupArr) { - groupList.add(group); + if(!"-".equals(groupString)) { + String[] groupArr = groupString.split(attributeSeparator); + groupList = new ArrayList<>(groupArr.length); + for(String group:groupArr) { + groupList.add(group); + } } } } catch (Exception e) {