directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <>
Subject Re: [Client API] Search operation
Date Wed, 01 Apr 2009 17:13:32 GMT
Alex Karasulu wrote:
> As a rule things start getting ugly with API methods when you have more than
> 4 arguments and more than 4 overloads.
> The most important thing to realize is what changes most with each search
> request.  The base does change most.  The filter does but sometimes does not
> need to be provided since people just want everything.  I can see something
> like:
> => searches the rootDSE ? Or should this be conn.getRootDse()
> ?
I would rather use a getRootDse() instead of a weird search request with 
no baseDn. So +1
> baseDN ) => searches the base with one level scope and
> (objectClass=*)
> baseDN, filter )
> baseDN, filter, scope )
We can add those three methods.
> Attributes and size/time limits might be best left to be overridden in the
> SearchRequest? 
I think that the Attributes should be the forth param. Anything else 
should be handled using a SearchRequest object.

> However these parameters should be set to some smart default
> when using the signatures above.  For example the sizeLimit may default to
> 1000 entries.
> NOTE: timeLimit != timeout where the timeLimit is the limit for a search
> operation on the server, and the timeout is the time the client will wait at
> most for any operation to complete before disconnecting/abandoning the
> client request.
TimeLimit is handled by the server, not the client. So yes, they are 
different values. We should have a default timeout value on the client, 
stored into the connection though.
> Also I was wondering how the Cursor interface fits into this.  Right now we
> used the DirectoryListener.
Man, it fits just fine :) You have to see it...

cordialement, regards,
Emmanuel L├ęcharny

View raw message