HADOOP-11613. Remove commons-httpclient dependency from hadoop-azure. Contributed by Masatake Iwasaki.

This commit is contained in:
cnauroth 2016-02-22 13:39:38 -08:00
parent a63301a864
commit d4f5fc23b2
2 changed files with 15 additions and 21 deletions

View File

@ -1137,6 +1137,9 @@ Release 2.8.0 - UNRELEASED
HADOOP-12828. Print user when services are started.
(Wei-Chiu Chuang via Yongjun Zhang)
HADOOP-11613. Remove commons-httpclient dependency from hadoop-azure.
(Masatake Iwasaki via cnauroth)
OPTIMIZATIONS
HADOOP-11785. Reduce the number of listStatus operation in distcp

View File

@ -33,9 +33,10 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.TimeZone;
import java.util.List;
import org.apache.commons.httpclient.URIException;
import org.apache.commons.httpclient.util.URIUtil;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.net.URLCodec;
import org.apache.commons.lang.NotImplementedException;
import org.apache.http.client.utils.URIBuilder;
import com.microsoft.azure.storage.AccessCondition;
import com.microsoft.azure.storage.CloudStorageAccount;
@ -68,6 +69,7 @@ public class MockStorageInterface extends StorageInterface {
private final ArrayList<PreExistingContainer> preExistingContainers =
new ArrayList<MockStorageInterface.PreExistingContainer>();
private String baseUriString;
private static final URLCodec codec = new URLCodec();
public InMemoryBlockBlobStore getBackingStore() {
return backingStore;
@ -126,22 +128,17 @@ public class MockStorageInterface extends StorageInterface {
*/
private static String convertUriToDecodedString(URI uri) {
try {
String result = URIUtil.decode(uri.toString());
return result;
} catch (URIException e) {
return codec.decode(uri.toString());
} catch (DecoderException e) {
throw new AssertionError("Failed to decode URI: " + uri.toString());
}
}
private static URI convertKeyToEncodedUri(String key) {
try {
String encodedKey = URIUtil.encodePath(key);
URI uri = new URI(encodedKey);
return uri;
return new URIBuilder().setPath(key).build();
} catch (URISyntaxException e) {
throw new AssertionError("Failed to encode key: " + key);
} catch (URIException e) {
throw new AssertionError("Failed to encode key: " + key);
}
}
@ -149,11 +146,8 @@ public class MockStorageInterface extends StorageInterface {
public CloudBlobContainerWrapper getContainerReference(String name)
throws URISyntaxException, StorageException {
String fullUri;
try {
fullUri = baseUriString + "/" + URIUtil.encodePath(name);
} catch (URIException e) {
throw new RuntimeException("problem encoding fullUri", e);
}
URIBuilder builder = new URIBuilder(baseUriString);
fullUri = builder.setPath(builder.getPath() + "/" + name).toString();
MockCloudBlobContainerWrapper container = new MockCloudBlobContainerWrapper(
fullUri, name);
@ -243,8 +237,6 @@ public class MockStorageInterface extends StorageInterface {
// helper to create full URIs for directory and blob.
// use withTrailingSlash=true to get a good path for a directory.
private String fullUriString(String relativePath, boolean withTrailingSlash) {
String fullUri;
String baseUri = this.baseUri;
if (!baseUri.endsWith("/")) {
baseUri += "/";
@ -255,12 +247,11 @@ public class MockStorageInterface extends StorageInterface {
}
try {
fullUri = baseUri + URIUtil.encodePath(relativePath);
} catch (URIException e) {
URIBuilder builder = new URIBuilder(baseUri);
return builder.setPath(builder.getPath() + relativePath).toString();
} catch (URISyntaxException e) {
throw new RuntimeException("problem encoding fullUri", e);
}
return fullUri;
}
}