/** * We need to make sure the search controls has the return object flag set to true, in * order for the search to return DirContextAdapter instances. * @param originalControls * @return */ private static SearchControls buildControls(SearchControls originalControls) { return new SearchControls(originalControls.getSearchScope(), originalControls.getCountLimit(), originalControls.getTimeLimit(), originalControls.getReturningAttributes(), RETURN_OBJECT, originalControls.getDerefLinkFlag()); }
/** * We need to make sure the search controls has the return object flag set to true, in order for * the search to return DirContextAdapter instances. * @param originalControls * @return */ private static SearchControls buildControls(SearchControls originalControls) { return new SearchControls(originalControls.getSearchScope(), originalControls.getCountLimit(), originalControls.getTimeLimit(), originalControls.getReturningAttributes(), RETURN_OBJECT, originalControls.getDerefLinkFlag()); }
@Test public void testQueryBuilderFilter() { Query q = Query.builder() .filter("test <uid_attr>=<value> query") .map("uid_attr", "uid") .map("value", "Hello!") .build(); assertEquals("test uid=Hello! query", q.getFilter()); assertEquals(0, q.getControls().getCountLimit()); }
@Test public void testQueryBuilderLimit() { Query q = Query.builder() .filter("<key1>,<key2>") .map("key1", "value1") .map("key2", "value2") .limit(8) .build(); assertEquals("value1,value2", q.getFilter()); assertEquals(8, q.getControls().getCountLimit()); }
public boolean accept( Invocation invocation, SearchResult result, SearchControls controls ) throws NamingException { if ( controls.getTimeLimit() > 0 ) { long runtime = System.currentTimeMillis() - startTime; if ( runtime > controls.getTimeLimit() ) { throw new LdapTimeLimitExceededException(); } } if ( controls.getCountLimit() > 0 ) { if ( count > controls.getCountLimit() ) { throw new LdapSizeLimitExceededException(); } } count++; return true; } } );
/** * We need to make sure the search controls has the return object flag set to true, in * order for the search to return DirContextAdapter instances. * @param originalControls * @return */ private static SearchControls buildControls(SearchControls originalControls) { return new SearchControls(originalControls.getSearchScope(), originalControls.getCountLimit(), originalControls.getTimeLimit(), originalControls.getReturningAttributes(), RETURN_OBJECT, originalControls.getDerefLinkFlag()); }
if ( searchCtls.getTimeLimit() + searchCtls.getCountLimit() > 0 )
final long lim = cons.getCountLimit() == 0 ? Long.MAX_VALUE : cons .getCountLimit(); final String[] fa = cons.getReturningAttributes(); final int scope = cons.getSearchScope();
/** * Creates a search request from a search filter. * * @param filter LDAP search filter. * @return ldaptive search request. */ private SearchRequest createRequest(final SearchFilter filter) { final SearchRequest request = new SearchRequest(); request.setBaseDn(this.baseDN); request.setSearchFilter(filter); /** LDAP attributes to fetch from search results. */ if (getResultAttributeMapping() != null && !getResultAttributeMapping().isEmpty()) { final String[] attributes = getResultAttributeMapping().keySet().toArray(new String[getResultAttributeMapping().size()]); request.setReturnAttributes(attributes); } else if (searchControls.getReturningAttributes() != null && searchControls.getReturningAttributes().length > 0) { request.setReturnAttributes(searchControls.getReturningAttributes()); } else { request.setReturnAttributes(ReturnAttributes.ALL_USER.value()); } request.setSearchScope(this.searchScope); request.setSizeLimit(this.searchControls.getCountLimit()); request.setTimeLimit(Duration.ofSeconds(searchControls.getTimeLimit())); return request; }
aliasesDereferencingMethod, searchControls.getCountLimit(), searchControls.getTimeLimit(), filter, searchControls.getReturningAttributes() ); lines.add( LdifCommentLine.create( "# scope : " + scopeAsString ) ); //$NON-NLS-1$ lines.add( LdifCommentLine.create( "# derefAliases : " + aliasAsString ) ); //$NON-NLS-1$ lines.add( LdifCommentLine.create( "# sizeLimit : " + searchControls.getCountLimit() ) ); //$NON-NLS-1$ lines.add( LdifCommentLine.create( "# timeLimit : " + searchControls.getTimeLimit() ) ); //$NON-NLS-1$ lines.add( LdifCommentLine.create( "# typesOnly : " + "False" ) ); //$NON-NLS-1$ //$NON-NLS-2$
int index = 0; boolean doNext = true; if (handler.getMaxCount() > 0 && controls.getCountLimit() <= 0 || handler.getMaxCount()+1 < controls.getCountLimit())
/** * Creates a search request from a search filter. * * @param filter LDAP search filter. * * @return ldaptive search request. */ private SearchRequest createRequest(final SearchFilter filter) { final SearchRequest request = new SearchRequest(); request.setBaseDn(this.baseDN); request.setSearchFilter(filter); request.setReturnAttributes(this.attributes); request.setSearchScope(this.searchScope); request.setSizeLimit(this.searchControls.getCountLimit()); request.setTimeLimit(this.searchControls.getTimeLimit()); return request; }
/** * Creates a new instance of SearchOperationContext. * * @param session The session to use * @param dn the dn of the search base * @param filter the filter AST to use for the search * @param searchControls the search controls */ public SearchOperationContext( CoreSession session, Dn dn, ExprNode filter, SearchControls searchControls ) { super( session, dn, searchControls.getReturningAttributes() ); this.filter = filter; scope = SearchScope.getSearchScope( searchControls.getSearchScope() ); timeLimit = searchControls.getTimeLimit(); sizeLimit = searchControls.getCountLimit(); typesOnly = searchControls.getReturningObjFlag(); if ( session != null ) { setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.SEARCH ) ); } }
@Override public boolean matches(Object item) { if (item instanceof SearchControls) { SearchControls s1 = (SearchControls) item; return controls.getSearchScope() == s1.getSearchScope() && controls.getReturningObjFlag() == s1.getReturningObjFlag() && controls.getDerefLinkFlag() == s1.getDerefLinkFlag() && controls.getCountLimit() == s1.getCountLimit() && controls.getTimeLimit() == s1.getTimeLimit() && controls.getReturningAttributes() == s1.getReturningAttributes(); } else { throw new IllegalArgumentException(); } }
&& url.getAttributes().size() > 0 ? url.getAttributes().toArray( new String[url.getAttributes().size()] ) : searchControls.getReturningAttributes() ); referralSearchControls.setCountLimit( searchControls.getCountLimit() ); referralSearchControls.setTimeLimit( searchControls.getTimeLimit() ); referralSearchControls.setDerefLinkFlag( searchControls.getDerefLinkFlag() );
request.setSizeLimit( searchControls.getCountLimit() ); request.setTimeLimit( searchControls.getTimeLimit() ); request.setDerefAliases( convertAliasDerefMode( aliasesDereferencingMethod ) );
/** * Creates a {@link SearchParams} from JNDI search controls. * * @param searchControls the search controls * @param aliasDerefMode the alias deref mode * @return the search params */ public static SearchParams toSearchParams( SearchControls searchControls, AliasDerefMode aliasDerefMode ) { SearchParams searchParams = new SearchParams(); searchParams.setAliasDerefMode( aliasDerefMode ); searchParams.setTimeLimit( searchControls.getTimeLimit() ); searchParams.setSizeLimit( searchControls.getCountLimit() ); searchParams.setScope( SearchScope.getSearchScope( searchControls.getSearchScope() ) ); searchParams.setTypesOnly( searchControls.getReturningObjFlag() ); if ( searchControls.getReturningAttributes() != null ) { for ( String returningAttribute : searchControls.getReturningAttributes() ) { searchParams.addReturningAttributes( returningAttribute ); } } return searchParams; }
public static SearchParams toSearchParams( SearchControls searchControls, AliasDerefMode aliasDerefMode ) { SearchParams searchParams = new SearchParams(); searchParams.setAliasDerefMode( aliasDerefMode ); searchParams.setTimeLimit( searchControls.getTimeLimit() ); searchParams.setSizeLimit( searchControls.getCountLimit() ); searchParams.setScope( SearchScope.getSearchScope( searchControls.getSearchScope() ) ); searchParams.setTypesOnly( searchControls.getReturningObjFlag() ); if ( searchControls.getReturningAttributes() != null ) { for ( String returningAttribute : searchControls.getReturningAttributes() ) { searchParams.addReturningAttributes( returningAttribute ); } } searchParams.searchControls = searchControls; return searchParams; }
/** * Creates a {@link SearchParams} from JNDI search controls. * * @param searchControls the search controls * @param aliasDerefMode the alias deref mode * @return the search params */ public static SearchParams toSearchParams( SearchControls searchControls, AliasDerefMode aliasDerefMode ) { SearchParams searchParams = new SearchParams(); searchParams.setAliasDerefMode( aliasDerefMode ); searchParams.setTimeLimit( searchControls.getTimeLimit() ); searchParams.setSizeLimit( searchControls.getCountLimit() ); searchParams.setScope( SearchScope.getSearchScope( searchControls.getSearchScope() ) ); searchParams.setTypesOnly( searchControls.getReturningObjFlag() ); if ( searchControls.getReturningAttributes() != null ) { for ( String returningAttribute : searchControls.getReturningAttributes() ) { searchParams.addReturningAttributes( returningAttribute ); } } return searchParams; }
/** * Creates a {@link SearchParams} from JNDI search controls. * * @param searchControls the search controls * @param aliasDerefMode the alias deref mode * @return the search params */ public static SearchParams toSearchParams( SearchControls searchControls, AliasDerefMode aliasDerefMode ) { SearchParams searchParams = new SearchParams(); searchParams.setAliasDerefMode( aliasDerefMode ); searchParams.setTimeLimit( searchControls.getTimeLimit() ); searchParams.setSizeLimit( searchControls.getCountLimit() ); searchParams.setScope( SearchScope.getSearchScope( searchControls.getSearchScope() ) ); searchParams.setTypesOnly( searchControls.getReturningObjFlag() ); if ( searchControls.getReturningAttributes() != null ) { for ( String returningAttribute : searchControls.getReturningAttributes() ) { searchParams.addReturningAttributes( returningAttribute ); } } return searchParams; }