{
Dn dn = searchContext.getDn();
dn.apply( schemaManager );
ExprNode filter = searchContext.getFilter();
if ( filter == null )
{
LOG.warn( "undefined filter based on undefined attributeType not evaluted at all. Returning empty enumeration." );
return new BaseEntryFilteringCursor( new EmptyCursor<Entry>(), searchContext, schemaManager );
}
// Normalize the filter
filter = ( ExprNode ) filter.accept( normVisitor );
if ( filter == null )
{
LOG.warn( "undefined filter based on undefined attributeType not evaluted at all. Returning empty enumeration." );
return new BaseEntryFilteringCursor( new EmptyCursor<Entry>(), searchContext, schemaManager );
}
// We now have to remove the (ObjectClass=*) filter if it's present, and to add the scope filter
ExprNode modifiedFilter = removeObjectClass( filter );
searchContext.setFilter( modifiedFilter );
// TODO Normalize the returned Attributes, storing the UP attributes to format the returned values.
return next( searchContext );