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