Author: oheger
Date: Sat Sep 28 19:41:08 2013
New Revision: 1527237

URL: http://svn.apache.org/r1527237
Log:
CatalogResolver now uses the locator-based method for locating files.

References to FileLocatorUtils.locate(FileSystem, String, String) have been
replaced by FileLocatorUtils.locate(FileLocator). This makes use of the
customizable location strategy.

Modified:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/resolver/CatalogResolver.java

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=1527237&r1=1527236&r2=1527237&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
 Sat Sep 28 19:41:08 2013
@@ -25,6 +25,7 @@ import java.util.Vector;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.interpol.ConfigurationInterpolator;
+import org.apache.commons.configuration.io.FileLocator;
 import org.apache.commons.configuration.io.FileLocatorUtils;
 import org.apache.commons.configuration.io.FileSystem;
 import org.apache.commons.logging.Log;
@@ -190,7 +191,7 @@ public class CatalogResolver implements 
 
             try
             {
-                URL url = FileLocatorUtils.locate(fs, null, resolved);
+                URL url = locate(fs, null, resolved);
                 if (url == null)
                 {
                     throw new ConfigurationException("Could not locate "
@@ -246,6 +247,23 @@ public class CatalogResolver implements 
     }
 
     /**
+     * Helper method for locating a given file. This implementation delegates 
to
+     * the corresponding method in {@link FileLocatorUtils}.
+     *
+     * @param fs the {@code FileSystem}
+     * @param basePath the base path
+     * @param name the file name
+     * @return the URL pointing to the file
+     */
+    private static URL locate(FileSystem fs, String basePath, String name)
+    {
+        FileLocator locator =
+                FileLocatorUtils.fileLocator().fileSystem(fs)
+                        .basePath(basePath).fileName(name).create();
+        return FileLocatorUtils.locate(locator);
+    }
+
+    /**
      * Extend the CatalogManager to make the FileSystem and base directory 
accessible.
      */
     public static class CatalogManager extends 
org.apache.xml.resolver.CatalogManager
@@ -397,7 +415,7 @@ public class CatalogResolver implements 
 
                     try
                     {
-                        url = FileLocatorUtils.locate(fs, base, fileName);
+                        url = locate(fs, base, fileName);
                         if (url != null)
                         {
                             is = fs.getInputStream(url);
@@ -447,7 +465,7 @@ public class CatalogResolver implements 
          */
         public void parseCatalog(String baseDir, String fileName) throws 
IOException
         {
-            base = FileLocatorUtils.locate(fs, baseDir, fileName);
+            base = locate(fs, baseDir, fileName);
             catalogCwd = base;
             default_override = catalogManager.getPreferPublic();
             catalogManager.debug.message(DEBUG_NORMAL, "Parse catalog: " + 
fileName);


Reply via email to