Repository: jclouds Updated Branches: refs/heads/master bc41e96c4 -> 0634da98a
Return ETag from AzureBlobClient.copyBlob This avoids a call to getBlobProperties in AzureBlobStore.copyBlob. Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/0634da98 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/0634da98 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/0634da98 Branch: refs/heads/master Commit: 0634da98a7c1fa03972d53a07f2e13efaa0146e9 Parents: bc41e96 Author: Andrew Gaul <[email protected]> Authored: Sun Dec 13 18:12:21 2015 -0800 Committer: Andrew Gaul <[email protected]> Committed: Sun Dec 13 18:12:57 2015 -0800 ---------------------------------------------------------------------- .../src/main/java/org/jclouds/azureblob/AzureBlobClient.java | 3 ++- .../java/org/jclouds/azureblob/blobstore/AzureBlobStore.java | 8 +------- 2 files changed, 3 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/0634da98/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java ---------------------------------------------------------------------- diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java index 738b461..b8a25e5 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java @@ -463,7 +463,8 @@ public interface AzureBlobClient extends Closeable { @PUT @Path("{toContainer}/{toName}") @Headers(keys = AzureStorageHeaders.COPY_SOURCE, values = "{copySource}") - void copyBlob( + @ResponseParser(ParseETagHeader.class) + String copyBlob( @PathParam("copySource") URI copySource, @PathParam("toContainer") @ParamValidators(ContainerNameValidator.class) String toContainer, @PathParam("toName") String toName, @BinderParam(BindAzureCopyOptionsToRequest.class) CopyBlobOptions options); http://git-wip-us.apache.org/repos/asf/jclouds/blob/0634da98/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java ---------------------------------------------------------------------- diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java index fd5c72e..45d3e7c 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java @@ -240,12 +240,10 @@ public class AzureBlobStore extends BaseBlobStore { } URI source = context.getSigner().signGetBlob(fromContainer, fromName).getEndpoint(); - sync.copyBlob(source, toContainer, toName, azureOptions.build()); + String eTag = sync.copyBlob(source, toContainer, toName, azureOptions.build()); ContentMetadataBuilder builder = ContentMetadataBuilder.create(); - String eTag = null; - Optional<ContentMetadata> contentMetadata = options.getContentMetadata(); if (contentMetadata.isPresent()) { String contentDisposition = contentMetadata.get().getContentDisposition(); @@ -265,10 +263,6 @@ public class AzureBlobStore extends BaseBlobStore { eTag = sync.setBlobMetadata(toContainer, toName, userMetadata.get()); } - if (eTag == null) { - eTag = sync.getBlobProperties(toContainer, toName).getETag(); - } - return eTag; }
