You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2016/01/17 02:15:22 UTC

[7/7] jclouds git commit: Fix replacing metadata in BaseBlobStore

Fix replacing metadata in BaseBlobStore

Fixes Atmos errors.  Uncovered by removing unneeded addContentMetadata
call in BaseBlobIntegrationTest.testCopyBlobReplaceMetadata.


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

Branch: refs/heads/master
Commit: 688890819e05013209af3b2b43cfc021f6f3887f
Parents: b63f74a
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Jan 15 04:13:04 2016 -0800
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Jan 15 13:22:15 2016 -0800

----------------------------------------------------------------------
 .../blobstore/internal/BaseBlobStore.java       | 21 +++++++++++++-------
 .../internal/BaseBlobIntegrationTest.java       |  1 -
 2 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/68889081/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java b/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
index 782d60b..3c14f5f 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
@@ -262,18 +262,25 @@ public abstract class BaseBlobStore implements BlobStore {
       InputStream is = null;
       try {
          is = blob.getPayload().openStream();
-         ContentMetadata metadata = blob.getMetadata().getContentMetadata();
          BlobBuilder.PayloadBlobBuilder builder = blobBuilder(toName)
-               .payload(is)
-               .cacheControl(metadata.getCacheControl())
+               .payload(is);
+         Long contentLength = blob.getMetadata().getContentMetadata().getContentLength();
+         if (contentLength != null) {
+            builder.contentLength(contentLength);
+         }
+
+         ContentMetadata metadata;
+         if (options.getContentMetadata().isPresent()) {
+            metadata = options.getContentMetadata().get();
+         } else {
+            metadata = blob.getMetadata().getContentMetadata();
+         }
+         builder.cacheControl(metadata.getCacheControl())
                .contentDisposition(metadata.getContentDisposition())
                .contentEncoding(metadata.getContentEncoding())
                .contentLanguage(metadata.getContentLanguage())
                .contentType(metadata.getContentType());
-         Long contentLength = metadata.getContentLength();
-         if (contentLength != null) {
-            builder.contentLength(contentLength);
-         }
+
          Optional<Map<String, String>> userMetadata = options.getUserMetadata();
          if (userMetadata.isPresent()) {
             builder.userMetadata(userMetadata.get());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/68889081/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
index 1732e67..479c174 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
@@ -906,7 +906,6 @@ public class BaseBlobIntegrationTest extends BaseBlobStoreIntegrationTest {
             .contentEncoding("compress")
             .contentLanguage("fr")
             .contentType("audio/ogg");
-      addContentMetadata(blobBuilder);
       Blob blob = blobBuilder.build();
 
       String fromContainer = getContainerName();