/** * Returns an ldap search constraints object configured with the supplied search request. * * @param sr search request containing configuration to create search constraints * @return ldap search constraints */ protected LDAPSearchConstraints getLDAPSearchConstraints(final SearchRequest sr) { LDAPSearchConstraints constraints = connection.getSearchConstraints(); if (constraints == null) { constraints = new LDAPSearchConstraints(); } constraints.setServerTimeLimit(Long.valueOf(sr.getTimeLimit()).intValue()); constraints.setMaxResults(Long.valueOf(sr.getSizeLimit()).intValue()); if (sr.getDerefAliases() != null) { if (sr.getDerefAliases() == DerefAliases.ALWAYS) { constraints.setDereference(LDAPSearchConstraints.DEREF_ALWAYS); } else if (sr.getDerefAliases() == DerefAliases.FINDING) { constraints.setDereference(LDAPSearchConstraints.DEREF_FINDING); } else if (sr.getDerefAliases() == DerefAliases.NEVER) { constraints.setDereference(LDAPSearchConstraints.DEREF_NEVER); } else if (sr.getDerefAliases() == DerefAliases.SEARCHING) { constraints.setDereference(LDAPSearchConstraints.DEREF_SEARCHING); } } constraints.setReferralFollowing(sr.getFollowReferrals()); return constraints; }