Merge -r 1331072:1331073 from trunk to branch. FIXES: HADOOP-8321

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1331075 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Alejandro Abdelnur 2012-04-26 20:36:43 +00:00
parent 16d6cbc9ef
commit fe7e9ba9d3
2 changed files with 11 additions and 10 deletions

View File

@ -262,6 +262,8 @@ Release 2.0.0 - UNRELEASED
HADOOP-8310. FileContext#checkPath should handle URIs with no port. (atm)
HADOOP-8321. TestUrlStreamHandler fails. (tucu)
BREAKDOWN OF HADOOP-7454 SUBTASKS
HADOOP-7455. HA: Introduce HA Service Protocol Interface. (suresh)

View File

@ -17,6 +17,7 @@
*/
package org.apache.hadoop.fs;
import java.io.IOException;
import java.net.URLStreamHandlerFactory;
import java.util.HashMap;
import java.util.Map;
@ -50,25 +51,23 @@ public class FsUrlStreamHandlerFactory implements
private java.net.URLStreamHandler handler;
public FsUrlStreamHandlerFactory() {
this.conf = new Configuration();
// force the resolution of the configuration files
// this is required if we want the factory to be able to handle
// file:// URLs
this.conf.getClass("fs.file.impl", null);
this.handler = new FsUrlStreamHandler(this.conf);
this(new Configuration());
}
public FsUrlStreamHandlerFactory(Configuration conf) {
this.conf = new Configuration(conf);
// force the resolution of the configuration files
this.conf.getClass("fs.file.impl", null);
this.handler = new FsUrlStreamHandler(this.conf);
}
public java.net.URLStreamHandler createURLStreamHandler(String protocol) {
if (!protocols.containsKey(protocol)) {
boolean known =
(conf.getClass("fs." + protocol + ".impl", null) != null);
boolean known = true;
try {
FileSystem.getFileSystemClass(protocol, conf);
}
catch (IOException ex) {
known = false;
}
protocols.put(protocol, known);
}
if (protocols.get(protocol)) {