You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2013/02/16 16:29:41 UTC
svn commit: r1446904 - in /commons/proper/configuration/trunk/src:
main/java/org/apache/commons/configuration/builder/combined/
test/java/org/apache/commons/configuration/builder/combined/
Author: oheger
Date: Sat Feb 16 15:29:40 2013
New Revision: 1446904
URL: http://svn.apache.org/r1446904
Log:
Improved handling of base path; it is now derived from the URL of the definition builder if possible.
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java?rev=1446904&r1=1446903&r2=1446904&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java Sat Feb 16 15:29:40 2013
@@ -16,6 +16,7 @@
*/
package org.apache.commons.configuration.builder.combined;
+import java.net.URL;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -1104,10 +1105,12 @@ public class CombinedConfigurationBuilde
if (defBuilder instanceof FileBasedConfigurationBuilder)
{
@SuppressWarnings("rawtypes")
- FileBasedConfigurationBuilder fileBuilder = (FileBasedConfigurationBuilder) defBuilder;
- currentXMLParameters
- .setBasePath(fileBuilder
- .getFileHandler().getBasePath());
+ FileBasedConfigurationBuilder fileBuilder =
+ (FileBasedConfigurationBuilder) defBuilder;
+ URL url = fileBuilder.getFileHandler().getURL();
+ currentXMLParameters.setBasePath((url != null) ? url
+ .toExternalForm() : fileBuilder.getFileHandler()
+ .getBasePath());
}
}
}
Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java?rev=1446904&r1=1446903&r2=1446904&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java Sat Feb 16 15:29:40 2013
@@ -25,6 +25,8 @@ import static org.junit.Assert.assertSam
import static org.junit.Assert.assertTrue;
import java.io.File;
+import java.io.IOException;
+import java.net.URL;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -38,6 +40,7 @@ import org.apache.commons.configuration.
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationAssert;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.ConfigurationUtils;
import org.apache.commons.configuration.DefaultFileSystem;
import org.apache.commons.configuration.DynamicCombinedConfiguration;
import org.apache.commons.configuration.FileSystem;
@@ -787,18 +790,23 @@ public class TestCombinedConfigurationBu
*/
@Test
public void testDefaultBasePathFromDefinitionBuilder()
- throws ConfigurationException
+ throws ConfigurationException, IOException
{
String testFile = "testCCSystemProperties.xml";
- String basePath = ConfigurationAssert.TEST_DIR.getAbsolutePath();
builder.configure(new CombinedBuilderParametersImpl()
.setDefinitionBuilderParameters(new FileBasedBuilderParametersImpl()
- .setBasePath(basePath).setFileName(testFile)));
+ .setBasePath(
+ ConfigurationAssert.TEST_DIR.getAbsolutePath())
+ .setFileName(testFile)));
builder.getConfiguration();
XMLBuilderParametersImpl xmlParams = new XMLBuilderParametersImpl();
builder.initChildBuilderParameters(xmlParams);
- assertEquals("Base path not set", basePath, xmlParams.getFileHandler()
- .getBasePath());
+ File basePathFile =
+ ConfigurationUtils.fileFromURL(new URL(xmlParams
+ .getFileHandler().getBasePath()));
+ assertEquals("Wrong base path",
+ ConfigurationAssert.getTestFile(testFile).getAbsoluteFile(),
+ basePathFile);
}
/**