You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oh...@apache.org on 2005/07/10 20:18:21 UTC

svn commit: r210026 - in /jakarta/commons/proper/configuration/trunk: src/java/org/apache/commons/configuration/ src/test/org/apache/commons/configuration/ xdocs/

Author: oheger
Date: Sun Jul 10 11:18:19 2005
New Revision: 210026

URL: http://svn.apache.org/viewcvs?rev=210026&view=rev
Log:
Fix for AbstractFileConfiguration and PropertiesConfiguration to correctly resolve included files when the source file was loaded from class path

Modified:
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java
    jakarta/commons/proper/configuration/trunk/xdocs/changes.xml

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java?rev=210026&r1=210025&r2=210026&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java Sun Jul 10 11:18:19 2005
@@ -31,6 +31,7 @@
 
 import org.apache.commons.configuration.reloading.InvariantReloadingStrategy;
 import org.apache.commons.configuration.reloading.ReloadingStrategy;
+import org.apache.commons.lang.StringUtils;
 
 /**
  * <p>Partial implementation of the <code>FileConfiguration</code> interface.
@@ -241,6 +242,11 @@
     {
         if (sourceURL == null)
         {
+            if(StringUtils.isEmpty(getBasePath()))
+            {
+                // ensure that we have a valid base path
+                setBasePath(url.toString());
+            }
             sourceURL = url;
         }
         InputStream in = null;

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java?rev=210026&r1=210025&r2=210026&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java Sun Jul 10 11:18:19 2005
@@ -141,7 +141,7 @@
     static String include = "include";
 
     /** Allow file inclusion or not */
-    private boolean includesAllowed = true;
+    private boolean includesAllowed;
 
     /** Comment header of the .properties file */
     private String header;

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java?rev=210026&r1=210025&r2=210026&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java Sun Jul 10 11:18:19 2005
@@ -347,4 +347,13 @@
         assertEquals("C:\\path2\\", list.get(1));
         assertEquals("C:\\path3\\complex\\test\\", list.get(2));
     }
+    
+    /**
+     * Tests if included files are loaded when the source lies in the class path.
+     */
+    public void testLoadIncludeFromClassPath() throws ConfigurationException
+    {
+        conf = new PropertiesConfiguration("test.properties");
+        assertEquals("true", conf.getString("include.loaded"));
+    }
 }

Modified: jakarta/commons/proper/configuration/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/xdocs/changes.xml?rev=210026&r1=210025&r2=210026&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/configuration/trunk/xdocs/changes.xml Sun Jul 10 11:18:19 2005
@@ -23,6 +23,11 @@
   <body>
 
     <release version="1.2-dev" date="in SVN">
+      <action dev="oheger" type="update" issue="35621">
+        AbstractFileConfiguration now always sets a valid base path if the
+        configuration file could be located. This allows PropertiesConfiguration
+        to resolve include files even when loaded from class path.
+      </action>
       <action dev="oheger" type="update" issue="35509">
         Updated XMLConfiguration to correctly deal with properties containing
         dots in their names. Such properties could not be accessed before.



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org