You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/10/29 18:21:21 UTC

[3/4] git commit: JCLOUDS-410 note that ByteArrayPayload needs to handle offsets.

JCLOUDS-410 note that ByteArrayPayload needs to handle offsets.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/02801321
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/02801321
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/02801321

Branch: refs/heads/master
Commit: 02801321a2d608affb72fbbc8ffea43aafa497a4
Parents: 177fd6d
Author: Adrian Cole <ac...@twitter.com>
Authored: Wed Oct 29 09:03:43 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Wed Oct 29 10:20:39 2014 -0700

----------------------------------------------------------------------
 .../org/jclouds/io/internal/BasePayloadSlicer.java   | 15 ++++++---------
 .../jclouds/azureblob/AzureBlobClientLiveTest.java   |  8 ++++----
 2 files changed, 10 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/02801321/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..25ca3b0 100644
--- a/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java
+++ b/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java
@@ -33,11 +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;
 
 import com.google.common.base.Charsets;
 import com.google.common.base.Throwables;
@@ -119,7 +117,7 @@ public class BasePayloadSlicer implements PayloadSlicer {
          Payload payload = null;
 
          if (content.length > 0) {
-            payload = new ByteArrayPayload(content);
+            payload = Payloads.newByteArrayPayload(content);
             ContentMetadata cm = metaData.toBuilder().contentLength((long)content.length).contentMD5((HashCode) null).build();
             payload.setContentMetadata(BaseMutableContentMetadata.fromContentMetadata(cm));
          }
@@ -172,19 +170,18 @@ public class BasePayloadSlicer implements PayloadSlicer {
       } catch (IOException ioe) {
          throw Throwables.propagate(ioe);
       }
-      return new InputStreamPayload(ByteStreams.limit(content, length));
+      return Payloads.newInputStreamPayload(ByteStreams.limit(content, length));
    }
 
    protected Payload doSlice(ByteSource content, long offset, long length) {
-      return new ByteSourcePayload(content.slice(offset, length));
+      return Payloads.newByteSourcePayload(content.slice(offset, length));
    }
 
    protected Payload doSlice(byte[] content, long offset, long length) {
-      Payload returnVal;
       checkArgument(offset <= Integer.MAX_VALUE, "offset is too big for an array");
       checkArgument(length <= Integer.MAX_VALUE, "length is too big for an array");
-      returnVal = new ByteSourcePayload(ByteSource.wrap(content).slice(offset, length));
-      return returnVal;
+      // TODO(adriancole): Make ByteArrayPayload carry offset, length as opposed to wrapping here.
+      return Payloads.newByteSourcePayload(ByteSource.wrap(content).slice(offset, length));
    }
 
    protected Payload copyMetadataAndSetLength(Payload input, Payload returnVal, long length) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/02801321/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 831eceb..1930116 100644
--- a/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java
+++ b/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java
@@ -44,7 +44,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;
@@ -358,9 +358,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.newByteArrayPayload(A.getBytes()));
+      getApi().putBlock(blockContainer, blockBlob, blockIdB, Payloads.newByteArrayPayload(B.getBytes()));
+      getApi().putBlock(blockContainer, blockBlob, blockIdC, Payloads.newByteArrayPayload(C.getBytes()));
       getApi().putBlockList(blockContainer, blockBlob, Arrays.asList(blockIdA, blockIdB, blockIdC));
       ListBlobBlocksResponse blocks = getApi().getBlockList(blockContainer, blockBlob);
       assertEquals(3, blocks.getBlocks().size());