From 26ee763254cb1813d71b69dcd47f7529743622ad Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Sun, 29 Jul 2012 11:36:55 -0700 Subject: [PATCH 1/3] add breaks in PipelineHelper/addOptionalSourceAccessContitionHeader --- .../services/core/utils/pipeline/PipelineHelpers.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java index 21b95538f6e1..19fcac1f3c6d 100644 --- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java +++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java @@ -96,12 +96,16 @@ public static Builder addOptionalSourceAccessContitionHeader(Builder builder, Ac switch (accessCondition.getHeader()) { case IF_MATCH: headerName = "x-ms-source-if-match"; + break; case IF_UNMODIFIED_SINCE: headerName = "x-ms-source-if-unmodified-since"; + break; case IF_MODIFIED_SINCE: headerName = "x-ms-source-if-modified-since"; + break; case IF_NONE_MATCH: headerName = "x-ms-source-if-none-match"; + break; default: headerName = ""; } From 3c9be11340084fe2acb5b6370f2da7fa2fba2c87 Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Sun, 29 Jul 2012 11:40:32 -0700 Subject: [PATCH 2/3] add PipelineHelpersTest unit test. --- .../utils/pipeline/PipelineHelpersTest.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java diff --git a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java new file mode 100644 index 000000000000..cce21d51fbc9 --- /dev/null +++ b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java @@ -0,0 +1,42 @@ +/** + * Copyright 2011 Microsoft Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.microsoft.windowsazure.services.core.utils.pipeline; + +import static org.junit.Assert.*; + +import org.junit.Test; + +import com.microsoft.windowsazure.services.blob.models.AccessCondition; +import com.sun.jersey.api.client.Client; +import com.sun.jersey.api.client.WebResource; +import com.sun.jersey.api.client.WebResource.Builder; + +public class PipelineHelpersTest { + @Test + public void addOptionalSourceAccessContitionHeaderSuccess() throws Exception { + // Arrange + Client client = Client.create(); + WebResource webResource = client.resource("http://www.microsoft.com"); + Builder builder = webResource.header("ms-version", "1.0"); + AccessCondition accessCondition = AccessCondition.ifMatch("thisIsAETag"); + + // Act + Builder resultBuilder = PipelineHelpers.addOptionalSourceAccessContitionHeader(builder, accessCondition); + + // Assert + assertNotNull(resultBuilder); + + } +} From 5966f3b27aa2715db1a508a07609309a3b91852b Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Mon, 30 Jul 2012 15:57:10 -0700 Subject: [PATCH 3/3] Address code review feedback to add breaks in PipelineHelper/addOptionalSourceAccessConditionHeader --- .../blob/implementation/BlobRestProxy.java | 40 +++++++++---------- .../core/utils/pipeline/PipelineHelpers.java | 4 +- .../implementation/ServiceBusRestProxy.java | 1 - .../utils/pipeline/PipelineHelpersTest.java | 4 +- 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/implementation/BlobRestProxy.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/implementation/BlobRestProxy.java index ec291f845b31..acfd07282a96 100644 --- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/implementation/BlobRestProxy.java +++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/implementation/BlobRestProxy.java @@ -146,12 +146,12 @@ private Builder addOptionalRangeHeader(Builder builder, Long rangeStart, Long ra return PipelineHelpers.addOptionalRangeHeader(builder, rangeStart, rangeEnd); } - private Builder addOptionalAccessContitionHeader(Builder builder, AccessCondition accessCondition) { - return PipelineHelpers.addOptionalAccessContitionHeader(builder, accessCondition); + private Builder addOptionalAccessConditionHeader(Builder builder, AccessCondition accessCondition) { + return PipelineHelpers.addOptionalAccessConditionHeader(builder, accessCondition); } - private Builder addOptionalSourceAccessContitionHeader(Builder builder, AccessCondition accessCondition) { - return PipelineHelpers.addOptionalSourceAccessContitionHeader(builder, accessCondition); + private Builder addOptionalSourceAccessConditionHeader(Builder builder, AccessCondition accessCondition) { + return PipelineHelpers.addOptionalSourceAccessConditionHeader(builder, accessCondition); } private HashMap getMetadataFromHeaders(ClientResponse response) { @@ -191,7 +191,7 @@ private Builder addPutBlobHeaders(CreateBlobOptions options, Builder builder) { builder = addOptionalHeader(builder, "x-ms-blob-cache-control", options.getBlobCacheControl()); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); builder = addOptionalMetadataHeader(builder, options.getMetadata()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); return builder; } @@ -322,7 +322,7 @@ public void deleteContainer(String container, DeleteContainerOptions options) th WebResource webResource = getResource(options).path(container).queryParam("resType", "container"); WebResource.Builder builder = webResource.header("x-ms-version", API_VERSION); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); builder.delete(); } @@ -443,7 +443,7 @@ public void setContainerMetadata(String container, HashMap metad WebResource.Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalMetadataHeader(builder, metadata); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); builder.put(); } @@ -543,7 +543,7 @@ public GetBlobPropertiesResult getBlobProperties(String container, String blob, Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.method("HEAD", ClientResponse.class); ThrowIfNotSuccess(response); @@ -565,7 +565,7 @@ public GetBlobMetadataResult getBlobMetadata(String container, String blob, GetB Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.get(ClientResponse.class); ThrowIfError(response); @@ -594,7 +594,7 @@ public SetBlobPropertiesResult setBlobProperties(String container, String blob, builder = addOptionalHeader(builder, "x-ms-sequence-number-action", options.getSequenceNumberAction()); builder = addOptionalHeader(builder, "x-ms-blob-sequence-number", options.getSequenceNumber()); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.put(ClientResponse.class); ThrowIfError(response); @@ -625,7 +625,7 @@ public SetBlobMetadataResult setBlobMetadata(String container, String blob, Hash WebResource.Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); builder = addOptionalMetadataHeader(builder, metadata); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.put(ClientResponse.class); ThrowIfError(response); @@ -650,7 +650,7 @@ public GetBlobResult getBlob(String container, String blob, GetBlobOptions optio Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); builder = addOptionalRangeHeader(builder, options.getRangeStart(), options.getRangeEnd()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.get(ClientResponse.class); ThrowIfNotSuccess(response); @@ -680,7 +680,7 @@ public void deleteBlob(String container, String blob, DeleteBlobOptions options) builder = addOptionalHeader(builder, "x-ms-delete-snapshots", options.getDeleteSnaphotsOnly() ? "only" : "include"); } - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); builder.delete(); } @@ -699,7 +699,7 @@ public CreateBlobSnapshotResult createBlobSnapshot(String container, String blob Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); builder = addOptionalMetadataHeader(builder, options.getMetadata()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.put(ClientResponse.class); ThrowIfError(response); @@ -730,8 +730,8 @@ public void copyBlob(String destinationContainer, String destinationBlob, String builder = addOptionalHeader(builder, "x-ms-copy-source", getCopyBlobSourceName(sourceContainer, sourceBlob, options)); builder = addOptionalMetadataHeader(builder, options.getMetadata()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); - builder = addOptionalSourceAccessContitionHeader(builder, options.getSourceAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); + builder = addOptionalSourceAccessConditionHeader(builder, options.getSourceAccessCondition()); builder.put(); } @@ -788,7 +788,7 @@ private AcquireLeaseResult putLeaseImpl(String leaseAction, String container, St Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalHeader(builder, "x-ms-lease-id", leaseId); builder = addOptionalHeader(builder, "x-ms-lease-action", leaseAction); - builder = addOptionalAccessContitionHeader(builder, accessCondition); + builder = addOptionalAccessConditionHeader(builder, accessCondition); // Note: Add content type here to enable proper HMAC signing ClientResponse response = builder.put(ClientResponse.class); @@ -834,7 +834,7 @@ private CreateBlobPagesResult updatePageBlobPagesImpl(String action, String cont builder = addOptionalHeader(builder, "Content-MD5", options.getContentMD5()); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); builder = addOptionalHeader(builder, "x-ms-page-write", action); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.put(ClientResponse.class, contentStream); ThrowIfError(response); @@ -862,7 +862,7 @@ public ListBlobRegionsResult listBlobRegions(String container, String blob, List Builder builder = webResource.header("x-ms-version", API_VERSION); builder = addOptionalRangeHeader(builder, options.getRangeStart(), options.getRangeEnd()); builder = addOptionalHeader(builder, "x-ms-lease-id", options.getLeaseId()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); ClientResponse response = builder.get(ClientResponse.class); ThrowIfError(response); @@ -914,7 +914,7 @@ public void commitBlobBlocks(String container, String blob, BlockList blockList, builder = addOptionalHeader(builder, "x-ms-blob-content-language", options.getBlobContentLanguage()); builder = addOptionalHeader(builder, "x-ms-blob-content-md5", options.getBlobContentMD5()); builder = addOptionalMetadataHeader(builder, options.getMetadata()); - builder = addOptionalAccessContitionHeader(builder, options.getAccessCondition()); + builder = addOptionalAccessConditionHeader(builder, options.getAccessCondition()); builder.put(blockList); } diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java index 19fcac1f3c6d..7f117707aafc 100644 --- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java +++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpers.java @@ -80,7 +80,7 @@ public static Builder addOptionalRangeHeader(Builder builder, Long rangeStart, L return builder; } - public static Builder addOptionalAccessContitionHeader(Builder builder, AccessCondition accessCondition) { + public static Builder addOptionalAccessConditionHeader(Builder builder, AccessCondition accessCondition) { if (accessCondition != null) { if (accessCondition.getHeader() != AccessConditionHeaderType.NONE) { builder = addOptionalHeader(builder, accessCondition.getHeader().toString(), accessCondition.getValue()); @@ -89,7 +89,7 @@ public static Builder addOptionalAccessContitionHeader(Builder builder, AccessCo return builder; } - public static Builder addOptionalSourceAccessContitionHeader(Builder builder, AccessCondition accessCondition) { + public static Builder addOptionalSourceAccessConditionHeader(Builder builder, AccessCondition accessCondition) { if (accessCondition != null) { if (accessCondition.getHeader() != AccessConditionHeaderType.NONE) { String headerName; diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/serviceBus/implementation/ServiceBusRestProxy.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/serviceBus/implementation/ServiceBusRestProxy.java index c654e49c6fae..7fc710b76d00 100644 --- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/serviceBus/implementation/ServiceBusRestProxy.java +++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/serviceBus/implementation/ServiceBusRestProxy.java @@ -22,7 +22,6 @@ import javax.inject.Inject; import javax.inject.Named; -import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.MediaType; import org.apache.commons.logging.Log; diff --git a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java index cce21d51fbc9..670b3e7ae0a2 100644 --- a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java +++ b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/core/utils/pipeline/PipelineHelpersTest.java @@ -25,7 +25,7 @@ public class PipelineHelpersTest { @Test - public void addOptionalSourceAccessContitionHeaderSuccess() throws Exception { + public void addOptionalSourceAccessConditionHeaderSuccess() throws Exception { // Arrange Client client = Client.create(); WebResource webResource = client.resource("http://www.microsoft.com"); @@ -33,7 +33,7 @@ public void addOptionalSourceAccessContitionHeaderSuccess() throws Exception { AccessCondition accessCondition = AccessCondition.ifMatch("thisIsAETag"); // Act - Builder resultBuilder = PipelineHelpers.addOptionalSourceAccessContitionHeader(builder, accessCondition); + Builder resultBuilder = PipelineHelpers.addOptionalSourceAccessConditionHeader(builder, accessCondition); // Assert assertNotNull(resultBuilder);