@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 protected Response<SearchResult> invoke(final SearchRequest request) throws LdapException { Response<SearchResult> response; if (cache != null) { final SearchResult sr = cache.get(request); if (sr == null) { response = executeSearch(request); cache.put(request, response.getResult()); logger.debug("invoke stored result={} in cache", response.getResult()); } else { logger.debug("invoke found result={} in cache", sr); response = new Response<>(sr, null); } } else { response = executeSearch(request); } return response; }
/** * Creates a new search operation configured with the properties on this factory. * * @param conn to pass to the search operation * * @return search operation */ protected SearchOperation createSearchOperation(final Connection conn) { final SearchOperation op = new SearchOperation(conn); if (searchExceptionHandler != null) { op.setOperationExceptionHandler(searchExceptionHandler); } if (searchResponseHandlers != null) { op.setOperationResponseHandlers(searchResponseHandlers); } if (searchCache != null) { op.setCache(searchCache); } return op; } }
@Override protected SearchResult performLdapSearch( final AuthenticationCriteria criteria, final AuthenticationHandlerResponse response) throws LdapException { final AuthorizationIdentityResponseControl ctrl = (AuthorizationIdentityResponseControl) response.getControl( AuthorizationIdentityResponseControl.OID); if (ctrl == null) { throw new IllegalStateException("Authorization Identity Response Control not found"); } logger.debug("found authorization identity response control {}", ctrl); final String authzId = ctrl.getAuthorizationId(); final String dn = authzId.split(":", 2)[1].trim(); final SearchOperation search = createSearchOperation(response.getConnection()); return search.execute(createSearchRequest(criteria, dn)).getResult(); }
@Override protected Operation<SearchRequest, SearchResult> createReferralOperation(final Connection conn) { return new SearchOperation(conn); }
/** * Performs the ldap search. * * @param request to invoke search with * * @return ldap response * * @throws LdapException if an error occurs */ protected Response<SearchResult> executeSearch(final SearchRequest request) throws LdapException { final SearchIterator si = getConnection().getProviderConnection().search(request); final SearchResult result = readResult(request, si); final Response<Void> response = si.getResponse(); return new Response<>( result, response.getResultCode(), response.getMessage(), response.getMatchedDn(), response.getControls(), response.getReferralURLs(), response.getMessageId()); }
final SearchEntry se = item.getSearchEntry(); if (se != null) { final HandlerResult<SearchEntry> hr = executeHandlers(request.getSearchEntryHandlers(), request, se); if (hr.getResult() != null) { result.addEntry(hr.getResult()); final SearchReference sr = item.getSearchReference(); if (sr != null) { final HandlerResult<SearchReference> hr = executeHandlers( request.getSearchReferenceHandlers(), request, final IntermediateResponse ir = item.getIntermediateResponse(); if (ir != null) { final HandlerResult<IntermediateResponse> hr = executeHandlers( request.getIntermediateResponseHandlers(), request,
/** * Creates a new search operation configured with the properties on this search executor. * * @param conn to pass to the search operation * * @return search operation */ protected SearchOperation createSearchOperation(final Connection conn) { final SearchOperation op = new SearchOperation(conn); if (searchExceptionHandler != null) { op.setOperationExceptionHandler(searchExceptionHandler); } if (searchResponseHandlers != null) { op.setOperationResponseHandlers(searchResponseHandlers); } if (searchCache != null) { op.setCache(searchCache); } return op; }
@Override protected SearchResult performLdapSearch( final AuthenticationCriteria criteria, final AuthenticationHandlerResponse response) throws LdapException { final AuthorizationIdentityResponseControl ctrl = (AuthorizationIdentityResponseControl) response.getControl( AuthorizationIdentityResponseControl.OID); if (ctrl == null) { throw new IllegalStateException("Authorization Identity Response Control not found"); } logger.debug("found authorization identity response control {}", ctrl); final String authzId = ctrl.getAuthorizationId(); final String dn = authzId.split(":", 2)[1].trim(); final SearchOperation search = createSearchOperation(response.getConnection()); return search.execute(createSearchRequest(criteria, dn)).getResult(); }
@Override protected Operation<SearchRequest, SearchResult> createReferralOperation(final Connection conn) { return new SearchOperation(conn); }
/** * Performs the ldap search. * * @param request to invoke search with * * @return ldap response * * @throws LdapException if an error occurs */ protected Response<SearchResult> executeSearch(final SearchRequest request) throws LdapException { final SearchIterator si = getConnection().getProviderConnection().search(request); final SearchResult result = readResult(request, si); final Response<Void> response = si.getResponse(); return new Response<>( result, response.getResultCode(), response.getMessage(), response.getMatchedDn(), response.getControls(), response.getReferralURLs(), response.getMessageId()); }
final SearchEntry se = item.getSearchEntry(); if (se != null) { final HandlerResult<SearchEntry> hr = executeHandlers(request.getSearchEntryHandlers(), request, se); if (hr.getResult() != null) { result.addEntry(hr.getResult()); final SearchReference sr = item.getSearchReference(); if (sr != null) { final HandlerResult<SearchReference> hr = executeHandlers( request.getSearchReferenceHandlers(), request, final IntermediateResponse ir = item.getIntermediateResponse(); if (ir != null) { final HandlerResult<IntermediateResponse> hr = executeHandlers( request.getIntermediateResponseHandlers(), request,
@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; }
/** * Creates a new search operation configured with the properties on this search executor. * * @param conn to pass to the search operation * * @return search operation */ protected SearchOperation createSearchOperation(final Connection conn) { final SearchOperation op = new SearchOperation(conn); if (searchExceptionHandler != null) { op.setOperationExceptionHandler(searchExceptionHandler); } if (searchResponseHandlers != null) { op.setOperationResponseHandlers(searchResponseHandlers); } if (searchCache != null) { op.setCache(searchCache); } return op; }
@Override public Response<SearchResult> call() throws LdapException { try { conn.open(); SearchItem item; try { final Response<SearchResult> response = operation.execute(request); item = new SearchItem(response); } catch (Exception e) { item = new SearchItem(e); } try { logger.debug("received {}", item); queue.put(item); } catch (InterruptedException e1) { logger.warn("Unable to insert item {}", item); } return null; } finally { conn.close(); } } };
@Override protected Operation<SearchRequest, SearchResult> createReferralOperation(final Connection conn) { return new SearchOperation(conn); }
/** * Performs the ldap search. * * @param request to invoke search with * * @return ldap response * * @throws LdapException if an error occurs */ protected Response<SearchResult> executeSearch(final SearchRequest request) throws LdapException { final SearchIterator si = getConnection().getProviderConnection().search(request); final SearchResult result = readResult(request, si); final Response<Void> response = si.getResponse(); return new Response<>( result, response.getResultCode(), response.getMessage(), response.getMatchedDn(), response.getControls(), response.getReferralURLs(), response.getMessageId()); }
@Override protected Response<SearchResult> invoke(final SearchRequest request) throws LdapException { final Response<SearchResult> response; if (cache != null) { final SearchResult sr = cache.get(request); if (sr == null) { response = executeSearch(request); cache.put(request, response.getResult()); logger.debug("invoke stored result={} in cache", response.getResult()); } else { logger.debug("invoke found result={} in cache", sr); response = new Response<>(sr, null); } } else { response = executeSearch(request); } return response; }
final SearchEntry se = item.getSearchEntry(); if (se != null) { final HandlerResult<SearchEntry> hr = executeHandlers(request.getSearchEntryHandlers(), request, se); if (hr.getResult() != null) { result.addEntry(hr.getResult()); final SearchReference sr = item.getSearchReference(); if (sr != null) { final HandlerResult<SearchReference> hr = executeHandlers( request.getSearchReferenceHandlers(), request, final IntermediateResponse ir = item.getIntermediateResponse(); if (ir != null) { final HandlerResult<IntermediateResponse> hr = executeHandlers( request.getIntermediateResponseHandlers(), request,
@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; }