Author: rgoers
Date: Thu Apr  2 05:42:41 2009
New Revision: 761171

URL: http://svn.apache.org/viewvc?rev=761171&view=rev
Log:
Fix Checkstyle errors, add documentation, allow FileSystem to be configured in 
DefaultConfigurationBuilder

Added:
    commons/proper/configuration/trunk/conf/testFileSystem.xml
      - copied, changed from r760159, 
commons/proper/configuration/trunk/conf/testConfigurationProvider.xml
    commons/proper/configuration/trunk/xdocs/userguide/howto_filesystems.xml   
(with props)
Modified:
    
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java
    
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/reloading/VFSFileMonitorReloadingStrategy.java
    
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/MergeCombiner.java
    
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/NodeCombiner.java
    
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestVFSConfigurationBuilder.java
    commons/proper/configuration/trunk/xdocs/building.xml
    
commons/proper/configuration/trunk/xdocs/userguide/howto_combinedconfiguration.xml
    commons/proper/configuration/trunk/xdocs/userguide/user_guide.xml

Copied: commons/proper/configuration/trunk/conf/testFileSystem.xml (from 
r760159, commons/proper/configuration/trunk/conf/testConfigurationProvider.xml)
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/conf/testFileSystem.xml?p2=commons/proper/configuration/trunk/conf/testFileSystem.xml&p1=commons/proper/configuration/trunk/conf/testConfigurationProvider.xml&r1=760159&r2=761171&rev=761171&view=diff
==============================================================================
--- commons/proper/configuration/trunk/conf/testConfigurationProvider.xml 
(original)
+++ commons/proper/configuration/trunk/conf/testFileSystem.xml Thu Apr  2 
05:42:41 2009
@@ -6,6 +6,7 @@
       <nodeCombiner 
config-class="org.apache.commons.configuration.tree.OverrideCombiner"/>
       <expressionEngine 
config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine"/>
     </result>
+    <fileSystem config-class="org.apache.commons.configuration.VFSFileSystem"/>
     <providers>
       <provider config-tag="test"
                 
config-class="org.apache.commons.configuration.DefaultConfigurationBuilder$FileConfigurationProvider"/>

Modified: 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java
 Thu Apr  2 05:42:41 2009
@@ -342,6 +342,11 @@
     static final String KEY_LOOKUP_KEY = XMLBeanDeclaration.ATTR_PREFIX + 
"prefix]";
 
     /**
+     * Constance for the FileSystem.
+     */
+    static final String FILE_SYSTEM = SEC_HEADER + ".fileSystem";
+
+    /**
      * Constant for the key of the result declaration. This key can point to a
      * bean declaration, which defines properties of the resulting combined
      * configuration.
@@ -486,17 +491,6 @@
     }
 
     /**
-     * Sets the FileSystem to use for the created CombinedConfiguration and
-     * @param fileSystem The FileSystem
-     */
-    public void setFileSystem(FileSystem fileSystem)
-    {
-        FileSystem.setDefaultFileSystem(fileSystem);
-    }
-
-
-
-    /**
      * Adds a configuration provider for the specified tag. Whenever this tag 
is
      * encountered in the configuration definition file this provider will be
      * called to create the configuration object.
@@ -577,6 +571,7 @@
             load();
         }
 
+        initFileSystem();
         initSystemProperties();
         configureEntityResolver();
         registerConfiguredProviders();
@@ -712,6 +707,16 @@
         }
     }
 
+    protected void initFileSystem() throws ConfigurationException
+    {
+        if (getMaxIndex(FILE_SYSTEM) == 0)
+        {
+            HierarchicalConfiguration config = configurationAt(FILE_SYSTEM);
+            XMLBeanDeclaration decl = new XMLBeanDeclaration(config);
+            setFileSystem((FileSystem) BeanHelper.createBean(decl));
+        }
+    }
+
     /**
      * If a property file is configured add the properties to the System 
properties.
      * @throws ConfigurationException if an error occurs.
@@ -1342,6 +1347,14 @@
                 ConfigurationDeclaration decl) throws Exception
         {
             AbstractConfiguration result = getEmptyConfiguration(decl);
+            if (result instanceof FileSystemBased)
+            {
+                DefaultConfigurationBuilder builder = 
decl.getConfigurationBuilder();
+                if (builder.getFileSystem() != null)
+                {
+                    ((FileSystemBased) 
result).setFileSystem(builder.getFileSystem());
+                }
+            }
             ((FileConfiguration) result).load();
             return result;
         }

Modified: 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/reloading/VFSFileMonitorReloadingStrategy.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/reloading/VFSFileMonitorReloadingStrategy.java?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/reloading/VFSFileMonitorReloadingStrategy.java
 (original)
+++ 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/reloading/VFSFileMonitorReloadingStrategy.java
 Thu Apr  2 05:42:41 2009
@@ -55,7 +55,7 @@
     private static final long DEFAULT_DELAY = 1000;
 
     /** Stores a reference to the configuration to be monitored. */
-    protected FileConfiguration configuration;    
+    protected FileConfiguration configuration;
 
     /** The reload status */
     private boolean reloadRequired;

Modified: 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/MergeCombiner.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/MergeCombiner.java?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/MergeCombiner.java
 (original)
+++ 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/MergeCombiner.java
 Thu Apr  2 05:42:41 2009
@@ -58,7 +58,7 @@
         printTree(result);
         return result;
     }
-    
+
     public ConfigurationNode doCombine(ConfigurationNode node1, 
ConfigurationNode node2)
     {
         ViewNode result = createViewNode();
@@ -142,7 +142,7 @@
                 ConfigurationNode attr1 = (ConfigurationNode) iter.next();
                 List list2 = node.getAttributes(attr1.getName());
                 if (list2.size() == 1
-                    && 
!attr1.getValue().equals(((ConfigurationNode)list2.get(0)).getValue()))
+                    && !attr1.getValue().equals(((ConfigurationNode) 
list2.get(0)).getValue()))
                 {
                     node = null;
                     break;
@@ -165,8 +165,8 @@
             {
                 children2.remove(iter.next());
             }
-        }        
+        }
 
         return null;
     }
-}
\ No newline at end of file
+}

Modified: 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/NodeCombiner.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/NodeCombiner.java?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/NodeCombiner.java
 (original)
+++ 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/NodeCombiner.java
 Thu Apr  2 05:42:41 2009
@@ -54,12 +54,12 @@
  */
 public abstract class NodeCombiner
 {
-    /** Stream to write debug output to */
-    private PrintStream debugStream = null;
-    
     /** Stores a list with node names that are known to be list nodes. */
     protected Set listNodes;
 
+    /** Stream to write debug output to */
+    private PrintStream debugStream;
+
     /**
      * Creates a new instance of <code>NodeCombiner</code>.
      */
@@ -135,7 +135,7 @@
     {
         this.debugStream = stream;
     }
-        
+
     protected void printTree(ConfigurationNode result)
     {
         if (debugStream != null)

Modified: 
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestVFSConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestVFSConfigurationBuilder.java?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestVFSConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestVFSConfigurationBuilder.java
 Thu Apr  2 05:42:41 2009
@@ -20,6 +20,8 @@
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Set;
+import java.util.List;
+import java.util.Iterator;
 
 import junit.framework.TestCase;
 
@@ -76,6 +78,9 @@
     private static final File MULTI_TENENT_FILE = new File(
             "conf/testMultiTenentConfigurationBuilder.xml");
 
+    private static final File FILESYSTEM_FILE = new File(
+            "conf/testFileSystem.xml");
+
     /** Constant for the name of an optional configuration.*/
     private static final String OPTIONAL_NAME = "optionalConfig";
 
@@ -888,6 +893,79 @@
         verify("1005", config, 50);
     }
 
+    public void testSetFileSystem() throws Exception
+    {
+        factory.setFile(PROVIDER_FILE);
+        FileSystem fs = new VFSFileSystem();
+        factory.setFileSystem(fs);
+        FileSystem.resetDefaultFileSystem();
+        System.getProperties().remove("Id");
+
+        CombinedConfiguration config = factory.getConfiguration(true);
+        List list = config.getConfigurations();
+        assertTrue("Incorrect number of configurations - " + list.size(), 
list.size() == 4);
+        Iterator iter = list.iterator();
+        while (iter.hasNext())
+        {
+            Configuration conf = (Configuration)iter.next();
+            if (conf instanceof FileSystemBased)
+            {
+                assertTrue("Incorrect file system for Configuration " + conf,
+                        ((FileSystemBased)conf).getFileSystem() == fs);
+            }
+            else if (conf instanceof CombinedConfiguration)
+            {
+                Iterator it = 
((CombinedConfiguration)conf).getConfigurations().iterator();
+                while (it.hasNext())
+                {
+                    conf = (Configuration)it.next();
+                    if (conf instanceof FileSystemBased)
+                    {
+                        assertTrue("Incorrect file system for Configuration " 
+ conf,
+                            ((FileSystemBased)conf).getFileSystem() == fs); 
+                    }
+                }
+            }
+        }
+    }
+
+    public void testConfiguredFileSystem() throws Exception
+    {
+        factory.setFile(FILESYSTEM_FILE);
+        FileSystem.resetDefaultFileSystem();
+        System.getProperties().remove("Id");
+
+        CombinedConfiguration config = factory.getConfiguration(true);
+        FileSystem fs = factory.getFileSystem();
+        assertNotNull("No File System",fs);
+        assertTrue("Incorrect File System", fs instanceof VFSFileSystem);
+        List list = config.getConfigurations();
+        assertTrue("Incorrect number of configurations - " + list.size(), 
list.size() == 4);
+        Iterator iter = list.iterator();
+        while (iter.hasNext())
+        {
+            Configuration conf = (Configuration)iter.next();
+            if (conf instanceof FileSystemBased)
+            {
+                assertTrue("Incorrect file system for Configuration " + conf,
+                        ((FileSystemBased)conf).getFileSystem() == fs);
+            }
+            else if (conf instanceof CombinedConfiguration)
+            {
+                Iterator it = 
((CombinedConfiguration)conf).getConfigurations().iterator();
+                while (it.hasNext())
+                {
+                    conf = (Configuration)it.next();
+                    if (conf instanceof FileSystemBased)
+                    {
+                        assertTrue("Incorrect file system for Configuration " 
+ conf,
+                            ((FileSystemBased)conf).getFileSystem() == fs);
+                    }
+                }
+            }
+        }
+    }
+
     private void verify(String key, CombinedConfiguration config, int rows)
     {
         System.setProperty("Id", key);

Modified: commons/proper/configuration/trunk/xdocs/building.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/xdocs/building.xml?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- commons/proper/configuration/trunk/xdocs/building.xml (original)
+++ commons/proper/configuration/trunk/xdocs/building.xml Thu Apr  2 05:42:41 
2009
@@ -36,11 +36,51 @@
           </p>
         </section>
 
-        <section name="Maven Goals">
+        <section name="Maven 2">
           <p>
-            Maven 1.x is our recommended build tool. To build the Configuration
-            jar file, change into the directory where you unzipped the source
-            distribution or where you checked out the sources from SVN and run
+            Commons Configuration uses Maven 2 as its build tool. To build the 
Configuration
+            jar, change into the directory where the source distribution 
resides and run
+            "mvn install". This will compile the source and tests, run the 
tests, and then
+            package the jar. The jar will also be copied into the local maven 
repository
+            for use by other builds.
+          </p>
+          <p>
+            To build the web site run "mvn site". When it completes the web 
site will reside in
+            the target/site directory and may be viewed by opening 
target/site/index.html.
+          </p>
+        </section>
+        <section name="Running Functional Tests">
+          <p>
+            <code>TestWebdavConfigurationBuilder</code> is a functional test 
that tests
+            DefaultConfigurationBuilder with the configuration files stored in 
a WebDAV
+            server. To run the test the steps that follow
+            <ol>
+              <li>Copy all the files in the conf directory to the WebDAV 
server. Not all the
+              files are required but it is generally easier to use a tool like 
cadaver
+              and do an mput than try to copy the required files 
individually.</li>
+              <li>Add the following to the profiles section of settings.xml in 
the Maven home
+              directory. Modify the urls to match your setup.
+<source><![CDATA[
+   <profile>
+    <profile>
+      <id>webdav</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+        
<test.webdav.base>webdav://vfsusr:vfst...@192.168.10.133:80/conf</test.webdav.base>
+      </properties>
+    </profile>]]></source></li>
+              <li>run "mvn -P webdav test 
-Dtest=TestWebdavConfigurationBuilder". The test
+              can also be run using "mvn -P webdav test" but this will run all 
the unit tests
+              in addition to the WebDAV test.</li>
+            </ol>
+          </p>
+        </section>
+        <section name="Maven 1 Goals">
+          <p>
+            To build the Configuration jar file using Maven 1, change into the 
directory where you
+            unzipped the source distribution or where you checked out the 
sources from SVN and run
             "maven jar". The result will be in the (newly created) "target"
             subdirectory.
           </p>
@@ -125,7 +165,7 @@
 
         <section name="Setting custom build parameters">
           <p>
-            Both the maven and the ant build script support a file called
+            Both the maven 1 and the ant build script support a file called
             <code>build.properties</code> that can contain custom properties
             definitions. If this file exists in the project's root directory,
             it will be read and the properties it defines will be added to the

Modified: 
commons/proper/configuration/trunk/xdocs/userguide/howto_combinedconfiguration.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/xdocs/userguide/howto_combinedconfiguration.xml?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/xdocs/userguide/howto_combinedconfiguration.xml
 (original)
+++ 
commons/proper/configuration/trunk/xdocs/userguide/howto_combinedconfiguration.xml
 Thu Apr  2 05:42:41 2009
@@ -676,7 +676,10 @@
       <p>
         When merging elements attributes play a critical role. If an element 
has an attribute that
         appears in both sources, the value of that attribute must be the same 
for the elements to be
-        merged. Merging is only allowed between a single node in each of the 
files, so if an element
+        merged.
+      </p>
+      <p>
+        Merging is only allowed between a single node in each of the files, so 
if an element
         in the first file matches more than one element in the second file no 
merging will take
         place and the element from the first file (and its contents) are 
included and the elements
         in the second file are not. If the element is marked as a list node 
then the elements from

Added: commons/proper/configuration/trunk/xdocs/userguide/howto_filesystems.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/xdocs/userguide/howto_filesystems.xml?rev=761171&view=auto
==============================================================================
--- commons/proper/configuration/trunk/xdocs/userguide/howto_filesystems.xml 
(added)
+++ commons/proper/configuration/trunk/xdocs/userguide/howto_filesystems.xml 
Thu Apr  2 05:42:41 2009
@@ -0,0 +1,135 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<document>
+
+ <properties>
+  <title>File Systems</title>
+  <author email="rgo...@apache.org">Ralph Goers</author>
+ </properties>
+
+<body>
+    <section name="File Systems">
+      <p>
+        In its default mode of operation Commons Configuration supports 
retrieving and storing
+        configuration files either on a local file system or via http. 
However, Commons
+        Configuration provides support for allowing other File System 
adapters. All file
+        access is accomplished through the <code>FileSystem</code> interface 
so accessing files
+        using other mechanisms is possible.
+      </p>
+      <p>
+        Commons Configuration also provides a second FileSystem which allows 
retrieval using
+        <a href="http://commons.apache.org/vfs";>Apache Commons VFS</a>. As of 
this writing
+        Commons VFS supports 18 protocols for manipulating files.
+      </p>
+      <subsection name="Configuration">
+      <p>
+        The FileSystem used by Commons Configuration can be set in one of 
several ways:
+        <ol>
+          <li>A system property named 
"org.apache.commons.configuration.filesystem" can be defined
+          with the full class name of the desired <code>FileSystem</code> 
implementation to set the
+          default <code>FileSystem</code>.</li>
+          <li><code>FileSystem.setDefaultFilesystem()</code> can be called to 
directly set the
+          default <code>FileSystem</code> implementation.</li>
+          <li><code>DefaultConfigurationBuilder.setFileSystem()</code> can be 
called to set the
+          FileSystem implementation. <code>DefaultConfiguratonBuilder</code> 
will use this for each
+          configuration it creates</li>
+          <li><code>DefaultConfigurationBuilder</code> can be configured with 
the <code>FileSystem</code>
+          to be used when creating each of the configurations.</li>
+          <li>Each Configuration referenced in 
<code>DefaultConfigurationBuilder's</code>
+          configuration can be configured with the <code>FileSystem</code> to 
use for that
+          configuration.</li>
+          <li>Call setFileSystem() directly on any Configuration that 
implements <code>FileSystemBased.</code>
+          Both <code>AbstractFileConfiguration</code> and 
<code>AbstractHierarchicalFileConfiguration</code>
+          implement <code>FileSystemBased</code></li>
+        </ol>
+      </p>
+      <p>
+        The example that follows shows how to add <code>FileSystem</code> 
configuration to
+        <code>DefaultConfigurationBuilder</code>.
+      </p>
+     <source><![CDATA[
+<configuration>
+  <header>
+    <result delimiterParsingDisabled="true" forceReloadCheck="true">
+      <expressionEngine 
config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine"/>
+    </result>
+    <fileSystem config-class="org.apache.commons.configuration.VFSFileSystem"/>
+  </header>
+  <override>
+    <xml fileName="settings.xml" config-name="xml">
+      <fileSystem 
config-class="org.apache.commons.configuration.DefaultFileSystem"/>
+    </xml>
+  </override>
+</configuration>
+]]></source>       
+      </subsection>
+      <subsection name="File Options Provider">
+        <p>
+          Commons VFS allows options to the underlying file systems being 
used. Commons Configuration
+          allows applications to provide these by implementing the 
<code>FileOptionsProvider</code> interface
+          and registering the provider with the <code>FileSystem</code>. 
<code>FileOptionsProvider</code>
+          has a single method that must be implemented, 
<code>getOptions</code>, which returns a Map
+          containing the keys and values that the <code>FileSystem</code> 
might use. The getOptions
+          method is called as each configuration uses VFS to create a 
<code>FileOjbect</code> to
+          access the file. The map returned does not have to contain the same 
keys and/or values
+          each time it is called. For example, the value of the 
<code>currentUser</code> key can be
+          set to the id of the currently logged in user to allow a WebDAV save 
to record the userid
+          as a file attribute.
+        </p>
+      </subsection>
+      <subsection name="File Reloading Strategy">
+        <p>
+          The <code><a 
href="../apidocs/org/apache/commons/configuration/reloading/VFSFileMonitorReloadingStrategy.html">VFSFileMonitorReloadingStrategy</a></code>
+          can be used to cause Configurations accessed via the 
<code>VFSFileSystem</code> to be
+          monitored and reloaded when the files are modified. The example 
below shows how
+          <code>DefaultConfigurationBuilder</code> can be configured to use
+          <code>VFSFileMonitorReloadingStrategy</code>. While each declaration 
will result in
+          a new reloading strategy object, each instance will share a common 
<code>FileMonitor</code>.
+          The delay setting controls how often the <code>FileMonitor</code> 
checks for changes
+          and since there is only a single <code>FileMonitor</code>, only the 
largest value
+          specified on any <code>VFSFileMonitorReloadingStrategy</code> is 
used.
+          In the example below both test.properties and settings.xml would be 
checked for changes
+          once per minute.
+        </p>
+       <source><![CDATA[
+<configuration>
+  <header>
+    <result delimiterParsingDisabled="true" forceReloadCheck="true">
+      <expressionEngine 
config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine"/>
+    </result>
+    <fileSystem config-class="org.apache.commons.configuration.VFSFileSystem"/>
+  </header>
+  <override>
+    <properties fileName="test.properties" throwExceptionOnMissing="true">
+      <reloadingStrategy delay="60000"
+        
config-class="org.apache.commons.configuration.reloading.VFSFileMonitorReloadingStrategy"/>
+    </properties>
+    <xml fileName="settings.xml" config-name="xml">
+      <reloadingStrategy
+         
config-class="org.apache.commons.configuration.reloading.VFSFileMonitorReloadingStrategy"/>
+    </xml>
+  </override>
+</configuration>
+]]></source>
+      </subsection>
+    </section>
+
+</body>
+
+</document>

Propchange: 
commons/proper/configuration/trunk/xdocs/userguide/howto_filesystems.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: commons/proper/configuration/trunk/xdocs/userguide/user_guide.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/xdocs/userguide/user_guide.xml?rev=761171&r1=761170&r2=761171&view=diff
==============================================================================
--- commons/proper/configuration/trunk/xdocs/userguide/user_guide.xml (original)
+++ commons/proper/configuration/trunk/xdocs/userguide/user_guide.xml Thu Apr  
2 05:42:41 2009
@@ -84,13 +84,13 @@
         <li><a href="howto_xml.html#Accessing_structured_properties">Accessing 
structured properties</a></li>
         <li><a href="howto_xml.html#Adding_new_properties">Adding new 
properties</a></li>
         <li><a 
href="howto_xml.html#Escaping_dot_characters_in_property_names">Escaping dot 
characters in property names</a></li>
+        <li><a href="howto_xml.html#Expression_engines">Expression 
engines</a></li>
+        <ul>
+          <li><a href="howto_xml.html#The_default_expression_engine">The 
default expression engine</a></li>
+          <li><a href="howto_xml.html#The_XPATH_expression_engine">The XPATH 
expression engine</a></li>
+        </ul>
+        <li><a 
href="howto_xml.html#Validation_of_XML_configuration_files">Validation of XML 
configuration files</a></li>
       </ul>
-      <li><a href="howto_xml.html#Expression_engines">Expression 
engines</a></li>
-      <ul>
-        <li><a href="howto_xml.html#The_default_expression_engine">The default 
expression engine</a></li>
-        <li><a href="howto_xml.html#The_XPATH_expression_engine">The XPATH 
expression engine</a></li>
-      </ul>
-      <li><a 
href="howto_xml.html#Validation_of_XML_configuration_files">Validation of XML 
configuration files</a></li>
       <li><a 
href="howto_compositeconfiguration.html#Composite_Configuration_Details">Composite
 Configuration Details</a></li>
       <ul>
         <li><a 
href="howto_compositeconfiguration.html#Setting_Up_Defaults">Setting Up 
Defaults</a></li>
@@ -114,17 +114,17 @@
         <li><a 
href="howto_configurationfactory.html#The_configuration_definition_file">The 
configuration definition file</a></li>
         <li><a 
href="howto_configurationfactory.html#Setting_up_a_ConfigurationFactory">Setting
 up a ConfigurationFactory</a></li>
         <li><a 
href="howto_configurationfactory.html#Accessing_properties">Accessing 
properties</a></li>
-      </ul>
-      <li><a 
href="howto_configurationfactory.html#Multiple_configuration_sources">Multiple 
configuration sources</a></li>
-      <ul>
-        <li><a 
href="howto_configurationfactory.html#Overriding_properties">Overriding 
properties</a></li>
-        <li><a 
href="howto_configurationfactory.html#Optional_configuration_sources">Optional 
configuration sources</a></li>
-      </ul>
-      <li><a href="howto_configurationfactory.html#Union_configuration">Union 
configuration</a></li>
-      <li><a 
href="howto_configurationfactory.html#Configuration_definition_file_reference">Configuration
 definition file reference</a></li>
-      <ul>
-        <li><a 
href="howto_configurationfactory.html#Setting_further_options">Setting further 
options</a></li>
-        <li><a 
href="howto_configurationfactory.html#Referencing_system_properties">Referencing
 system properties</a></li>
+        <li><a 
href="howto_configurationfactory.html#Multiple_configuration_sources">Multiple 
configuration sources</a></li>
+        <ul>
+          <li><a 
href="howto_configurationfactory.html#Overriding_properties">Overriding 
properties</a></li>
+          <li><a 
href="howto_configurationfactory.html#Optional_configuration_sources">Optional 
configuration sources</a></li>
+        </ul>
+        <li><a 
href="howto_configurationfactory.html#Union_configuration">Union 
configuration</a></li>
+        <li><a 
href="howto_configurationfactory.html#Configuration_definition_file_reference">Configuration
 definition file reference</a></li>
+        <ul>
+          <li><a 
href="howto_configurationfactory.html#Setting_further_options">Setting further 
options</a></li>
+          <li><a 
href="howto_configurationfactory.html#Referencing_system_properties">Referencing
 system properties</a></li>
+        </ul>
       </ul>
       <li><a 
href="howto_configurationbuilder.html#Using_DefaultConfigurationBuilder">Using 
DefaultConfigurationBuilder</a></li>
       <ul>
@@ -154,6 +154,12 @@
         <li><a 
href="howto_utilities.html#Interpolation_of_all_variables">Interpolation of all 
variables</a></li>
         <li><a 
href="howto_utilities.html#Handling_of_runtime_exceptions">Handling of runtime 
exceptions</a></li>
       </ul>
+      <li><a href="howto_filesystems.html#File_Systems">File Systems</a></li>
+      <ul>
+        <li><a 
href="howto_filesystems.html#File_Systems#Configuration">Configuration</a></li>
+        <li><a 
href="howto_filesystems.html#File_Systems#File_Options_Provider">File Options 
Provider</a></li>
+        <li><a 
href="howto_filesystems.html#File_Systems#File_Reloading_Strategy">File 
Reloading Strategy</a></li>
+      </ul>
     </ul>
     </section>
 


Reply via email to