@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; }
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( 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 ); }
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