public static List<SearchResultEntry> getResults(LDAPConnection connection, String baseDN, String filter) throws LDAPSearchException { SearchResult searchResult; if (connection.isConnected()) { searchResult = connection.search(baseDN, SearchScope.ONE, filter); return searchResult.getSearchEntries(); } return null; }
/** * Retrieves the number of matching entries returned for the search operation * before this exception was thrown. * * @return The number of matching entries returned for the search operation * before this exception was thrown. */ public int getEntryCount() { return searchResult.getEntryCount(); }
/** * Creates a new LDAP search exception with the provided information. * * @param resultCode The result code for this LDAP search exception. * @param errorMessage The error message for this LDAP search exception. */ public LDAPSearchException(final ResultCode resultCode, final String errorMessage) { super(resultCode, errorMessage); searchResult = new SearchResult(-1, resultCode, errorMessage, null, StaticUtils.NO_STRINGS, 0, 0, StaticUtils.NO_CONTROLS); }
/** * Retrieves the FIFO entry cache monitor entries from the Directory Server. * * @param connection The connection to use to communicate with the Directory * Server. * * @return The entry cache monitor entry from the Directory Server, or * {@code null} if it is not available. * * @throws LDAPSearchException If a problem occurs while communicating with * the Directory Server. */ public static List<FIFOEntryCacheMonitorEntry> getFIFOEntryCacheMonitorEntries(final LDAPInterface connection) throws LDAPSearchException { final Filter filter = Filter.createEqualityFilter("objectClass", FIFOEntryCacheMonitorEntry.FIFO_ENTRY_CACHE_MONITOR_OC); final SearchResult searchResult = connection.search(MonitorEntry.MONITOR_BASE_DN, SearchScope.SUB, filter); final ArrayList<FIFOEntryCacheMonitorEntry> monitorEntries = new ArrayList<FIFOEntryCacheMonitorEntry>( searchResult.getEntryCount()); for (final SearchResultEntry e : searchResult.getSearchEntries()) { monitorEntries.add(new FIFOEntryCacheMonitorEntry(e)); } return Collections.unmodifiableList(monitorEntries); }
new SearchResult(messageID, ResultCode.TIMEOUT, ERR_SEARCH_CLIENT_TIMEOUT.get(responseTimeout, messageID, baseDN, scope.getName(), filter.toString(), new SearchResult(messageID, ccr.getResultCode(), ERR_CONN_CLOSED_WAITING_FOR_SEARCH_RESPONSE.get( connection.getHostPort(), toString()), new SearchResult(messageID, ccr.getResultCode(), ERR_CONN_CLOSED_WAITING_FOR_SEARCH_RESPONSE_WITH_MESSAGE. get(connection.getHostPort(), toString(), message), numEntries += searchResult.getEntryCount(); if (searchResultListener == null) entryList.addAll(searchResult.getSearchEntries()); (System.nanoTime() - requestTime)); SearchResult result = (SearchResult) response; result.setCounts(numEntries, entryList, numReferences, referenceList); if ((result.getResultCode().equals(ResultCode.REFERRAL)) && followReferrals(connection)) return new SearchResult(messageID, ResultCode.REFERRAL_LIMIT_EXCEEDED, ERR_TOO_MANY_REFERRALS.get(), result.getMatchedDN(), result.getReferralURLs(), entryList,
searchResult = new SearchResult(-1, ResultCode.SUCCESS, INFO_LDAPSEARCH_DRY_RUN_REQUEST_NOT_SENT.get( dryRun.getIdentifierString(), if (searchResult.getEntryCount() > 0) totalEntries += searchResult.getEntryCount(); if (searchResult.getReferenceCount() > 0) totalReferences += searchResult.getReferenceCount(); throw new LDAPSearchException(new SearchResult( searchResult.getMessageID(), ResultCode.CONTROL_NOT_FOUND, ERR_LDAPSEARCH_MISSING_PAGED_RESULTS_RESPONSE_CONTROL. get(), searchResult.getMatchedDN(), searchResult.getReferralURLs(), searchResult.getSearchEntries(), searchResult.getSearchReferences(), searchResult.getEntryCount(), searchResult.getReferenceCount(), searchResult.getResponseControls())); throw new LDAPSearchException(new SearchResult( searchResult.getMessageID(), ResultCode.CONTROL_NOT_FOUND, ERR_LDAPSEARCH_CANNOT_DECODE_PAGED_RESULTS_RESPONSE_CONTROL. get(StaticUtils.getExceptionMessage(le)), searchResult.getMatchedDN(), searchResult.getReferralURLs(),
new SearchResult(messageID, ccr.getResultCode(), ERR_CONN_CLOSED_WAITING_FOR_SEARCH_RESPONSE.get( connection.getHostPort(), toString()), new SearchResult(messageID, ccr.getResultCode(), ERR_CONN_CLOSED_WAITING_FOR_SEARCH_RESPONSE_WITH_MESSAGE. get(connection.getHostPort(), toString(), msg), numEntries += searchResult.getEntryCount(); if (searchResultListener == null) entryList.addAll(searchResult.getSearchEntries()); depth, result.getResultCode(), numEntries, numReferences); if (retryResult != null)
if (! result.getResultCode().equals(ResultCode.SUCCESS)) final List<SearchResultEntry> entryList = result.getSearchEntries(); if (entryList.isEmpty())
for (final SearchResultEntry e : searchResult.getSearchEntries()) if (searchResult.getResultCode() != ResultCode.SUCCESS) "' (as found in entry '" + searchEntry.getDN() + "') below '" + baseDN + "': " + searchResult.getDiagnosticMessage()); conflictCounts.get(attrName).incrementAndGet(); break baseDNLoop;
(System.nanoTime() - requestTime)); SearchResult result = (SearchResult) response; result.setCounts(numEntries, entryList, numReferences, referenceList); if ((result.getResultCode().equals(ResultCode.REFERRAL)) && followReferrals(connection)) connection.getConnectionOptions().getReferralHopLimit()) return new SearchResult(messageID, ResultCode.REFERRAL_LIMIT_EXCEEDED, ERR_TOO_MANY_REFERRALS.get(), result.getMatchedDN(), result.getReferralURLs(), entryList, referenceList, numEntries, numReferences, result.getResponseControls()); if ((result.getResultCode().equals(ResultCode.SUCCESS)) && (! intermediateResultCode.equals(ResultCode.SUCCESS))) return new SearchResult(messageID, intermediateResultCode, result.getDiagnosticMessage(), result.getMatchedDN(), result.getReferralURLs(), entryList, referenceList, numEntries, numReferences, result.getResponseControls());
buffer.append(getResultCode()); final int messageID = getMessageID(); if (messageID >= 0) final String diagnosticMessage = getDiagnosticMessage(); if (diagnosticMessage != null) final String matchedDN = getMatchedDN(); if (matchedDN != null) final String[] referralURLs = getReferralURLs(); if (referralURLs.length > 0) final Control[] responseControls = getResponseControls(); if (responseControls.length > 0)
/** * {@inheritDoc} */ public void searchResultReceived(final AsyncRequestID requestID, final SearchResult searchResult) { searchDurations.addAndGet(System.nanoTime() - startTime); if (asyncSemaphore != null) { asyncSemaphore.release(); } searchCounter.incrementAndGet(); entryCounter.addAndGet(searchResult.getEntryCount()); final ResultCode rc = searchResult.getResultCode(); if (rc != ResultCode.SUCCESS) { errorCounter.incrementAndGet(); rcCounter.increment(rc); resultCode.compareAndSet(null, rc); } } }
searchDone.set(true); nextResult.set(null); lastControls.set(r.getResponseControls()); return new LDAPException(r.getDiagnosticMessage(), r.getResultCode().intValue(), r.getDiagnosticMessage(), r.getMatchedDN());
if (searchResult.getResultCode() != ResultCode.SUCCESS) searchResult.getDiagnosticMessage()); return searchResult.getResultCode();
/** * Indicates whether there are any more search results to return. * * @return {@code true} if there are more search results to return, or * {@code false} if not. */ public boolean hasMoreElements() { final Object o = nextObject(); if (o == null) { return false; } if (o instanceof SearchResult) { final SearchResult r = (SearchResult) o; if (r.getResultCode().equals(ResultCode.SUCCESS)) { lastControls.set(r.getResponseControls()); searchDone.set(true); nextResult.set(null); return false; } } return true; }
/** * Parses the specified LDAP search result for a page cookie. * * @param sr The LDAP search result. Must not be {@code null}. * * @return The page cookie, {@code null} if not found or undefined. */ private static ASN1OctetString parsePageCookie(final SearchResult sr) { Control control = sr.getResponseControl(SimplePagedResultsControl.PAGED_RESULTS_OID); if (control instanceof SimplePagedResultsControl) { SimplePagedResultsControl spr = (SimplePagedResultsControl)control; return spr.getCookie(); } else { return null; } }
numEntries, numReferences, System.nanoTime() - createTime); final SearchResult searchResult = new SearchResult( asyncRequestID.getMessageID(), ccr.getResultCode(), message, null, StaticUtils.NO_STRINGS, numEntries, numReferences, searchResult.setCounts(numEntries, null, numReferences, null); resultListener.searchResultReceived(asyncRequestID, searchResult); asyncRequestID.setResult(searchResult);
if (! searchResult.getResultCode().equals(ResultCode.SUCCESS))
for (Control c : searchResult.getResponseControls()) {
new ArrayList<JEEnvironmentMonitorEntry>(searchResult.getEntryCount()); for (final SearchResultEntry e : searchResult.getSearchEntries())