2007/9/4, Leo Li <liyilei1979@gmail.com>:
On 9/4/07, Stefan Seelmann <seelmann@apache.org> wrote:
> Hi Spark,
>
> I agree with Emmanuel, the Sun provider is hardcoded in Studio.
>
> However from my expirience, there are a lot of applications out there
> using "com.sun.jndi.ldap.LdapCtxFactory" hardcoded in the code, so they
> won't run with Harmony.

I think we can have an improvement here - we factor those hard-coded name out into a property file. Can we?

Take into account that we are all apache developers, leave a place for harmony would be very touching. Just joking. :-)

>
> Is it possible to add this class into harmony, maybe only as a delegate
> to the real implemention? The JDKs of IBM and BEA include this class
> too, but I don't know if they just relicensed it from Sun.
>

   The problem is here, to some degree a little interesting :)
   Harmony is trying to implement its own LdapCtxFactory, whose main
focus is a ldap client.
   So we are exploring whether there is some feature in ldap server
can be reused in implementing ldap client.
   Is it all right, Spark?

Yes, exactly.

> Kind Regards,
> Stefan Seelmann
>
>
> Emmanuel Lecharny schrieb:
> > Hi,
> >
> > studio is based on JNDI to communicate with any ldap server. Studio is
> > just a tool.
> >
> > If you want to reuse the connect() method, then you just have to change
> > the SUN provider by the Harmony provider in the code.
> >
> > Emmanuel
> >
> > Spark Shen a écrit :
> >
> >> Hi, dears
> >>
> >> I investigated those jars in studio used to connect to ldap server. Seems
> >> they uses Sun's service provider.
> >>
> >>> From JndiConnectionContext:
> >>
> >> public void connect( String host, int port, boolean useLdaps, boolean
> >> useStartTLS, Control[] connCtls,
> >>        ExtendedProgressMonitor monitor ) throws NamingException
> >>    {
> >>
> >>        this.environment = new Hashtable<String, String>();
> >>        this.environment.put( Context.INITIAL_CONTEXT_FACTORY, "
> >> com.sun.jndi.ldap.LdapCtxFactory" ); //$NON-NLS-1$
> >>        this.environment.put( "java.naming.ldap.version", "3" );
> >> //$NON-NLS-1$ //$NON-NLS-2$
> >>
> >>       // more logic here......
> >>    }
> >>
> >> The problem is, harmony as a JDK, is the provider for such things like
> >> com.sun.jndi.ldap.LdapCtxFactory . We aims to provide our compatible
> >> implementation. Such as org.apache.harmony.jndi.ldap.LdapCtxFactory.
> >> So, may be we could not used studio code directly.
> >>
> >> But, at least, test cases for the studio will be invaluable asset for us.
> >>
> >>
> >>
> >
>
>


--
Leo Li
China Software Development Lab, IBM



--
Spark Shen
China Software Development Lab, IBM