2007/10/12, Osvaldo Demo <[EMAIL PROTECTED]>: > > 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.
Seems that 'remind us' is not a proper phrase here. Many thanks to your information. 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 Yes, I have read them. Thank you all the same. 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. I have similar feeling about this. May be we need framework like mina to handle 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. Yes, I already read LdapName, and find it very useful. To conclude, we need at three different parsers for ldap feature. 1. DN parser - LdapName 2. ASN1 parser - ASN1 framwork 3. Ldap search filter parser - under development 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. I agree. 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. Your advices and information are valuable. They are welcomed all the way. Bye, > Osvaldo. > -- Spark Shen China Software Development Lab, IBM
