@Override public boolean validate(final Connection c) { boolean success = false; if (c != null) { try { final SearchOperation search = new SearchOperation(c); final SearchResult result = search.execute(searchRequest).getResult(); success = result.size() > 0; } catch (Exception e) { logger.debug("validation failed for search request {}", searchRequest, e); } } return success; }
@Override public boolean validate(final Connection c) { boolean success = false; if (c != null) { try { final SearchOperation search = new SearchOperation(c); final SearchResult result = search.execute(searchRequest).getResult(); success = result.size() > 0; } catch (Exception e) { logger.debug("validation failed for search request {}", searchRequest, e); } } return success; }
@Override public boolean validate(final Connection c) { boolean success = false; if (c != null) { try { final SearchOperation search = new SearchOperation(c); final SearchResult result = search.execute(searchRequest).getResult(); success = result.size() > 0; } catch (Exception e) { logger.debug("validation failed for search request {}", searchRequest, e); } } return success; }
Constraint.isNotNull(results, "Results can not be null"); if (results.size() == 0) { log.debug("Results did not contain any entries, nothing to map"); if (isNoResultAnError()) { } else if (results.size() > 1 && isMultipleResultsAnError()) { throw new MultipleResultAnErrorResolutionException("Multiple entries returned from search"); final Map<String,IdPAttribute> attributes = new HashMap<>(results.size());
/** {@inheritDoc} */ @Override @Nullable public StorageRecord read(@Nonnull @NotEmpty final String context, @Nonnull @NotEmpty final String key) throws IOException { SearchResult result = null; try { result = search(context, key).getResult(); } catch (LdapException e) { if (e.getResultCode() != ResultCode.NO_SUCH_OBJECT) { log.error("LDAP search operation failed", e); throw new IOException(e); } } StorageRecord record = null; if (result != null && result.size() > 0) { final LdapEntry entry = result.getEntry(); if (entry != null) { final LdapAttribute attr = entry.getAttribute(key); if (attr != null) { record = new StorageRecord(attr.getStringValue(), null); } } } return record; }
final List<IPersonAttributes> peopleAttributes = new ArrayList<>(result.size()); for (final LdapEntry entry : result.getEntries()) { final IPersonAttributes person;
final List<IPersonAttributes> peopleAttributes = new ArrayList<>(result.size()); for (final LdapEntry entry : result.getEntries()) { final IPersonAttributes person;
@Override public T find(final T object) throws LdapException { final String dn = getLdapEntryMapper().mapDn(object); String[] attrs = ReturnAttributes.ALL.value(); if (returnAttributes != null) { attrs = LdapUtils.concatArrays(attrs, returnAttributes); } final SearchRequest request = SearchRequest.newObjectScopeSearchRequest(dn, attrs); try (Connection conn = getConnectionFactory().getConnection()) { conn.open(); final SearchOperation search = new SearchOperation(conn); final Response<SearchResult> response = search.execute(request); if (response.getResult().size() == 0) { throw new IllegalArgumentException( String.format("Unable to find ldap entry %s, no entries returned: %s", dn, response)); } if (response.getResult().size() > 1) { throw new IllegalArgumentException( String.format("Unable to find ldap entry %s, multiple entries returned: %s", dn, response)); } getLdapEntryMapper().map(response.getResult().getEntry(), object); } return object; }
handler.info("ldap", "Executing LDAP query"); final SearchResult result = new MonitoredSearchOperation(connection).execute(request).getResult(); handler.info("ldap", "Result contains " + result.size() + " Roles"); if (result.size() > 100) { handler.warning("ldap", "A large number of roles was found. " + "You might want to consider to filter your results. Skipping roles mapping.");
eventConsumer.accept("ldap", "Executing LDAP query", "INFO"); final SearchResult result = new MonitoredSearchOperation(connection).execute(request).getResult(); eventConsumer.accept("ldap", "Result contains #" + result.size() + " entries", "INFO"); eventConsumer.accept("attribute", "Mapping attributes", "INFO"); return result.size() != 1 ? emptyMap() : entryToAttributes(attributes, result); } catch (final LdapException e) { throw new IllegalStateException("Can't retrieve attributes from: '" + requestConfig + "' for '" + parameters + "': " + e, e);
/** Tests default sort behavior. */ @Test(groups = {"bean"}) public void defaultSortBehavior() { final SearchResult sr = new SearchResult(); AssertJUnit.assertEquals(SortBehavior.getDefaultSortBehavior(), sr.getSortBehavior()); AssertJUnit.assertEquals(0, sr.size()); AssertJUnit.assertNull(sr.getEntry()); sr.clear(); AssertJUnit.assertEquals(0, sr.size()); }
if (result.size() == 0) { logger.debug("could not find primary group for SID {}", groupSid); } else {
/** * Tests create with a collection. * * @param entry1 ldap entry * @param entry2 ldap entry */ @Test(groups = {"bean"}, dataProvider = "entries") public void createCollection(final LdapEntry entry1, final LdapEntry entry2) { final Set<LdapEntry> s = new HashSet<>(); s.add(entry1); final SearchResult sr = new SearchResult(s); sr.addEntry(entry2); AssertJUnit.assertEquals(entry1, sr.getEntry("UID=1")); AssertJUnit.assertEquals(entry2, sr.getEntry("uid=2")); AssertJUnit.assertEquals(2, sr.getEntryDns().length); AssertJUnit.assertEquals(2, sr.size()); AssertJUnit.assertEquals(sr, new SearchResult(entry1, entry2)); sr.removeEntry("UID=1"); AssertJUnit.assertEquals(1, sr.size()); sr.clear(); AssertJUnit.assertEquals(0, sr.size()); }
/** * Tests create with two entries. * * @param entry1 ldap entry * @param entry2 ldap entry */ @Test(groups = {"bean"}, dataProvider = "entries") public void createTwo(final LdapEntry entry1, final LdapEntry entry2) { final SearchResult sr = new SearchResult(entry2, entry1); AssertJUnit.assertEquals(entry1, sr.getEntry("uid=1")); AssertJUnit.assertEquals(entry2, sr.getEntry("UID=2")); AssertJUnit.assertEquals(2, sr.getEntryDns().length); AssertJUnit.assertEquals(2, sr.size()); AssertJUnit.assertEquals(sr, new SearchResult(entry1, entry2)); sr.removeEntry(entry2); AssertJUnit.assertEquals(1, sr.size()); sr.clear(); AssertJUnit.assertEquals(0, sr.size()); }
if (result.size() == 0) { logger.debug("could not find primary group for SID {}", groupSid); } else {
if (result.size() == 0) { logger.debug("could not find primary group for SID {}", groupSid); } else {
/** * Tests sorted sort behavior. * * @param entry1 ldap entry * @param entry2 ldap entry */ @Test(groups = {"bean"}, dataProvider = "entries") public void sortedSortBehavior(final LdapEntry entry1, final LdapEntry entry2) { final SearchResult sr = new SearchResult(SortBehavior.SORTED); AssertJUnit.assertEquals(SortBehavior.SORTED, sr.getSortBehavior()); sr.addEntry(entry2, entry1); final LdapEntry[] entries = sr.getEntries().toArray(new LdapEntry[2]); AssertJUnit.assertEquals(entry1, entries[0]); AssertJUnit.assertEquals(entry2, entries[1]); sr.clear(); AssertJUnit.assertEquals(0, sr.size()); }
/** * Tests ordered sort behavior. * * @param entry1 ldap entry * @param entry2 ldap entry */ @Test(groups = {"bean"}, dataProvider = "entries") public void orderedSortBehavior(final LdapEntry entry1, final LdapEntry entry2) { final SearchResult sr = new SearchResult(SortBehavior.ORDERED); AssertJUnit.assertEquals(SortBehavior.ORDERED, sr.getSortBehavior()); sr.addEntry(entry2, entry1); final LdapEntry[] entries = sr.getEntries().toArray(new LdapEntry[2]); AssertJUnit.assertEquals(entry2, entries[0]); AssertJUnit.assertEquals(entry1, entries[1]); sr.clear(); AssertJUnit.assertEquals(0, sr.size()); }
/** * Tests create with one entry. * * @param entry1 ldap entry * @param entry2 ldap entry */ @Test(groups = {"bean"}, dataProvider = "entries") public void createOne(final LdapEntry entry1, final LdapEntry entry2) { final SearchResult sr = new SearchResult(entry1); AssertJUnit.assertEquals(entry1, sr.getEntry()); AssertJUnit.assertEquals(entry1, sr.getEntry("uid=1")); AssertJUnit.assertEquals(entry1, sr.getEntry("UID=1")); AssertJUnit.assertEquals("uid=1", sr.getEntryDns()[0]); AssertJUnit.assertEquals(1, sr.size()); AssertJUnit.assertEquals(sr, new SearchResult(entry1)); sr.clear(); AssertJUnit.assertEquals(0, sr.size()); }