directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <>
Subject Re: [Schema refactoring] Status
Date Wed, 02 Sep 2009 10:45:13 GMT
Hi Emmanuel,

I have removed a lot of the old initialization code as you can see in the
DefaultDirectoryService class.  The new SchemaPartition which now wraps
another supplied partition implementation storing the schema in it's own
implementation specific backing store, initializes the schema on behalf of
the system.

The idea is simple.  The SchemaPartition's wrapped partition is instantiated
first, then injected into the SchemaPartition which is instantiated right
after this contained partition.  The SchemaPartition in the default
constructor loads the "apachemeta" schema and its dependencies from within
the apacheds-ldap-schema-[version].jar without exploding it.  This is
because we need a minimal set of schema to give to this contained partition
before initializing it later on in this process.  We're still talking
instantiation and object composition right now.  Also we do not explode
because we might not use an LDIF partition like in Andrea's case where an
OraclePartition is used.

Now once the SchemaPartition is composed with injected wrapped Partition it
is injected into the SchemaService.  The SchemaService is then injected into
the DefaultDirectoryService.  The DDS when launched in code would have to
have this kind of setup done to it to start it up embedded.

Then after instantiation is done, the DDS is initialized.  On initialization
the SchemaPartition is initialized by handing it the DDS reference.  This
then triggers loading the schema from the contained Partition using the
ParititionSchemaLoader.  This loads all the enabled schemas skipping the
apachemeta and its dependencies that were already loaded.

Once the full registries come on line through the Partition based load, the
DDS starts initializing all other partitions.  There are now some loose ends
that need to be cleaned up considering how late it was last night when I did
all this.

I will start trying to clean this up today.


On Wed, Sep 2, 2009 at 1:27 PM, Emmanuel Lecharny <>wrote:

> Hi,
> so far, I'm able to build and run tests up to the core project, which fails
> as teh SchemaService is not initialized.
> The associated portion of code has been removed, and should be replaced by
> the new initialization.
> Any status on this part ?
> Thanks !
> --
> --
> cordialement, regards,
> Emmanuel L├ęcharny

Alex Karasulu
My Blog ::
Apache Directory Server ::
Apache MINA ::

View raw message