epugh       2003/06/02 11:01:01

  Added:       configuration/xdocs navigation.xml tasks.xml overview.xml
  Log:
  Adding documentation on how to use commons-configuration.
  
  Revision  Changes    Path
  1.1                  jakarta-commons-sandbox/configuration/xdocs/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <project name="Configuration">
  
    <title>Configuration</title>
    <organizationLogo href="/images/jakarta-logo-blue.gif">Jakarta</organizationLogo>
  
    <body>
      <menu name="Configuration">
        <item name="Home"                href="/index.html"/>
        <item name="Overview"            href="/overview.html"/>
        <item name="To Do List"          href="/tasks.html"/>
      </menu>
    </body>
  </project>
  
  
  
  1.1                  jakarta-commons-sandbox/configuration/xdocs/tasks.xml
  
  Index: tasks.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <properties>
      <title>TODO</title>
      <author email="[EMAIL PROTECTED]">Eric Pugh</author>
    </properties>
  
    <body>
      <section name="TODO list">
        <p>
          The following is a list of items that need to be completed in
          Configuration.  Contributions are welcome! 
        </p>
      
      <subsection name="High priority"> 
        
      </subsection>
      
      <subsection name="Medium priority"> 
         <ul>
            <li>
                <strong>Avalon Integration</strong>
                Need to be able to retrieve configuration values from Avalon,
                and pass them into Avalon.
            </li>
         </ul>
      </subsection>
      
      <subsection name="Low priority"> 
      </subsection>
  </section>
  <section name='Completed'>
      <subsection name="Since Last Release"> 
      </subsection>
  </section>
    </body>
  </document>
  
  
  
  
  1.1                  jakarta-commons-sandbox/configuration/xdocs/overview.xml
  
  Index: overview.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
   <properties>
    <title>Configuration Overview</title>
    <author email="[EMAIL PROTECTED]">Eric Pugh</author>
   </properties>
  
  <body>
  
      <section name="Using Configuration">
        <p>
          The best way to learn how to use Configuration is to look at the various 
testcases
          that it comes with.  This will demonstrate how a Configuration object is 
populated
          from multiple different sources.
        </p>
        <subsection name="Configuration Sources">
        <p>
          Currently there are quite a number of different sources of Configuration 
objects.  But,
          by just using a Configuration object versus a specific type like 
XmlConfiguration or
          JNDIConfiguration, you are sheltered from the mechanics of actually 
retrieving the 
          configuration values.  These various sources include:
          <ul>
            <li>
                <strong>PropertiesConfiguration</strong>
                Loads configuration values from a properties file.
            </li>
            <li>
                <strong>BasePropertiesConfiguration</strong>
                An in-memory method of populating a Configuration object.
            </li>
            <li>
                <strong>ConfigurationConverter</strong>
                Takes an o.a.c.collections.ExtendedProperties and converts it to a 
Configuration
                object.
            </li>
            <li>
                <strong>DOM4JConfiguration</strong>
                Takes values from an XML documentation using DOM4J.
            </li>
         </ul>
          
        </p>
        </subsection>
        <subsection name="Mixing Configuration Sources">
        <p>
          Often you want to provide a base set of configuration values, but allow the 
user to easily 
          override them for their specific environment.  Well one way is to hard code 
the default
          values into your code, and have then provide a property file that overrides 
this.  However,
          this is a very rigid way of doing things.  Instead, with the 
CompositeConfiguration you can
          provide many different ways of setting up a configuration.  You can either 
do it manually (see
          JUnit testcase "TestCompositeConfiguration.java", or via the 
ConfigurationFactory class.
                
                
        </p>
        <p>
          Using the ConfigurationFactory, (see the Junit testcase 
"TestConfigurationFactory.java") you load
          up a digesterRules.xml file that specifies how to load up all the 
Configuration objects.  Here is 
          a sample one using the default digesterRules.xml file:
          <pre>
  <?xml version="1.0" encoding="ISO-8859-1" ?>
  
  <configuration>
    <jndi className="org.apache.commons.configuration.JNDIConfiguration" 
prefix="java:comp/env"/>
    <properties className="org.apache.commons.configuration.PropertiesConfiguration" 
fileName="conf/test.properties"/>
    <dom4j className="org.apache.commons.configuration.DOM4JConfiguration" 
fileName="conf/test.xml"/>
  </configuration>
     
          </pre>
          
          What this says is that we are loading up all JNDI values under java:comp/env 
key, as well 
          as a properties file in conf/test.properties as well as a dom4j XML file in 
conf/test.xml.  
          Please inspect the test cases and the files in the conf/ directory for more 
information.
        </p>
        </subsection>
      </section>
  
  </body>
  </document>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to