You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by eb...@apache.org on 2008/02/18 00:19:06 UTC
svn commit: r628577 - in
/commons/proper/configuration/branches/configuration2_experimental/src:
main/java/org/apache/commons/configuration2/
test/java/org/apache/commons/configuration2/
Author: ebourg
Date: Sun Feb 17 15:18:59 2008
New Revision: 628577
URL: http://svn.apache.org/viewvc?rev=628577&view=rev
Log:
CONFIGURATION-300: Fixed the creation of a file based configuration if the filename contains a '#'
Modified:
commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/AbstractFileConfiguration.java
commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java
commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/AbstractFileConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/AbstractFileConfiguration.java?rev=628577&r1=628576&r2=628577&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/AbstractFileConfiguration.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/AbstractFileConfiguration.java Sun Feb 17 15:18:59 2008
@@ -239,7 +239,7 @@
{
try
{
- load(file.toURL());
+ load(file.toURI().toURL());
}
catch (ConfigurationException e)
{
Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java?rev=628577&r1=628576&r2=628577&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java Sun Feb 17 15:18:59 2008
@@ -291,7 +291,7 @@
File f = new File(file);
if (f.isAbsolute()) // already absolute?
{
- return f.toURL();
+ return f.toURI().toURL();
}
try
@@ -308,7 +308,7 @@
}
catch (MalformedURLException uex)
{
- return constructFile(basePath, file).toURL();
+ return constructFile(basePath, file).toURI().toURL();
}
}
@@ -449,7 +449,7 @@
{
try
{
- url = file.toURL();
+ url = file.toURI().toURL();
log.fine("Loading configuration from the absolute path " + name);
}
catch (MalformedURLException e)
@@ -467,7 +467,7 @@
File file = constructFile(base, name);
if (file != null && file.exists())
{
- url = file.toURL();
+ url = file.toURI().toURL();
}
if (url != null)
@@ -489,7 +489,7 @@
File file = constructFile(System.getProperty("user.home"), name);
if (file != null && file.exists())
{
- url = file.toURL();
+ url = file.toURI().toURL();
}
if (url != null)
Modified: commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java?rev=628577&r1=628576&r2=628577&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java Sun Feb 17 15:18:59 2008
@@ -34,12 +34,6 @@
import java.util.Iterator;
import java.util.List;
-import org.apache.commons.configuration2.BaseConfiguration;
-import org.apache.commons.configuration2.Configuration;
-import org.apache.commons.configuration2.ConfigurationException;
-import org.apache.commons.configuration2.ConfigurationFactory;
-import org.apache.commons.configuration2.PropertiesConfiguration;
-import org.apache.commons.configuration2.PropertiesConfigurationLayout;
import org.apache.commons.configuration2.reloading.FileChangedReloadingStrategy;
import junit.framework.TestCase;
@@ -743,6 +737,20 @@
assertTrue("Wrong root cause: " + cex,
cex.getCause() instanceof IOException);
}
+ }
+
+ /**
+ * Test the creation of a file containing a '#' in its name.
+ */
+ public void testFileWithSharpSymbol() throws Exception
+ {
+ File file = new File("target/sharp#1.properties");
+ file.createNewFile();
+
+ PropertiesConfiguration conf = new PropertiesConfiguration(file);
+ conf.save();
+
+ assertTrue("Missing file " + file, file.exists());
}
/**