瀏覽代碼

HADOOP-377. Permit one to add URL resources to a Configuration. Contributed by Jean-Baptiste Quenot.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@427683 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 19 年之前
父節點
當前提交
a463e2c836
共有 2 個文件被更改,包括 21 次插入1 次删除
  1. 3 0
      CHANGES.txt
  2. 18 1
      src/java/org/apache/hadoop/conf/Configuration.java

+ 3 - 0
CHANGES.txt

@@ -114,6 +114,9 @@ Trunk (unreleased changes)
 32. HADOOP-396.  Make DatanodeID implement Writable.
     (Konstantin Shvachko via cutting)
 
+33. HADOOP-377.  Permit one to add URL resources to a Configuration.
+    (Jean-Baptiste Quenot via cutting)
+
 
 Release 0.4.0 - 2006-06-28
 

+ 18 - 1
src/java/org/apache/hadoop/conf/Configuration.java

@@ -87,6 +87,11 @@ public class Configuration {
     addResource(defaultResources, name);
   }
 
+  /** Add a default resource. */
+  public void addDefaultResource(URL url) {
+    addResource(defaultResources, url);
+  }
+
   /** Add a default resource. */
   public void addDefaultResource(Path file) {
     addResource(defaultResources, file);
@@ -97,6 +102,11 @@ public class Configuration {
     addResource(finalResources, name);
   }
 
+  /** Add a final resource. */
+  public void addFinalResource(URL url) {
+    addResource(finalResources, url);
+  }
+
   /** Add a final resource. */
   public void addFinalResource(Path file) {
     addResource(finalResources, file);
@@ -391,7 +401,14 @@ public class Configuration {
         DocumentBuilderFactory.newInstance().newDocumentBuilder();
       Document doc = null;
 
-      if (name instanceof String) {               // a CLASSPATH resource
+
+      if (name instanceof URL) {                  // an URL resource
+        URL url = (URL)name;
+        if (url != null) {
+          LOG.info("parsing " + url);
+          doc = builder.parse(url.toString());
+        }
+      } else if (name instanceof String) {        // a CLASSPATH resource
         URL url = getResource((String)name);
         if (url != null) {
           LOG.info("parsing " + url);