@Override public EntryFilteringCursor search( NextInterceptor nextInterceptor, SearchOperationContext opContext ) throws Exception { SearchControls searchControls = opContext.getSearchControls(); if ( searchControls.getReturningAttributes() != null ) { String[] oldAttrIds = searchControls.getReturningAttributes(); String[] newAttrIds = new String[oldAttrIds.length + 1]; System.arraycopy( oldAttrIds, 0, newAttrIds, 0, oldAttrIds.length ); newAttrIds[oldAttrIds.length] = Constants.ENTRY_DELETED.toLowerCase(); searchControls.setReturningAttributes( newAttrIds ); } EntryFilteringCursor cursor = nextInterceptor.search( new SearchOperationContext( opContext.getSession(), opContext.getDn(), opContext.getAliasDerefMode(), opContext.getFilter(), searchControls ) ); cursor.addEntryFilter( Constants.DELETED_ENTRIES_FILTER ); return cursor; }
public EntryFilteringCursor search( InternalSearchRequest searchRequest ) throws Exception { SearchOperationContext opContext = new SearchOperationContext( this, searchRequest ); OperationManager operationManager = directoryService.getOperationManager(); EntryFilteringCursor cursor = operationManager.search( opContext ); searchRequest.getResultResponse().addAll( opContext.getResponseControls() ); return cursor; }
public EntryFilteringCursor search(SearchOperationContext ctx) throws Exception { /* -base: the node itself -one: one level under the node -sub: all node under the node */ if (log.isDebugEnabled()) { log.debug("search((dn=" + ctx.getDn() + ", filter=" + ctx.getFilter() + ", scope=" + ctx.getScope() + ")"); } switch (ctx.getScope()) { case OBJECT: return findObject(ctx); case ONELEVEL: return findOneLevel(ctx); case SUBTREE: return findSubTree(ctx); default: // return an empty result return new BaseEntryFilteringCursor(new EmptyCursor<ServerEntry>(), ctx); } }//search
public EntryFilteringCursor search( DN dn, SearchScope scope, ExprNode filter, AliasDerefMode aliasDerefMode, Set<AttributeTypeOptions> returningAttributes, long sizeLimit, int timeLimit ) throws Exception { OperationManager operationManager = directoryService.getOperationManager(); SearchOperationContext searchOperationContext = new SearchOperationContext( this, dn, scope, filter, returningAttributes ); searchOperationContext.setSizeLimit( sizeLimit ); searchOperationContext.setTimeLimit( timeLimit ); searchOperationContext.setAliasDerefMode( aliasDerefMode ); return operationManager.search( searchOperationContext ); }
public EntryFilteringCursor search( SearchOperationContext opContext ) throws Exception { SearchControls searchCtls = opContext.getSearchControls(); IndexCursor<ID, ServerEntry, ID> underlying; underlying = searchEngine.cursor( opContext.getDn(), opContext.getAliasDerefMode(), opContext.getFilter(), searchCtls ); return new BaseEntryFilteringCursor( new ServerEntryCursorAdaptor<ID>( this, underlying ), opContext ); }
private BaseEntryFilteringCursor findOneLevel(SearchOperationContext ctx) { DN dn = ctx.getDn(); ServerEntry se = ctx.getEntry(); log.debug("findOneLevel()::dn=" + dn.getName() + "::entry=" + se.toString() + "::filter=" + ctx.getFilter().toString()); if (ctx.getFilter().toString().contains("(2.5.4.0=*)")) { String filter = ctx.getFilter().toString(); if (filter.contains("(2.5.4.0=*)") || filter.contains("(2.5.4.0=referral)")) {
public EntryFilteringCursor search( DN dn, SearchScope scope, ExprNode filter, AliasDerefMode aliasDerefMode, Set<AttributeTypeOptions> returningAttributes ) throws Exception { OperationManager operationManager = directoryService.getOperationManager(); SearchOperationContext searchOperationContext = new SearchOperationContext( this, dn, scope, filter, returningAttributes ); searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS ); return operationManager.search( searchOperationContext ); }
@Override public EntryFilteringCursor list( NextInterceptor nextInterceptor, ListOperationContext opContext ) throws Exception { EntryFilteringCursor cursor = nextInterceptor.search( new SearchOperationContext( opContext.getSession(), opContext.getDn(), opContext.getAliasDerefMode(), new PresenceNode( SchemaConstants.OBJECT_CLASS_AT_OID ), new SearchControls() ) ); cursor.addEntryFilter( Constants.DELETED_ENTRIES_FILTER ); return cursor; }
private BaseEntryFilteringCursor findSubTree(SearchOperationContext ctx) { DN dn = ctx.getDn(); log.debug("findSubTree()::dn=" + dn.getName()); //Will only search at one level return findOneLevel(ctx); }//findSubTree
public EntryFilteringCursor search( SearchOperationContext opContext ) throws Exception { MockCursor cursor = new MockCursor( count ); cursor.setSchemaManager( opContext.getSession().getDirectoryService().getSchemaManager() ); return new BaseEntryFilteringCursor( cursor, opContext ); }
/** * {@inheritDoc} */ public EntryFilteringCursor search( DN dn, String filter, boolean ignoreReferrals ) throws Exception { OperationManager operationManager = directoryService.getOperationManager(); ExprNode filterNode = FilterParser.parse( filter ); SearchOperationContext searchOperationContext = new SearchOperationContext( this, dn, SearchScope.OBJECT, filterNode, null ); searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS ); setReferralHandling( searchOperationContext, ignoreReferrals ); return operationManager.search( searchOperationContext ); }
new SearchOperationContext( adminSession, contextName, AliasDerefMode.DEREF_ALWAYS, filter, ctrl ) );
new SearchOperationContext( adminSession, contextName, AliasDerefMode.DEREF_ALWAYS, new PresenceNode( SchemaConstants.OBJECT_CLASS_AT_OID ), ctrl ) );
new SearchOperationContext( adminSession, oldName, AliasDerefMode.DEREF_ALWAYS, new PresenceNode( SchemaConstants.OBJECT_CLASS_AT_OID ), ctrl ) );