On Sat, Jul 25, 2009 at 12:07 AM, Kiran Ayyagari <ayyagarikiran@gmail.com> wrote:

I think the main API shouldn't be overloaded with too much convenience
methods and should be close to the LDAP protocol. I also think the main
API should not implement such algorithms (if server supports
TreeDeleteControl use it, else search/delete recursively).

The current client-api does both, i.e checks if the server supports the 'treedelete'
control, if Yes, then uses it else deletes recursively

What about putting these helpful convenience methods to a Helper class?
 DeleteHelper.deleteTree( LdapConnection, LdapDN )
 DeleteHelper.deleteChildren( LdapConnection, LdapDN)

IMHO, I don't think that the current API has *too* many methods with completely different
semantics (after excluding the helpful overloaded methods), having said this, I prefer to apply
the suggested changes on LdapConnection and lets review the whole public API again here and
see if it is better to move some methods to corresponding XXXHelper classes.

Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org