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/09/10 21:31:17 UTC

svn commit: r1521603 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration/ main/java/org/apache/commons/configuration/builder/ main/java/org/apache/commons/configuration/builder/combined/ main/java/org/apache/commons...

Author: oheger
Date: Tue Sep 10 19:31:15 2013
New Revision: 1521603

URL: http://svn.apache.org/r1521603
Log:
Moved all FileSystem-related classes to io package.

Functionality used from ConfigurationUtils was switched to be called from
FileLocatorUtils. Some methods which now caused compilation errors in
ConfigurationUtils (because FileUtils was moved, too) have been deleted (they
are replaced by corresponding methods in FileLocatorUtils).

Added:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/DefaultFileSystem.java
      - copied, changed from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileOptionsProvider.java
      - copied, changed from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileOptionsProvider.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileSystem.java
      - copied, changed from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileSystem.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileUtils.java
      - copied, changed from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileUtils.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VFSFileSystem.java
      - copied, changed from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VFSFileSystem.java
Removed:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileOptionsProvider.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileSystem.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileUtils.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VFSFileSystem.java
Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/ConfigurationUtils.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocator.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocatorUtils.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/FileHandlerReloadingDetector.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/VFSFileHandlerReloadingDetector.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/resolver/CatalogResolver.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestConfigurationUtils.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestXMLPropertiesConfiguration.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilderVFS.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileLocatorUtils.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestVFSFileHandlerReloadingDetector.java

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/ConfigurationUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/ConfigurationUtils.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/ConfigurationUtils.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/ConfigurationUtils.java Tue Sep 10 19:31:15 2013
@@ -32,6 +32,7 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.event.ConfigurationErrorListener;
 import org.apache.commons.configuration.event.ConfigurationListener;
 import org.apache.commons.configuration.event.EventSource;
+import org.apache.commons.configuration.io.FileSystem;
 import org.apache.commons.configuration.sync.NoOpSynchronizer;
 import org.apache.commons.configuration.sync.Synchronizer;
 import org.apache.commons.configuration.tree.ExpressionEngine;
@@ -721,78 +722,6 @@ public final class ConfigurationUtils
     }
 
     /**
-     * Tries to convert the specified base path and file name into a file object.
-     * This method is called e.g. by the save() methods of file based
-     * configurations. The parameter strings can be relative files, absolute
-     * files and URLs as well. This implementation checks first whether the passed in
-     * file name is absolute. If this is the case, it is returned. Otherwise
-     * further checks are performed whether the base path and file name can be
-     * combined to a valid URL or a valid file name. <em>Note:</em> The test
-     * if the passed in file name is absolute is performed using
-     * {@code java.io.File.isAbsolute()}. If the file name starts with a
-     * slash, this method will return <b>true</b> on Unix, but <b>false</b> on
-     * Windows. So to ensure correct behavior for relative file names on all
-     * platforms you should never let relative paths start with a slash. E.g.
-     * in a configuration definition file do not use something like that:
-     * <pre>
-     * &lt;properties fileName="/subdir/my.properties"/&gt;
-     * </pre>
-     * Under Windows this path would be resolved relative to the configuration
-     * definition file. Under Unix this would be treated as an absolute path
-     * name.
-     *
-     * @param basePath the base path
-     * @param fileName the file name
-     * @return the file object (<b>null</b> if no file can be obtained)
-     */
-    public static File getFile(String basePath, String fileName)
-    {
-        // Check if the file name is absolute
-        File f = new File(fileName);
-        if (f.isAbsolute())
-        {
-            return f;
-        }
-
-        // Check if URLs are involved
-        URL url;
-        try
-        {
-            url = new URL(new URL(basePath), fileName);
-        }
-        catch (MalformedURLException mex1)
-        {
-            try
-            {
-                url = new URL(fileName);
-            }
-            catch (MalformedURLException mex2)
-            {
-                url = null;
-            }
-        }
-
-        if (url != null)
-        {
-            return fileFromURL(url);
-        }
-
-        return constructFile(basePath, fileName);
-    }
-
-    /**
-     * Tries to convert the specified URL to a file object. If this fails,
-     * <b>null</b> is returned.
-     *
-     * @param url the URL
-     * @return the resulting file object
-     */
-    public static File fileFromURL(URL url)
-    {
-        return FileUtils.toFile(url);
-    }
-
-    /**
      * Convert the specified file into an URL. This method is equivalent
      * to file.toURI().toURL(). It was used to work around a bug in the JDK
      * preventing the transformation of a file into an URL if the file name

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java Tue Sep 10 19:31:15 2013
@@ -20,8 +20,8 @@ import java.io.File;
 import java.net.URL;
 import java.util.Map;
 
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileSystem;
 
 /**
  * <p>

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java Tue Sep 10 19:31:15 2013
@@ -19,7 +19,7 @@ package org.apache.commons.configuration
 import java.io.File;
 import java.net.URL;
 
-import org.apache.commons.configuration.FileSystem;
+import org.apache.commons.configuration.io.FileSystem;
 
 /**
  * <p>

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=1521603&r1=1521602&r2=1521603&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 Tue Sep 10 19:31:15 2013
@@ -33,7 +33,6 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.ConfigurationLookup;
 import org.apache.commons.configuration.ConfigurationRuntimeException;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.configuration.SubnodeConfiguration;
 import org.apache.commons.configuration.SystemConfiguration;
@@ -54,6 +53,7 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.builder.XMLBuilderProperties;
 import org.apache.commons.configuration.interpol.ConfigurationInterpolator;
 import org.apache.commons.configuration.interpol.Lookup;
+import org.apache.commons.configuration.io.FileSystem;
 import org.apache.commons.configuration.resolver.CatalogResolver;
 import org.apache.commons.configuration.tree.DefaultExpressionEngine;
 import org.apache.commons.configuration.tree.OverrideCombiner;

Copied: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/DefaultFileSystem.java (from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java)
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/DefaultFileSystem.java?p2=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/DefaultFileSystem.java&p1=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java&r1=1521600&r2=1521603&rev=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/DefaultFileSystem.java Tue Sep 10 19:31:15 2013
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.configuration;
+package org.apache.commons.configuration.io;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -27,7 +27,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
 
-import org.apache.commons.configuration.io.VerifiableOutputStream;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -50,7 +50,7 @@ public class DefaultFileSystem extends F
     {
         try
         {
-            URL url = ConfigurationUtils.locate(this, basePath, fileName);
+            URL url = FileLocatorUtils.locate(this, basePath, fileName);
 
             if (url == null)
             {
@@ -72,7 +72,7 @@ public class DefaultFileSystem extends F
     public InputStream getInputStream(URL url) throws ConfigurationException
     {
         // throw an exception if the target URL is a directory
-        File file = ConfigurationUtils.fileFromURL(url);
+        File file = FileLocatorUtils.fileFromURL(url);
         if (file != null && file.isDirectory())
         {
             throw new ConfigurationException("Cannot load a configuration from a directory");
@@ -93,7 +93,7 @@ public class DefaultFileSystem extends F
     {
         // file URLs have to be converted to Files since FileURLConnection is
         // read only (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4191800)
-        File file = ConfigurationUtils.fileFromURL(url);
+        File file = FileLocatorUtils.fileFromURL(url);
         if (file != null)
         {
             return getOutputStream(file);
@@ -191,7 +191,7 @@ public class DefaultFileSystem extends F
         try
         {
             url = getURL(null, path);
-            return ConfigurationUtils.getBasePath(url);
+            return FileLocatorUtils.getBasePath(url);
         }
         catch (Exception e)
         {
@@ -206,7 +206,7 @@ public class DefaultFileSystem extends F
         try
         {
             url = getURL(null, path);
-            return ConfigurationUtils.getFileName(url);
+            return FileLocatorUtils.getFileName(url);
         }
         catch (Exception e)
         {
@@ -221,7 +221,7 @@ public class DefaultFileSystem extends F
         File f = new File(file);
         if (f.isAbsolute()) // already absolute?
         {
-            return ConfigurationUtils.toURL(f);
+            return FileLocatorUtils.toURL(f);
         }
 
         try
@@ -238,7 +238,7 @@ public class DefaultFileSystem extends F
         }
         catch (MalformedURLException uex)
         {
-            return ConfigurationUtils.toURL(ConfigurationUtils.constructFile(basePath, file));
+            return FileLocatorUtils.toURL(FileLocatorUtils.constructFile(basePath, file));
         }
     }
 

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java Tue Sep 10 19:31:15 2013
@@ -32,8 +32,6 @@ import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.ConfigurationUtils;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.sync.LockMode;
 import org.apache.commons.configuration.sync.NoOpSynchronizer;
 import org.apache.commons.configuration.sync.Synchronizer;
@@ -315,11 +313,11 @@ public class FileHandler
         }
         else if (sourceURL != null)
         {
-            return ConfigurationUtils.fileFromURL(sourceURL);
+            return FileLocatorUtils.fileFromURL(sourceURL);
         }
         else
         {
-            return ConfigurationUtils.getFile(basePath, fileName);
+            return FileLocatorUtils.getFile(basePath, fileName);
         }
     }
 
@@ -400,7 +398,7 @@ public class FileHandler
             fileName = fileSpec.getFileName();
         }
 
-        return (sourceURL != null) ? sourceURL : ConfigurationUtils.locate(
+        return (sourceURL != null) ? sourceURL : FileLocatorUtils.locate(
                 fileSystem, basePath, fileName);
     }
 
@@ -555,7 +553,7 @@ public class FileHandler
         URL url;
         try
         {
-            url = ConfigurationUtils.toURL(file);
+            url = FileLocatorUtils.toURL(file);
         }
         catch (MalformedURLException e1)
         {
@@ -837,7 +835,7 @@ public class FileHandler
             throws ConfigurationException
     {
         URL url =
-                ConfigurationUtils.locate(spec.getFileSystem(),
+                FileLocatorUtils.locate(spec.getFileSystem(),
                         spec.getBasePath(), fileName);
 
         if (url == null)
@@ -1277,8 +1275,8 @@ public class FileHandler
      */
     private static void initFileSpecWithURL(FileSpec spec, URL url)
     {
-        String basePath = ConfigurationUtils.getBasePath(url);
-        String fileName = ConfigurationUtils.getFileName(url);
+        String basePath = FileLocatorUtils.getBasePath(url);
+        String fileName = FileLocatorUtils.getFileName(url);
         spec.setBasePath(basePath);
         spec.setFileName(fileName);
         spec.setSourceURL(url);

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocator.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocator.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocator.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocator.java Tue Sep 10 19:31:15 2013
@@ -18,8 +18,6 @@ package org.apache.commons.configuration
 
 import java.net.URL;
 
-import org.apache.commons.configuration.FileSystem;
-
 /**
  * <p>
  * An interface describing the location of a file.

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocatorUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocatorUtils.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocatorUtils.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileLocatorUtils.java Tue Sep 10 19:31:15 2013
@@ -21,11 +21,9 @@ import java.net.MalformedURLException;
 import java.net.URL;
 
 import org.apache.commons.configuration.ConfigurationUtils;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.codehaus.plexus.util.FileUtils;
 
 /**
  * <p>
@@ -35,13 +33,14 @@ import org.codehaus.plexus.util.FileUtil
  * The methods of this class are used behind the scenes when retrieving
  * configuration files based on different criteria, e.g. URLs, files, or more
  * complex search strategies. They also implement functionality required by the
- * default {@link FileSystem} implementations.
+ * default {@link FileSystem} implementations. Most methods are intended to be
+ * used internally only by other classes in the {@code io} package.
  * </p>
  *
  * @version $Id: $
  * @since 2.0
  */
-final class FileLocatorUtils
+public final class FileLocatorUtils
 {
     /** Constant for the file URL protocol */
     private static final String FILE_SCHEME = "file:";
@@ -63,7 +62,7 @@ final class FileLocatorUtils
      * @param url the URL
      * @return the resulting file object
      */
-    static File fileFromURL(URL url)
+    public static File fileFromURL(URL url)
     {
         return FileUtils.toFile(url);
     }
@@ -124,6 +123,66 @@ final class FileLocatorUtils
     }
 
     /**
+     * Tries to convert the specified base path and file name into a file object.
+     * This method is called e.g. by the save() methods of file based
+     * configurations. The parameter strings can be relative files, absolute
+     * files and URLs as well. This implementation checks first whether the passed in
+     * file name is absolute. If this is the case, it is returned. Otherwise
+     * further checks are performed whether the base path and file name can be
+     * combined to a valid URL or a valid file name. <em>Note:</em> The test
+     * if the passed in file name is absolute is performed using
+     * {@code java.io.File.isAbsolute()}. If the file name starts with a
+     * slash, this method will return <b>true</b> on Unix, but <b>false</b> on
+     * Windows. So to ensure correct behavior for relative file names on all
+     * platforms you should never let relative paths start with a slash. E.g.
+     * in a configuration definition file do not use something like that:
+     * <pre>
+     * &lt;properties fileName="/subdir/my.properties"/&gt;
+     * </pre>
+     * Under Windows this path would be resolved relative to the configuration
+     * definition file. Under Unix this would be treated as an absolute path
+     * name.
+     *
+     * @param basePath the base path
+     * @param fileName the file name
+     * @return the file object (<b>null</b> if no file can be obtained)
+     */
+    public static File getFile(String basePath, String fileName)
+    {
+        // Check if the file name is absolute
+        File f = new File(fileName);
+        if (f.isAbsolute())
+        {
+            return f;
+        }
+
+        // Check if URLs are involved
+        URL url;
+        try
+        {
+            url = new URL(new URL(basePath), fileName);
+        }
+        catch (MalformedURLException mex1)
+        {
+            try
+            {
+                url = new URL(fileName);
+            }
+            catch (MalformedURLException mex2)
+            {
+                url = null;
+            }
+        }
+
+        if (url != null)
+        {
+            return fileFromURL(url);
+        }
+
+        return constructFile(basePath, fileName);
+    }
+
+    /**
      * Convert the specified file into an URL. This method is equivalent
      * to file.toURI().toURL(). It was used to work around a bug in the JDK
      * preventing the transformation of a file into an URL if the file name

Copied: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileOptionsProvider.java (from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileOptionsProvider.java)
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileOptionsProvider.java?p2=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileOptionsProvider.java&p1=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileOptionsProvider.java&r1=1521600&r2=1521603&rev=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileOptionsProvider.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileOptionsProvider.java Tue Sep 10 19:31:15 2013
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.configuration;
+package org.apache.commons.configuration.io;
 
 import java.util.Map;
 

Copied: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileSystem.java (from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileSystem.java)
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileSystem.java?p2=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileSystem.java&p1=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileSystem.java&r1=1521600&r2=1521603&rev=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileSystem.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileSystem.java Tue Sep 10 19:31:15 2013
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.configuration;
+package org.apache.commons.configuration.io;
 
 import java.io.File;
 import java.io.InputStream;
@@ -22,6 +22,7 @@ import java.io.OutputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.logging.impl.NoOpLog;

Copied: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileUtils.java (from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileUtils.java)
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileUtils.java?p2=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileUtils.java&p1=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileUtils.java&r1=1521600&r2=1521603&rev=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/FileUtils.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileUtils.java Tue Sep 10 19:31:15 2013
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.configuration;
+package org.apache.commons.configuration.io;
 
 import java.io.File;
 import java.net.URL;
@@ -24,7 +24,7 @@ import java.nio.charset.Charset;
 /**
  * This class is a subset of org.apache.commons.io.FileUtils,
  * git-svn-id: https://svn.apache.org/repos/asf/commons/proper/io/trunk@1423916 13f79535-47bb-0310-9956-ffa450edef68.
- * The subset is determined by {@link org.apache.commons.configuration.ConfigurationUtils}.
+ * The subset is determined by {@link FileLocatorUtils}.
  * The copied constants and methods are <em>literally</em> copied.<br />
  *
  * See CONFIGURATION-521 for a discussion.

Copied: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VFSFileSystem.java (from r1521600, commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VFSFileSystem.java)
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VFSFileSystem.java?p2=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VFSFileSystem.java&p1=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VFSFileSystem.java&r1=1521600&r2=1521603&rev=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VFSFileSystem.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VFSFileSystem.java Tue Sep 10 19:31:15 2013
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.configuration;
+package org.apache.commons.configuration.io;
 
 import java.io.File;
 import java.io.IOException;
@@ -27,6 +27,8 @@ import java.net.URLConnection;
 import java.net.URLStreamHandler;
 import java.util.Map;
 
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.ConfigurationRuntimeException;
 import org.apache.commons.vfs2.FileContent;
 import org.apache.commons.vfs2.FileName;
 import org.apache.commons.vfs2.FileObject;

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/FileHandlerReloadingDetector.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/FileHandlerReloadingDetector.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/FileHandlerReloadingDetector.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/FileHandlerReloadingDetector.java Tue Sep 10 19:31:15 2013
@@ -20,8 +20,8 @@ import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.apache.commons.configuration.ConfigurationUtils;
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileLocatorUtils;
 
 /**
  * <p>
@@ -254,7 +254,7 @@ public class FileHandlerReloadingDetecto
             String path = url.getPath();
             try
             {
-                return ConfigurationUtils.fileFromURL(new URL(path.substring(0,
+                return FileLocatorUtils.fileFromURL(new URL(path.substring(0,
                         path.indexOf('!'))));
             }
             catch (MalformedURLException mex)
@@ -264,7 +264,7 @@ public class FileHandlerReloadingDetecto
         }
         else
         {
-            return ConfigurationUtils.fileFromURL(url);
+            return FileLocatorUtils.fileFromURL(url);
         }
     }
 }

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/VFSFileHandlerReloadingDetector.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/VFSFileHandlerReloadingDetector.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/VFSFileHandlerReloadingDetector.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/VFSFileHandlerReloadingDetector.java Tue Sep 10 19:31:15 2013
@@ -18,8 +18,8 @@
 package org.apache.commons.configuration.reloading;
 
 import org.apache.commons.configuration.ConfigurationRuntimeException;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileSystem;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.vfs2.FileObject;

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/resolver/CatalogResolver.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/resolver/CatalogResolver.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/resolver/CatalogResolver.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/resolver/CatalogResolver.java Tue Sep 10 19:31:15 2013
@@ -25,8 +25,8 @@ import java.util.Vector;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.ConfigurationUtils;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.interpol.ConfigurationInterpolator;
+import org.apache.commons.configuration.io.FileSystem;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.xml.resolver.CatalogException;

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestConfigurationUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestConfigurationUtils.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestConfigurationUtils.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestConfigurationUtils.java Tue Sep 10 19:31:15 2013
@@ -26,7 +26,6 @@ import static org.junit.Assert.assertSam
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -221,59 +220,6 @@ public class TestConfigurationUtils
     }
 
     @Test
-    public void testGetFile() throws Exception
-    {
-        File directory = new File("target");
-        File reference = new File(directory, "test.txt").getAbsoluteFile();
-
-        assertEquals(reference, ConfigurationUtils.getFile(null, reference.getAbsolutePath()));
-        assertEquals(reference, ConfigurationUtils.getFile(directory.getAbsolutePath(), reference.getAbsolutePath()));
-        assertEquals(reference, ConfigurationUtils.getFile(directory.getAbsolutePath(), reference.getName()));
-        assertEquals(reference, ConfigurationUtils.getFile(directory.toURI().toURL().toString(), reference.getName()));
-        assertEquals(reference, ConfigurationUtils.getFile("invalid", reference.toURI().toURL().toString()));
-        assertEquals(reference, ConfigurationUtils.getFile(
-                "jar:file:/C:/myjar.jar!/my-config.xml/someprops.properties",
-                reference.getAbsolutePath()));
-    }
-
-    /**
-     * Tests whether an encoded "%" character in the file name is handled correctly by
-     * fileFromURL(). This test is related to CONFIGURATION-521.
-     */
-    @Test
-    public void testFileFromURLWithEncodedPercent() throws MalformedURLException
-    {
-        File file = new File("https%3A%2F%2Fwww.apache.org%2F.url").getAbsoluteFile();
-        URL fileURL = file.toURI().toURL();
-        File file2 = ConfigurationUtils.fileFromURL(fileURL);
-        assertEquals("Wrong file", file, file2);
-    }
-
-    /**
-     * Tests whether a "+" character in the file name is handled correctly by
-     * fileFromURL(). This test is related to CONFIGURATION-415.
-     */
-    @Test
-    public void testFileFromURLWithPlus() throws MalformedURLException
-    {
-        File file = new File(new File("target"), "foo+bar.txt")
-                .getAbsoluteFile();
-        URL fileURL = file.toURI().toURL();
-        File file2 = ConfigurationUtils.fileFromURL(fileURL);
-        assertEquals("Wrong file", file, file2);
-    }
-
-    /**
-     * Tests whether fileFromURL() handles null URLs correctly.
-     */
-    @Test
-    public void testFileFromURLNull() throws Exception
-    {
-        assertNull("Wrong file for null URL", ConfigurationUtils
-                .fileFromURL(null));
-    }
-
-    @Test
     public void testLocateWithNullTCCL() throws Exception
     {
         ClassLoader cl = Thread.currentThread().getContextClassLoader();

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestXMLPropertiesConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestXMLPropertiesConfiguration.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestXMLPropertiesConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestXMLPropertiesConfiguration.java Tue Sep 10 19:31:15 2013
@@ -32,6 +32,7 @@ import javax.xml.transform.dom.DOMSource
 import javax.xml.transform.stream.StreamResult;
 
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileSystem;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java Tue Sep 10 19:31:15 2013
@@ -30,9 +30,9 @@ import java.util.Map;
 
 import org.apache.commons.beanutils.PropertyUtils;
 import org.apache.commons.configuration.ConfigurationAssert;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.io.FileBased;
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileSystem;
 import org.easymock.EasyMock;
 import org.junit.Test;
 

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=1521603&r1=1521602&r2=1521603&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 Tue Sep 10 19:31:15 2013
@@ -43,10 +43,7 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.ConfigurationAssert;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.ConfigurationRuntimeException;
-import org.apache.commons.configuration.ConfigurationUtils;
-import org.apache.commons.configuration.DefaultFileSystem;
 import org.apache.commons.configuration.DynamicCombinedConfiguration;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.configuration.SubnodeConfiguration;
@@ -68,7 +65,10 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.event.ConfigurationListener;
 import org.apache.commons.configuration.interpol.ConfigurationInterpolator;
 import org.apache.commons.configuration.interpol.Lookup;
+import org.apache.commons.configuration.io.DefaultFileSystem;
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileLocatorUtils;
+import org.apache.commons.configuration.io.FileSystem;
 import org.apache.commons.configuration.reloading.ReloadingController;
 import org.apache.commons.configuration.reloading.ReloadingControllerSupport;
 import org.apache.commons.configuration.resolver.CatalogResolver;
@@ -813,7 +813,7 @@ public class TestCombinedConfigurationBu
         XMLBuilderParametersImpl xmlParams = new XMLBuilderParametersImpl();
         builder.initChildBuilderParameters(xmlParams);
         File basePathFile =
-                ConfigurationUtils.fileFromURL(new URL(xmlParams
+                FileLocatorUtils.fileFromURL(new URL(xmlParams
                         .getFileHandler().getBasePath()));
         assertEquals("Wrong base path",
                 ConfigurationAssert.getTestFile(testFile).getAbsoluteFile(),

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilderVFS.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilderVFS.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilderVFS.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilderVFS.java Tue Sep 10 19:31:15 2013
@@ -25,10 +25,10 @@ import java.util.Map;
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationAssert;
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.VFSFileSystem;
 import org.apache.commons.configuration.builder.BasicConfigurationBuilder;
+import org.apache.commons.configuration.io.FileSystem;
+import org.apache.commons.configuration.io.VFSFileSystem;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java Tue Sep 10 19:31:15 2013
@@ -41,7 +41,6 @@ import java.net.URL;
 
 import org.apache.commons.configuration.ConfigurationAssert;
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.FileSystem;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.configuration.SynchronizerTestImpl;
 import org.apache.commons.configuration.SynchronizerTestImpl.Methods;

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileLocatorUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileLocatorUtils.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileLocatorUtils.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileLocatorUtils.java Tue Sep 10 19:31:15 2013
@@ -23,7 +23,6 @@ import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.apache.commons.configuration.DefaultFileSystem;
 import org.junit.Test;
 
 /**
@@ -102,6 +101,22 @@ public class TestFileLocatorUtils
     }
 
     @Test
+    public void testGetFile() throws Exception
+    {
+        File directory = new File("target");
+        File reference = new File(directory, "test.txt").getAbsoluteFile();
+
+        assertEquals(reference, FileLocatorUtils.getFile(null, reference.getAbsolutePath()));
+        assertEquals(reference, FileLocatorUtils.getFile(directory.getAbsolutePath(), reference.getAbsolutePath()));
+        assertEquals(reference, FileLocatorUtils.getFile(directory.getAbsolutePath(), reference.getName()));
+        assertEquals(reference, FileLocatorUtils.getFile(directory.toURI().toURL().toString(), reference.getName()));
+        assertEquals(reference, FileLocatorUtils.getFile("invalid", reference.toURI().toURL().toString()));
+        assertEquals(reference, FileLocatorUtils.getFile(
+                "jar:file:/C:/myjar.jar!/my-config.xml/someprops.properties",
+                reference.getAbsolutePath()));
+    }
+
+    @Test
     public void testLocateWithNullTCCL() throws Exception
     {
         ClassLoader cl = Thread.currentThread().getContextClassLoader();
@@ -110,7 +125,7 @@ public class TestFileLocatorUtils
             Thread.currentThread().setContextClassLoader(null);
             assertNull(FileLocatorUtils.locate(new DefaultFileSystem(), "abase", "aname"));
             // This assert fails when maven 2 is used, so commented out
-            //assertNotNull(ConfigurationUtils.locate("test.xml"));
+            //assertNotNull(FileLocatorUtils.locate("test.xml"));
         }
         finally
         {

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestVFSFileHandlerReloadingDetector.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestVFSFileHandlerReloadingDetector.java?rev=1521603&r1=1521602&r2=1521603&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestVFSFileHandlerReloadingDetector.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestVFSFileHandlerReloadingDetector.java Tue Sep 10 19:31:15 2013
@@ -26,9 +26,9 @@ import java.io.IOException;
 
 import org.apache.commons.configuration.ConfigurationAssert;
 import org.apache.commons.configuration.ConfigurationRuntimeException;
-import org.apache.commons.configuration.FileSystem;
-import org.apache.commons.configuration.VFSFileSystem;
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileSystem;
+import org.apache.commons.configuration.io.VFSFileSystem;
 import org.apache.commons.vfs2.FileName;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSystemException;