I added two new DN parsers:
1) An initial version of a fast parser (class FastLdapDnParser) that handles simple DNs. More precisely is handles the following cases:
- only single RDNs are handled,
- attribute type: strings and OIDs but not the RFC1779 "oid." prefix
- values: as soon as a special character occurs ( '\' '+' '#' '"' ) an TooComplexExeption is thrown
2) An Antlr based DN parser that is able to handle complex DNs. Atm it contains some workarounds but it passes all unit tests.
The LdapDnParser class is now just a facade, that delegates parsing to the FastLdapDnParser and in case of an TooComplexException to the ComplexLdapDnParser.
Next we need to review all the tests and need to cleanup the LdapDN, Rdn and AttributeTypeAndValue classes. There are also some open issues (
DIRSERVER-1311, DIRSERVER-1285, DIRSERVER-1247) with DN handling.