Server Side Sorting

Request that the server sort results before returning them to the client. See RFC 2891. The SortKey class accepts three parameters that control the sorting:

Connection conn = DefaultConnectionFactory.getConnection("ldap://directory.ldaptive.org");
try {
  conn.open();
  SearchOperation search = new SearchOperation(conn);
  SearchRequest request = new SearchRequest("dc=ldaptive,dc=org","(givenName=d*)", "cn", "sn");
  SortRequestControl src = new SortRequestControl(new SortKey[] {new SortKey("sn", "caseExactMatch")}, true); // sort by surname
  request.setControls(src);
  SearchResult result = search.execute(request).getResult();
  for (LdapEntry entry : result.getEntries()) {
    // do something useful with the entry
  }

} finally {
  conn.close();
}

Provider Support

JNDI JLDAP Apache LDAP UnboundID OpenDJ
✓ ✓ ✓ ✓ ✓
✓ Functionality exists in the provider API and has been confirmed
✗ Functionality does not exist in the provider API
✶ Functionality exists in the provider API, but did not work in our test environment
? Functionality exists in the provider API, but has not been integrated into the ldaptive provider