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;
    }
 

Reply via email to