You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Ole Ersoy <ol...@gmail.com> on 2007/07/29 21:51:44 UTC

[CiDIT] Here's how simple it could be

Hey Guys,

Here's a tiny segment of code that shows how simple it could be to store the xml configuration file in the DIT using the DAS.  This comes from the DAS which stores some of it's own configuration in the DIT.

        LdapDASHelper.readDasMeta( 
            dasMetaDataGraph, 
            context, 
            metaDataObjectToRelativeDNCache );

This method first tries to read the configuration DataGraph (server.xml in DIT).  If it does not exist (First time server is started), it creates an instance of the model and writes it to the DIT.  The model of server.xml contains all the server.xml defaults, so now all the defaults are stored in the DIT.  Later, when needing to change configuration values, the root object bean is gotten from the dasMetaDataGraph like this:

Configuration configuration = dasMetaDataGraph.getRootDataObject();

The configuration object represent the root element of the configuration file, and is generated from the XML Schema that contains the structure of the server.xml file.

When changing the configuration, just turn on change logging on the DataGraph and when done, turn it off.  Then use the DAS to write the changes.  And that's it.  So it would be something like this:

dasMetaDataGraph.turnOnChangeLogging();

Make changes to Configuration and objects contained by configuration.

Then turn off change logging:
dasMetaDataGraph.turnOffChangeLogging();

And update the DIT:

        LdapDASHelper.update( 
            dasMetaDataGraph, 
            context);

And finito.

Cheers,
- Ole