Hi guys,

I'm in the process of polishing the API now that Kiran has included many of the missing parts. It raised some questions :

1) there are 3 different methods that give back the list of RDNs :
- getAll()
- iterator()
- getRdns()

One of them is obviously a duplicate. The getAll() is a remaining taint of the ancient JNDI API : DN was implementing Name back 5 years ago. I don't think we need it anymore.

The iterator() and getRdns() are doing the exact same thing, which is different from the getAll() mtehod : there return the inner RDNs in the revert order.

For instance, if we have a DN like 'dc=c, dc=b, dc=a', there each of those three methods will return RDNs in the following order :
o getRdns() and iterator() :
'dc=c' then 'dc=b' then 'dc=a'
o getAll() will do the opposite :
'dc=a' then 'dc=b' then 'dc=c'

I think that the iterator() method should behave as the getAll() method does, and getRdns() should keep the internal order (as it simply return the inner field storing the rdns.

2) The JNDI related methods like toName( DN ) and fromName( Name ) have been moved to the JndiUtils class. There is no reason to make the DN api more heavy than strictly than necessary, IMO

3) There are helper methods like normalize( DN, OIDMap ), normalize( String, OIDMap ) or normalize( OIDMap ) that does not belong to the DN public API : theyr are used by tests. I think they should also be removed from the DN api.

thoughts ?

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to