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 2018/04/21 20:28:03 UTC

[2/2] jclouds git commit: JCLOUDS-1389: When composing, set destination.storageClass from object

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/5fa2df1b
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/5fa2df1b
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/5fa2df1b

Branch: refs/heads/2.1.x
Commit: 5fa2df1bbcde533e8fa1386f8151af86aad52035
Parents: 3dd8dfa
Author: Jim Sermersheim <ji...@primarydata.com>
Authored: Fri Apr 20 12:04:16 2018 -0600
Committer: Andrew Gaul <ga...@apache.org>
Committed: Sat Apr 21 13:27:22 2018 -0700

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


http://git-wip-us.apache.org/repos/asf/jclouds/blob/5fa2df1b/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();