directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Karasulu" <akaras...@apache.org>
Subject Re: [core] Best way to add subcontext to partition
Date Thu, 15 Mar 2007 19:48:16 GMT
On 3/13/07, Enrique Rodriguez <enriquer9@gmail.com> wrote:
>
> Hi, Directory developers,
>
> What's the best way to add a subcontext under a new partition?  The
> use case would be in an integration test, if I want to create
> partition "dc=example,dc=com" and then I want to create "ou=users"
> underneath that.  Is the only way to create the partition, then use
> CoreContextFactory on that partition, then add a subcontext?  Or can I
> programmatically add a subcontext directly to a partition somehow?


The server was designed to use JNDI as the API to perform CRUD operations
on entires to reduce the learning curve with custom API's that we would
devise.

However there is a means to load entries into the server using convenience
methods on the unit test classes.  You can also refer to an LDIF in your
project's respective resources area to be loaded after startup in the
setUp()
method.  Is this what you're looking for?

The issue I'm running into is that the Kerberos protocol provider
> wants its base DN for principal searches to exist when it starts up
> using AbstractServerTest, for example if the base DN is
> "ou=users,dc=example,dc=com".  I would create "dc=example,dc=com" as
> the 'example' partition.  Then I need to add the "ou=users"
> subcontext.


Ahhh I see.  In this case you can use the LDIF loading facility built into
the
server which will load an LDIF before starting the other services.  If you
remember
we created this specifically for this chicken and egg problem that you have
with
the Krb5 service.

Of course, the answer may be to modify the Kerberos provider to
> lazy-load the store.  On the first authentication request, it would
> then go look for the base DN.  Something similar will need to happen
> for multi-realm capability, anyway.


Hmmm I see what you're saying but I think the LDIF loading mechanism will
work for you.  This is what we do with the default LDIF file that ships with
the
server.  Take a look at these methods:

MutableStartupConfiguration.setTestEntries()
MutableServerStartupConfiguration.setLdifDirectory()

The first will load entries programmatically.  The second will load the LDIF
files from a directory.

HTH,
Alex

Mime
View raw message