Replace uses of ByteArrayPayload Prefer ByteSourcePayload which offers a superset of its functionality. Note that ByteArrayPayload implicitly set the contentLength while users of ByteSourcePayload must do so explicitly.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/bd5b6853 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/bd5b6853 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/bd5b6853 Branch: refs/heads/master Commit: bd5b6853ee4d2397f49e27d68818b01123fa7bd2 Parents: a4bc36d Author: Andrew Gaul <[email protected]> Authored: Sat Sep 6 16:46:17 2014 -0700 Committer: Andrew Gaul <[email protected]> Committed: Sun Sep 7 07:43:14 2014 -0700 ---------------------------------------------------------------------- blobstore/src/main/clojure/org/jclouds/blobstore2.clj | 2 +- .../blobstore/strategy/internal/MarkerFileMkdirStrategy.java | 7 ++++--- core/src/main/java/org/jclouds/http/HttpMessage.java | 2 +- core/src/main/java/org/jclouds/io/Payloads.java | 5 ++++- .../main/java/org/jclouds/io/internal/BasePayloadSlicer.java | 4 ++-- .../src/main/java/org/jclouds/io/payloads/StringPayload.java | 2 +- .../org/jclouds/rest/internal/RestAnnotationProcessor.java | 2 +- .../main/java/org/jclouds/http/apachehc/ApacheHCUtils.java | 6 ------ .../main/java/org/jclouds/gae/ConvertToJcloudsResponse.java | 2 +- .../test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java | 4 ++-- .../java/org/jclouds/azureblob/AzureBlobClientLiveTest.java | 8 ++++---- 11 files changed, 21 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/blobstore/src/main/clojure/org/jclouds/blobstore2.clj ---------------------------------------------------------------------- diff --git a/blobstore/src/main/clojure/org/jclouds/blobstore2.clj b/blobstore/src/main/clojure/org/jclouds/blobstore2.clj index ed3d977..98d51cb 100644 --- a/blobstore/src/main/clojure/org/jclouds/blobstore2.clj +++ b/blobstore/src/main/clojure/org/jclouds/blobstore2.clj @@ -82,7 +82,7 @@ See http://code.google.com/p/jclouds for details." ;; hence separating it from the above (extend-protocol PayloadSource (class (make-array Byte/TYPE 0)) - (payload [ba] (Payloads/newByteArrayPayload ba))) + (payload [ba] (Payloads/newPayload ba))) (defn blobstore "Create a logged in context. http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkerFileMkdirStrategy.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkerFileMkdirStrategy.java b/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkerFileMkdirStrategy.java index d3e56a0..369aa4e 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkerFileMkdirStrategy.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkerFileMkdirStrategy.java @@ -16,8 +16,6 @@ */ package org.jclouds.blobstore.strategy.internal; -import static org.jclouds.io.Payloads.newByteArrayPayload; - import javax.inject.Named; import javax.inject.Singleton; @@ -26,6 +24,7 @@ import org.jclouds.blobstore.domain.StorageType; import org.jclouds.blobstore.reference.BlobStoreConstants; import org.jclouds.blobstore.strategy.MkdirStrategy; +import com.google.common.io.ByteSource; import com.google.inject.Inject; /** @@ -50,6 +49,8 @@ public class MarkerFileMkdirStrategy implements MkdirStrategy { blobStore.putBlob( containerName, blobStore.blobBuilder(directory + directorySuffix).type(StorageType.RELATIVE_PATH) - .payload(newByteArrayPayload(new byte[] {})).contentType("application/directory").build()); + .payload(ByteSource.empty()) + .contentLength(0L) + .contentType("application/directory").build()); } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/core/src/main/java/org/jclouds/http/HttpMessage.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/http/HttpMessage.java b/core/src/main/java/org/jclouds/http/HttpMessage.java index 424a687..d702c69 100644 --- a/core/src/main/java/org/jclouds/http/HttpMessage.java +++ b/core/src/main/java/org/jclouds/http/HttpMessage.java @@ -69,7 +69,7 @@ public class HttpMessage extends PayloadEnclosingImpl { */ @Deprecated public T payload(byte [] payload) { - this.payload = Payloads.newByteArrayPayload(checkNotNull(payload, "payload")); + this.payload = Payloads.newPayload(checkNotNull(payload, "payload")); return self(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/core/src/main/java/org/jclouds/io/Payloads.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/Payloads.java b/core/src/main/java/org/jclouds/io/Payloads.java index 1ccacf7..0a65d63 100644 --- a/core/src/main/java/org/jclouds/io/Payloads.java +++ b/core/src/main/java/org/jclouds/io/Payloads.java @@ -46,7 +46,10 @@ public class Payloads { } else if (data instanceof InputStream) { return newInputStreamPayload((InputStream) data); } else if (data instanceof byte[]) { - return newByteArrayPayload((byte[]) data); + byte[] array = (byte[]) data; + Payload payload = newByteSourcePayload(ByteSource.wrap(array)); + payload.getContentMetadata().setContentLength((long) array.length); + return payload; } else if (data instanceof ByteSource) { return newByteSourcePayload((ByteSource) data); } else if (data instanceof String) { http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java b/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java index d3a41f3..b9fa973 100644 --- a/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java +++ b/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java @@ -33,9 +33,9 @@ import javax.inject.Singleton; import org.jclouds.io.ContentMetadata; import org.jclouds.io.Payload; +import org.jclouds.io.Payloads; import org.jclouds.io.PayloadSlicer; import org.jclouds.io.payloads.BaseMutableContentMetadata; -import org.jclouds.io.payloads.ByteArrayPayload; import org.jclouds.io.payloads.ByteSourcePayload; import org.jclouds.io.payloads.InputStreamPayload; @@ -119,7 +119,7 @@ public class BasePayloadSlicer implements PayloadSlicer { Payload payload = null; if (content.length > 0) { - payload = new ByteArrayPayload(content); + payload = Payloads.newPayload(content); ContentMetadata cm = metaData.toBuilder().contentLength((long)content.length).contentMD5((HashCode) null).build(); payload.setContentMetadata(BaseMutableContentMetadata.fromContentMetadata(cm)); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/core/src/main/java/org/jclouds/io/payloads/StringPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/StringPayload.java b/core/src/main/java/org/jclouds/io/payloads/StringPayload.java index 3865062..8342324 100644 --- a/core/src/main/java/org/jclouds/io/payloads/StringPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/StringPayload.java @@ -23,7 +23,7 @@ import com.google.common.base.Charsets; /** * This implementation converts the String to a byte array using UTF-8 encoding. If you wish to use - * a different encoding, please use {@link ByteArrayPayload}. + * a different encoding, please use {@link ByteSourcePayload}. * * @deprecated see ByteSourcePayload */ http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java b/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java index e5f1c13..0f12ba3 100644 --- a/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java +++ b/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java @@ -300,7 +300,7 @@ public class RestAnnotationProcessor implements Function<Invocation, HttpRequest payload = Payloads.newUrlEncodedFormPayload(transformValues(formParams, NullableToStringFunction.INSTANCE)); } else if (headers.containsKey(CONTENT_TYPE) && !HttpRequest.NON_PAYLOAD_METHODS.contains(requestMethod)) { if (payload == null) - payload = Payloads.newByteArrayPayload(new byte[] {}); + payload = Payloads.newPayload(new byte[] {}); payload.getContentMetadata().setContentType(get(headers.get(CONTENT_TYPE), 0)); } if (payload != null) { http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java ---------------------------------------------------------------------- diff --git a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java index c1c5f22..065f303 100644 --- a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java +++ b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java @@ -36,7 +36,6 @@ import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPut; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.client.methods.HttpUriRequest; -import org.apache.http.entity.ByteArrayEntity; import org.apache.http.entity.FileEntity; import org.apache.http.entity.InputStreamEntity; import org.apache.http.entity.StringEntity; @@ -48,7 +47,6 @@ import org.jclouds.io.ContentMetadataCodec; import org.jclouds.io.MutableContentMetadata; import org.jclouds.io.Payload; import org.jclouds.io.payloads.BasePayload; -import org.jclouds.io.payloads.ByteArrayPayload; import org.jclouds.io.payloads.DelegatingPayload; import org.jclouds.io.payloads.FilePayload; import org.jclouds.io.payloads.StringPayload; @@ -139,10 +137,6 @@ public class ApacheHCUtils { } else if (payload instanceof FilePayload) { apacheRequest.setEntity(new FileEntity((File) payload.getRawContent(), payload.getContentMetadata() .getContentType())); - } else if (payload instanceof ByteArrayPayload) { - ByteArrayEntity Entity = new ByteArrayEntity((byte[]) payload.getRawContent()); - Entity.setContentType(payload.getContentMetadata().getContentType()); - apacheRequest.setEntity(Entity); } else { InputStream inputStream = payload.getInput(); if (payload.getContentMetadata().getContentLength() == null) http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/drivers/gae/src/main/java/org/jclouds/gae/ConvertToJcloudsResponse.java ---------------------------------------------------------------------- diff --git a/drivers/gae/src/main/java/org/jclouds/gae/ConvertToJcloudsResponse.java b/drivers/gae/src/main/java/org/jclouds/gae/ConvertToJcloudsResponse.java index 181585e..7cdf54c 100644 --- a/drivers/gae/src/main/java/org/jclouds/gae/ConvertToJcloudsResponse.java +++ b/drivers/gae/src/main/java/org/jclouds/gae/ConvertToJcloudsResponse.java @@ -43,7 +43,7 @@ public class ConvertToJcloudsResponse implements Function<HTTPResponse, HttpResp @Override public HttpResponse apply(HTTPResponse gaeResponse) { - Payload payload = gaeResponse.getContent() != null ? Payloads.newByteArrayPayload(gaeResponse.getContent()) + Payload payload = gaeResponse.getContent() != null ? Payloads.newPayload(gaeResponse.getContent()) : null; Multimap<String, String> headers = LinkedHashMultimap.create(); String message = null; http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java ---------------------------------------------------------------------- diff --git a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java index 7fe6b8c..14e0c74 100644 --- a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java +++ b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java @@ -18,7 +18,6 @@ package org.jclouds.aws.s3; import static com.google.common.hash.Hashing.md5; import static org.jclouds.aws.s3.blobstore.options.AWSS3PutOptions.Builder.storageClass; -import static org.jclouds.io.Payloads.newByteArrayPayload; import static org.jclouds.s3.options.ListBucketOptions.Builder.withPrefix; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @@ -42,6 +41,7 @@ import org.jclouds.blobstore.options.PutOptions; import org.jclouds.domain.Location; import org.jclouds.io.ByteStreams2; import org.jclouds.io.Payload; +import org.jclouds.io.Payloads; import org.jclouds.s3.S3Client; import org.jclouds.s3.S3ClientLiveTest; import org.jclouds.s3.domain.ListBucketResponse; @@ -93,7 +93,7 @@ public class AWSS3ClientLiveTest extends S3ClientLiveTest { byte[] buffer = oneHundredOneConstitutions.read(); assertEquals(oneHundredOneConstitutions.size(), (long) buffer.length); - Payload part1 = newByteArrayPayload(buffer); + Payload part1 = Payloads.newPayload(buffer); part1.getContentMetadata().setContentLength((long) buffer.length); part1.getContentMetadata().setContentMD5(oneHundredOneConstitutionsMD5); http://git-wip-us.apache.org/repos/asf/jclouds/blob/bd5b6853/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java ---------------------------------------------------------------------- diff --git a/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java b/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java index 836d7de..5966e7b 100644 --- a/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java +++ b/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java @@ -45,7 +45,7 @@ import org.jclouds.blobstore.ContainerNotFoundException; import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest; import org.jclouds.http.HttpResponseException; import org.jclouds.http.options.GetOptions; -import org.jclouds.io.payloads.ByteArrayPayload; +import org.jclouds.io.Payloads; import org.jclouds.util.Strings2; import org.jclouds.util.Throwables2; import org.testng.annotations.Test; @@ -361,9 +361,9 @@ public class AzureBlobClientLiveTest extends BaseBlobStoreIntegrationTest { String blockIdB = BaseEncoding.base64().encode((blockBlob + "-" + B).getBytes()); String blockIdC = BaseEncoding.base64().encode((blockBlob + "-" + C).getBytes()); getApi().createContainer(blockContainer); - getApi().putBlock(blockContainer, blockBlob, blockIdA, new ByteArrayPayload(A.getBytes())); - getApi().putBlock(blockContainer, blockBlob, blockIdB, new ByteArrayPayload(B.getBytes())); - getApi().putBlock(blockContainer, blockBlob, blockIdC, new ByteArrayPayload(C.getBytes())); + getApi().putBlock(blockContainer, blockBlob, blockIdA, Payloads.newPayload(A.getBytes())); + getApi().putBlock(blockContainer, blockBlob, blockIdB, Payloads.newPayload(B.getBytes())); + getApi().putBlock(blockContainer, blockBlob, blockIdC, Payloads.newPayload(C.getBytes())); getApi().putBlockList(blockContainer, blockBlob, Arrays.asList(blockIdA, blockIdB, blockIdC)); ListBlobBlocksResponse blocks = getApi().getBlockList(blockContainer, blockBlob); assertEquals(3, blocks.getBlocks().size());
