/**
* {@inheritDoc}
*/
public Cursor<Entry> search( Dn dn, String filter, boolean ignoreReferrals ) throws LdapException
{
OperationManager operationManager = directoryService.getOperationManager();
ExprNode filterNode = null;
try
{
FilterParser.parse( directoryService.getSchemaManager(), filter );
}
catch ( ParseException pe )
{
throw new LdapInvalidSearchFilterException( pe.getMessage() );
}
SearchOperationContext searchContext = new SearchOperationContext( this, dn, SearchScope.OBJECT, filterNode, (String)null );
searchContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
setReferralHandling( searchContext, ignoreReferrals );
return operationManager.search( searchContext );
}