Hi Spark, my intention was never trying to remind you the work that needs to be done. What I'm trying to do is to give you the information i have.
In my previous project i found some links. Maybe they aren't useful right now, but it's a guideline of how an JNDI Ldap service provider should be implemented. I don't know if you have read it already or not. But just in case. http://java.sun.com/products/jndi/tutorial/provider/index.html (Building a service provider) http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-ldap-gl.html (service provider implementation guidelines) http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-ldap.html I was looking your code with the viewcvs interface in the harmony site and it looks like you are making progress in communicating with the server. I suggest to read the first link "Building a service provider", i think that you can get a clearer picture of what are the modules that you are going to need. Of course that one of the modules that is needed will be the low level communication with the ldap server, which includes ASN1 encodin/decoding. Maybe another abstraction layer is needed to mantain the different sockets. On the other side, we need a Distinguished Name Parser. For instance, something that parses the following string: "cn=fs,cn=John,o=TestOrganization,c=us". There is a Class that represent's that and it's called LdapName. The DN Parser that the security package has is very strict, so we extended it and make the necessary changes so it will be more relaxed. You can use it, its "org.apache.harmony.jndi.internal.parser.LdapNameParser". You call parse("StringToParse"); and then call getList() and it returns a list of Rdn. The Bridge classes used to solve dependence with javax.naming package and container classes. As you said in the 2nd point. Here is where the implementation guidelines are going to serve. Regarding the test cases, you should take a look at the contribution that i mentioned before because we made many testcases but they are aimed at javax.naming.ldap API. Maybe it's possible to modify them to work with the service provider. Bye, Osvaldo.
