/** * Counts the number of entries under the base DN. * * @return The entry count. */ public int countEntries() { SearchRequest request = new SearchRequest( config.ldapDirectory.baseDN.toString(), SearchScope.ONE, MATCH_ANY_FILTER, SearchRequest.NO_ATTRIBUTES); final AtomicInteger count = new AtomicInteger(); doSearch(request, entry -> count.incrementAndGet()); return count.intValue(); }
/** * Counts the number of entries under the base DN. * * @return The entry count. */ public int countEntries() { SearchRequest request = new SearchRequest( config.ldapDirectory.baseDN.toString(), SearchScope.ONE, MATCH_ANY_FILTER, SearchRequest.NO_ATTRIBUTES); final AtomicInteger count = new AtomicInteger(); doSearch(request, entry -> count.incrementAndGet()); return count.intValue(); }
/** * Retrieves all entries from the LDAP directory under the base DN that * match the specified filter. * * @param filter The LDAP search filter. Must not be {@code null}. * @param consumer Consumes the matching directory entries. Must not be * {@code null}. */ public void retrieveEntries(final Filter filter, final Consumer<ReadOnlyEntry> consumer) { SearchRequest searchRequest = new SearchRequest( config.ldapDirectory.baseDN.toString(), SearchScope.ONE, filter, SearchRequest.ALL_USER_ATTRIBUTES); doSearch(searchRequest, consumer); }
/** * Retrieves all entries from the LDAP directory under the base DN that * match the specified filter. * * @param filter The LDAP search filter. Must not be {@code null}. * @param consumer Consumes the matching directory entries. Must not be * {@code null}. */ public void retrieveEntries(final Filter filter, final Consumer<ReadOnlyEntry> consumer) { SearchRequest searchRequest = new SearchRequest( config.ldapDirectory.baseDN.toString(), SearchScope.ONE, filter, SearchRequest.ALL_USER_ATTRIBUTES); doSearch(searchRequest, consumer); }
/** * Deletes all entries under the base DN. * * @return The number of deleted entries, zero if none found. */ public int deleteEntries() { SearchRequest request = new SearchRequest( config.ldapDirectory.baseDN.toString(), SearchScope.ONE, MATCH_ANY_FILTER, SearchRequest.NO_ATTRIBUTES); List<String> entryDNs = new LinkedList<>(); doSearch(request, entry -> entryDNs.add(entry.getDN())); int count = 0; for(String dn: entryDNs) { try { if (deleteEntry(new DN(dn))) { ++count; } } catch (LDAPException e) { throw new PersistenceException(e.getMessage(), e); } } return count; }
/** * Deletes all entries under the base DN. * * @return The number of deleted entries, zero if none found. */ public int deleteEntries() { SearchRequest request = new SearchRequest( config.ldapDirectory.baseDN.toString(), SearchScope.ONE, MATCH_ANY_FILTER, SearchRequest.NO_ATTRIBUTES); List<String> entryDNs = new LinkedList<>(); doSearch(request, entry -> entryDNs.add(entry.getDN())); int count = 0; for(String dn: entryDNs) { try { if (deleteEntry(new DN(dn))) { ++count; } } catch (LDAPException e) { throw new PersistenceException(e.getMessage(), e); } } return count; }