@Override protected Operation<SearchRequest, SearchResult> createReferralOperation(final Connection conn) { return new SearchOperation(conn); }
@Override protected Operation<SearchRequest, SearchResult> createReferralOperation(final Connection conn) { return new SearchOperation(conn); }
@Override protected Operation<SearchRequest, SearchResult> createReferralOperation(final Connection conn) { return new SearchOperation(conn); }
@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; }
/** * Executes a object level {@link SearchOperation} on the supplied DN, returning the supplied attributes. * * @param dn to search on * @param attrs to return * * @return response for the search operation * * @throws LdapException if the operation fails */ @Nonnull private Response<SearchResult> search(@Nonnull final String dn, final String... attrs) throws LdapException { Connection conn = null; try { conn = connectionFactory.getConnection(); final SearchOperation search = new SearchOperation(conn); return search.execute(SearchRequest.newObjectScopeSearchRequest(dn, attrs)); } finally { conn.close(); } }
/** * Executes the ldap search operation. * * @param cf connection factory * @param request search request * * @return status code * * @throws Exception on any LDAP search error */ protected int search(final ConnectionFactory cf, final SearchRequest request) throws Exception { final Connection conn = cf.getConnection(); conn.open(); final SearchOperation op = new SearchOperation(conn); final Response<SearchResult> response = op.execute(request); final SearchResult result = response.getResult(); SearchResultWriter writer; if (outputDsmlv1) { writer = new Dsmlv1Writer(new BufferedWriter(new OutputStreamWriter(System.out))); } else { writer = new LdifWriter(new BufferedWriter(new OutputStreamWriter(System.out))); } writer.write(result); conn.close(); return response.getResultCode().value(); }
/** * 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; } }
/** * 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; }
/** * 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; }
/** * Performs a search operation with the {@link org.ldaptive.control.VirtualListViewRequestControl}. The supplied * request is modified in the following way: * * <ul> * <li>{@link SearchRequest#setControls( org.ldaptive.control.RequestControl...)} is invoked with {@link * SortRequestControl} and {@link org.ldaptive.control.VirtualListViewRequestControl}</li> * </ul> * * @param request search request to execute * @param params virtual list view data * * @return search operation response * * @throws LdapException if the search fails */ public Response<SearchResult> execute(final SearchRequest request, final VirtualListViewParams params) throws LdapException { final SearchOperation search = new SearchOperation(connection); request.setControls(sortControl, params.createRequestControl(true)); return search.execute(request); }
/** * 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; } }
/** * 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; }
/** * Performs a search operation with the {@link org.ldaptive.control.VirtualListViewRequestControl}. The supplied * request is modified in the following way: * * <ul> * <li>{@link SearchRequest#setControls( org.ldaptive.control.RequestControl...)} is invoked with {@link * SortRequestControl} and {@link org.ldaptive.control.VirtualListViewRequestControl}</li> * </ul> * * @param request search request to execute * @param params virtual list view data * * @return search operation response * * @throws LdapException if the search fails */ public Response<SearchResult> execute(final SearchRequest request, final VirtualListViewParams params) throws LdapException { final SearchOperation search = new SearchOperation(connection); request.setControls(sortControl, params.createRequestControl(true)); return search.execute(request); }
/** * Performs a search operation with the {@link org.ldaptive.control.VirtualListViewRequestControl}. The supplied * request is modified in the following way: * * <ul> * <li>{@link SearchRequest#setControls( org.ldaptive.control.RequestControl...)} is invoked with {@link * SortRequestControl} and {@link org.ldaptive.control.VirtualListViewRequestControl}</li> * </ul> * * @param request search request to execute * @param params virtual list view data * * @return search operation response * * @throws LdapException if the search fails */ public Response<SearchResult> execute(final SearchRequest request, final VirtualListViewParams params) throws LdapException { final SearchOperation search = new SearchOperation(connection); request.setControls(sortControl, params.createRequestControl(true)); return search.execute(request); }
/** * 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 List<Map<String, Object>> read(final List<String> names, final String key, final String value) { final List<Map<String, Object>> listAttributes = new ArrayList<>(); Connection connection = null; try { connection = connectionFactory.getConnection(); connection.open(); final SearchOperation search = new SearchOperation(connection); final SearchResult result = search.execute(new SearchRequest(usersDn,key + "=" + value, names.toArray(new String[names.size()]))).getResult(); for (final LdapEntry entry : result.getEntries()) { listAttributes.add(getAttributesFromEntry(entry)); } } catch (final LdapException e) { throw new TechnicalException(e); } finally { if (connection != null) { connection.close(); } } return listAttributes; }
/** * Execute search operation. * * @param connectionFactory the connection factory * @param baseDn the base dn * @param filter the filter * @return the response * @throws LdapException the ldap exception */ public static Response<SearchResult> executeSearchOperation(final ConnectionFactory connectionFactory, final String baseDn, final SearchFilter filter) throws LdapException { try (Connection connection = createConnection(connectionFactory)) { final SearchOperation searchOperation = new SearchOperation(connection); final SearchRequest request = createSearchRequest(baseDn, filter); request.setReferralHandler(new SearchReferralHandler()); return searchOperation.execute(request); } }
@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; }