Index: conf/include-interpol.properties =================================================================== --- conf/include-interpol.properties Thu Oct 09 16:52:34 EST 2008 +++ conf/include-interpol.properties Thu Oct 09 16:52:34 EST 2008 @@ -0,0 +1,4 @@ +include.interpol.loaded = true + + + Index: src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java =================================================================== --- src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java (revision 702743) +++ src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java Thu Oct 09 16:56:51 EST 2008 @@ -113,6 +113,16 @@ assertEquals("true", loaded); } + /** + * test if includes properties from interpolated file + * name get loaded + */ + public void testLoadIncludeInterpol() throws Exception + { + String loaded = conf.getString("include.interpol.loaded"); + assertEquals("true", loaded); + } + public void testSetInclude() throws Exception { // change the include key Index: src/java/org/apache/commons/configuration/PropertiesConfiguration.java =================================================================== --- src/java/org/apache/commons/configuration/PropertiesConfiguration.java (revision 702743) +++ src/java/org/apache/commons/configuration/PropertiesConfiguration.java Thu Oct 09 16:58:18 EST 2008 @@ -504,7 +504,7 @@ } for (int i = 0; i < files.length; i++) { - loadIncludeFile(files[i].trim()); + loadIncludeFile(interpolate(files[i].trim())); } } result = false; Index: conf/test.properties =================================================================== --- conf/test.properties (revision 702743) +++ conf/test.properties Thu Oct 09 17:13:40 EST 2008 @@ -5,6 +5,9 @@ include = include.properties +include.file = include-interpol.properties +include = ${include.file} + test.unescape = This \n string \t contains \" escaped \\ character\u0073 test.unescape.list-separator = This string contains \, an escaped list separator