List of usage examples for javax.naming.directory SearchControls getCountLimit
public long getCountLimit()
From source file:org.eurekastreams.server.persistence.mappers.ldap.PagedLdapSearchStrategy.java
/** * {@inheritDoc}/* w ww.j a va2 s . c o m*/ * * This method provides the implementation for searching ldap with a {@link PagedResultsDirContextProcessor}. */ @Override public void searchLdap(final LdapTemplate inLdapTemplate, final String inEncodedFilter, final SearchControls inSearchControls, final CollectingNameClassPairCallbackHandler inHandler) { PagedResultsDirContextProcessor pager = new PagedResultsDirContextProcessor(resultsPerPage); if (logger.isTraceEnabled()) { logger.trace("Beginning paged ldap search with " + resultsPerPage + " results per page. Filter: " + inEncodedFilter); } do { // Although the SearchControls object contains a limit on the max results for the // search, the paging processor works over the entire result set so the loop is // cut short manually. inLdapTemplate.search("", inEncodedFilter, inSearchControls, inHandler, pager); pager = new PagedResultsDirContextProcessor(resultsPerPage, pager.getCookie()); } while (pager.getCookie() != null && pager.getCookie().getCookie() != null && inHandler.getList().size() < inSearchControls.getCountLimit()); if (logger.isTraceEnabled()) { logger.trace("Paged ldap search complete with " + inHandler.getList().size() + " results retrieved"); } }