Thom Park wrote:

Alex,

Thanks for this!

Can you tell me how the schema->java files is being done - is it a java
routine that does the magic or is it a maven/jelly procedure. I ask as
it would be nice to be able to do this outside of the maven environment
and create a standalone utility that could read-in a schema file and
generate a set of java source files.

It is a plugin that does this: the maven-directory-pluing written for just this purpose. This jelly however is a thin wrapper around the code in the apacheds/trunk/plugin project so it could be used for such a standalone utility. However in the future we may remove this means of extending the scheme since it is so cumbersome.

Let me give you some background ...

The present schema mechanism was greated for bootstrapping the system partition with a minimal set of schema elements. However we never got around to building the schema subsystem. Part of this was because we were waiting for a subentry implementation so we could implement a robust schema subsystem properly. Now that we have subentries implemented we can do this properly. Note that the majority of startup time is due to loading and running these schema element producing classes generated by the plugin. We hope to eliminate this in release 0.9.5 of the server with the proper schema subsystem design.

That way , I won't need to build the apacheds sub-system all the time,
and be able to generate and compile these files from the product binary
distribution.
Well you don't need to rebuild all the time. You can invoke the plugin on a schema in a separate project. Take a look at how the plugin works by inspecting the apacheds/trunk/core/project.properties file. It shows how to incorporate a dot.schema file for generation. Then what you can do is add the jar of your schema to the server.xml under the schema section. This way you do not need to recompile ApacheDS core to run an altered schema.

Perhaps not a big deal to a developer, but for my needs, working from
the binary distribution rather than the full-blown source distribution
is a signification streamlining of the whole operation
Yep I understand ... see if you can follow these hints to do that. If not let us know.

HTH,
Alex

Reply via email to