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();