Repository: jclouds
Updated Branches:
  refs/heads/master 316bce058 -> f7b453413


JCLOUDS-1389: When composing, set destination.storageClass from object

This aligns that the destination's storageClass with that of the sub-object(s) 
being composed

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

Branch: refs/heads/master
Commit: def6db48645fb6c043a4889b45c582335b331d30
Parents: 316bce0
Author: Jim Sermersheim <[email protected]>
Authored: Fri Apr 20 12:04:16 2018 -0600
Committer: Jim Sermersheim <[email protected]>
Committed: Fri Apr 20 12:05:58 2018 -0600

----------------------------------------------------------------------
 .../blobstore/GoogleCloudStorageBlobStore.java          | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/def6db48/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
----------------------------------------------------------------------
diff --git 
a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
 
b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
index 63834e4..029ca03 100644
--- 
a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
+++ 
b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
@@ -379,15 +379,17 @@ public final class GoogleCloudStorageBlobStore extends 
BaseBlobStore {
 
    @Override
    public String completeMultipartUpload(MultipartUpload mpu, 
List<MultipartPart> parts) {
-      ImmutableList.Builder<GoogleCloudStorageObject> objects = 
ImmutableList.builder();
+      ImmutableList.Builder<GoogleCloudStorageObject> objectsBuilder = 
ImmutableList.builder();
       for (MultipartPart part : parts) {
-         objects.add(api.getObjectApi().getObject(mpu.containerName(),
+         objectsBuilder.add(api.getObjectApi().getObject(mpu.containerName(),
                Strings2.urlEncode(getMPUPartName(mpu, part.partNumber()))));
       }
 
       ObjectTemplate destination = 
blobMetadataToObjectTemplate.apply(mpu.blobMetadata());
-      // unset storage class because the subobjects store this state
-      destination.storageClass(DomainResourceReferences.StorageClass.STANDARD);
+      final ImmutableList<GoogleCloudStorageObject> objects = 
objectsBuilder.build();
+      if (!objects.isEmpty()) {
+         destination.storageClass(objects.get(0).storageClass());
+      }
       if (mpu.putOptions().getBlobAccess() == BlobAccess.PUBLIC_READ) {
          ObjectAccessControls controls = ObjectAccessControls.builder()
                .entity("allUsers")
@@ -398,7 +400,7 @@ public final class GoogleCloudStorageBlobStore extends 
BaseBlobStore {
       }
 
       ComposeObjectTemplate template = ComposeObjectTemplate.builder()
-            .fromGoogleCloudStorageObject(objects.build())
+            .fromGoogleCloudStorageObject(objects)
             .destination(destination).build();
       String eTag = api.getObjectApi().composeObjects(mpu.containerName(), 
Strings2.urlEncode(mpu.blobName()), template)
             .etag();

Reply via email to