/** * Creates a new getDecoratedMessage() of SearchRequestDsml. * * @param codec The LDAP Service to use */ public SearchRequestDsml( LdapApiService codec ) { super( codec, new SearchRequestImpl() ); }
public SearchRequest buildSearchRequest(Map<String,Object> replace) { SearchRequest sr = new SearchRequestImpl(); try { sr.setBase(new Dn(this.base)); sr.addAttributes(this.getAttributes()); if(this.filter != null && ! "".equals(this.filter ) ){ String f = filter; for(String key:replace.keySet()) { f = f.replaceAll(key, replace.get(key).toString()); } sr.setFilter(f); } sr.setScope(SearchScope.valueOf(this.scope)); sr.setTimeLimit(this.timeLimit); } catch (Exception e) { throw new RuntimeException(e); } return sr; }
/** * {@inheritDoc} */ @Override public EntryCursor search( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { if ( baseDn == null ) { LOG.debug( "received a null dn for a search" ); throw new IllegalArgumentException( "The base Dn cannot be null" ); } // generate some random operation number SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); return new EntryCursorImpl( search( searchRequest ) ); }
/** * {@inheritDoc} */ @Override public EntryCursor search( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { if ( baseDn == null ) { if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_04138_NULL_DN_SEARCH ) ); } throw new IllegalArgumentException( I18n.err( I18n.ERR_04129_NULL_BASE_DN ) ); } // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return new EntryCursorImpl( search( searchRequest ) ); }
/** * {@inheritDoc} */ @Override public EntryCursor search( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { if ( baseDn == null ) { if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_04138_NULL_DN_SEARCH ) ); } throw new IllegalArgumentException( I18n.err( I18n.ERR_04129_NULL_BASE_DN ) ); } // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return new EntryCursorImpl( search( searchRequest ) ); }
/** * {@inheritDoc} */ @Override public EntryCursor search( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { if ( baseDn == null ) { if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_04138_NULL_DN_SEARCH ) ); } throw new IllegalArgumentException( I18n.err( I18n.ERR_04129_NULL_BASE_DN ) ); } // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return new EntryCursorImpl( search( searchRequest ) ); }
/** * {@inheritDoc} */ public void action( LdapMessageContainer<SearchRequestDecorator> container ) { // Now, we can allocate the SearchRequest Object TLV tlv = container.getCurrentTLV(); SearchRequest internalSearchRequest = new SearchRequestImpl(); internalSearchRequest.setMessageId( container.getMessageId() ); SearchRequestDecorator searchRequest = new SearchRequestDecorator( container.getLdapCodecService(), internalSearchRequest ); searchRequest.setTlvId( tlv.getId() ); container.setMessage( searchRequest ); if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_05157_SEARCH_REQUEST ) ); } } }
/** * {@inheritDoc} */ public void action( LdapMessageContainer<SearchRequestDecorator> container ) { // Now, we can allocate the SearchRequest Object TLV tlv = container.getCurrentTLV(); SearchRequest internalSearchRequest = new SearchRequestImpl(); internalSearchRequest.setMessageId( container.getMessageId() ); SearchRequestDecorator searchRequest = new SearchRequestDecorator( container.getLdapCodecService(), internalSearchRequest ); searchRequest.setTlvId( tlv.getId() ); container.setMessage( searchRequest ); if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_05157_SEARCH_REQUEST ) ); } } }
/** * {@inheritDoc} */ public void action( LdapMessageContainer<SearchRequestDecorator> container ) { // Now, we can allocate the SearchRequest Object TLV tlv = container.getCurrentTLV(); SearchRequest internalSearchRequest = new SearchRequestImpl(); internalSearchRequest.setMessageId( container.getMessageId() ); SearchRequestDecorator searchRequest = new SearchRequestDecorator( container.getLdapCodecService(), internalSearchRequest ); searchRequest.setTlvId( tlv.getId() ); container.setMessage( searchRequest ); if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_05157_SEARCH_REQUEST ) ); } } }
public List<Entry> search(final LdapConnection connection, final String filter, final int start, final int rows) throws LdapException, CursorException, IOException { connection.bind(); final SearchRequest request = new SearchRequestImpl(); request.setBase(new Dn(baseDn)); request.setFilter(filter); request.setScope(SearchScope.SUBTREE); request.setSizeLimit(start + rows); try (final SearchCursor cursor = connection.search(request)) { while (start > 0 && cursor.next()) ; final List<Entry> entries = new ArrayList<>(); while (rows > 0 && cursor.next()) entries.add(cursor.getEntry()); return entries; } }
/** * {@inheritDoc} */ @Override public SearchFuture searchAsync( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return searchAsync( searchRequest ); }
/** * {@inheritDoc} */ @Override public SearchRequest newSearchRequest( Dn baseDn, String filter, SearchScope scope, String... attributes ) { SearchRequest searchRequest = null; try { searchRequest = new SearchRequestImpl() .setBase( baseDn ) .setFilter( filter ) .setScope( scope == null ? SearchScope.OBJECT : scope ); if ( attributes != null && attributes.length > 0 ) { searchRequest.addAttributes( attributes ); } } catch ( LdapException e ) { throw new LdapRuntimeException( e ); } return searchRequest; } }
/** * {@inheritDoc} */ @Override public SearchFuture searchAsync( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return searchAsync( searchRequest ); }
/** * {@inheritDoc} */ @Override public SearchRequest newSearchRequest( Dn baseDn, String filter, SearchScope scope, String... attributes ) { SearchRequest searchRequest = null; try { searchRequest = new SearchRequestImpl() .setBase( baseDn ) .setFilter( filter ) .setScope( scope == null ? SearchScope.OBJECT : scope ); if ( attributes != null && attributes.length > 0 ) { searchRequest.addAttributes( attributes ); } } catch ( LdapException e ) { throw new LdapRuntimeException( e ); } return searchRequest; } }
/** * {@inheritDoc} */ @Override public SearchFuture searchAsync( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return searchAsync( searchRequest ); }
public int count(final LdapConnection connection, final String filter, final int max) throws LdapException, CursorException, IOException { connection.bind(); final SearchRequest request = new SearchRequestImpl(); request.setBase(new Dn(baseDn)); request.setFilter(filter); request.setScope(SearchScope.SUBTREE); request.setSizeLimit(max); try (final SearchCursor cursor = connection.search(request)) { int count = 0; while (cursor.next()) count++; return count; } }
/** * Perform normal ldap search accepting default batch size. * * @param connection is LdapConnection object used for all communication with host. * @param baseDn contains address of distinguished name to begin ldap search * @param scope indicates depth of search starting at basedn. 0 (base dn), * 1 (one level down) or 2 (infinite) are valid values. * @param filter contains the search criteria * @param attrs is the requested list of attritubutes to return from directory search. * @param attrsOnly if true pull back attribute names only. * @return result set containing ldap entries returned from directory. * @throws LdapException thrown in the event of error in ldap client or server code. */ protected SearchCursor search( LdapConnection connection, String baseDn, SearchScope scope, String filter, String[] attrs, boolean attrsOnly ) throws LdapException { COUNTERS.incrementSearch(); SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( new Dn( baseDn ) ); searchRequest.setScope( scope ); searchRequest.setFilter( filter ); searchRequest.setTypesOnly( attrsOnly ); searchRequest.addAttributes( attrs ); return connection.search( searchRequest ); }
/** * prepares a SearchRequest for syncing DIT content. * */ private void prepareSyncSearchRequest() throws LdapException { String baseDn = config.getBaseDn(); searchRequest = new SearchRequestImpl(); searchRequest.setBase( new Dn( baseDn ) ); searchRequest.setFilter( config.getFilter() ); searchRequest.setSizeLimit( config.getSearchSizeLimit() ); searchRequest.setTimeLimit( config.getSearchTimeout() ); searchRequest.setDerefAliases( config.getAliasDerefMode() ); searchRequest.setScope( config.getSearchScope() ); searchRequest.setTypesOnly( false ); searchRequest.addAttributes( config.getAttributes() ); if ( !config.isChaseReferrals() ) { searchRequest.addControl( new ManageDsaITDecorator( directoryService.getLdapCodecService(), new ManageDsaITImpl() ) ); } if ( CONSUMER_LOG.isDebugEnabled() ) { MDC.put( "Replica", Integer.toString( config.getReplicaId() ) ); CONSUMER_LOG.debug( "Configuring consumer {}", config ); } }
private SearchRequest createSearchRequest(LdapConnection connection, byte[] cookie, @NotNull String[] userAttributes) throws LdapException { SearchRequest req = new SearchRequestImpl(); req.setScope(SearchScope.SUBTREE); if (userAttributes.length == 0) { req.addAttributes(SchemaConstants.ALL_USER_ATTRIBUTES); } else { req.addAttributes(userAttributes); } req.setTimeLimit((int) config.getSearchTimeout()); req.setBase(new Dn(idConfig.getBaseDN())); req.setFilter(searchFilter); PagedResults pagedSearchControl = new PagedResultsDecorator(connection.getCodecService()); // do paged searches (OAK-2874) pagedSearchControl.setSize(1000); pagedSearchControl.setCookie(cookie); req.addControl(pagedSearchControl); return req; }
/** * Perform normal ldap search specifying default batch size and max entries to return. * * @param connection is LdapConnection object used for all communication with host. * @param baseDn contains address of distinguished name to begin ldap search * @param scope indicates depth of search starting at basedn. 0 (base dn), * 1 (one level down) or 2 (infinite) are valid values. * @param filter contains the search criteria * @param attrs is the requested list of attritubutes to return from directory search. * @param attrsOnly if true pull back attribute names only. * @param maxEntries specifies the maximum number of entries to return in this search query. * @return result set containing ldap entries returned from directory. * @throws LdapException thrown in the event of error in ldap client or server code. */ protected SearchCursor search( LdapConnection connection, String baseDn, SearchScope scope, String filter, String[] attrs, boolean attrsOnly, int maxEntries ) throws LdapException { COUNTERS.incrementSearch(); SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( new Dn( baseDn ) ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.setSizeLimit( maxEntries ); searchRequest.setTypesOnly( attrsOnly ); searchRequest.addAttributes( attrs ); return connection.search( searchRequest ); }