On 27/11/2009 10:05, Emmanuel Lecharny wrote:
Sure, as much as possible. This is why we picked LdapDn instead of DN,
and such names. I just have an issue with Attribute, because if we
want to write a wrapper around JNDI, it will end with ugly package
bnames to be added in the code to avoid confusion between Attribute
(jndi) and Attribute (API)...

I don't think we should sacrifice the general public API cleanness/homogeneity for the specific JNDI wrapper case.


100% agree.

What we should be looking for is to have the best, cleanest LDAP API - in the long term, it is the only one that matters.

And for the confusion, well I don't think javax.naming.directory.Attribute brings much of it :)


A couple of other points regarding JNDI interop:

   * A conversion layer may have to deal with ugly name clashes, but
     this will not usually result in application code having to deal
     with those clashes by using package names everywhere. E.g.

     // SDK Entry
     Entry e = ...;

     // JNDI Attribute
     Attribute a = ....;

     // No name pollution required here:
     e.addAttribute(JNDIAdapter.newSDKAttribute(a));

   * Personally, I'm not 100% convinced of the advantages of such a
     conversion layer since it implies that an application will contain
     a mixture of legacy API (e.g. JNDI) code and new SDK code. Another
     option is to provide a JNDI LdapContext implementation which uses
     the new SDK. Then there's no need to change any legacy code - just
     use the new LdapContext.

Anyway, we can cross this bridge when we come to it. I don't think that it's a priority now.

Matt



Reply via email to