diff --git a/ChangeLog.txt b/ChangeLog.txt
new file mode 100644
index 0000000000000..f42d57277e0f6
--- /dev/null
+++ b/ChangeLog.txt
@@ -0,0 +1,19 @@
+2012.01.31. Version 0.1.3
+ * Updated User Agent to v0.1.1
+ * Updated License Headers
+ * Blob Client Mark bug fix
+ * Retry Logic updated in Blob and Queue Client to not retry
+ * Error Response parsing updated for Table compatibility
+ * MD5 is delay calculated on copy streams
+ * Date parsing support for various number of fractional decimals
+ * StorageErrorResponse updated to support lower case xml for tables
+
+2011.12.22. Version 0.1.2
+ * Fixed CloudBlob.download to lock to ETag during a resume
+ * Ensured that Client Side Exceptions are not resumed
+
+2011.12.14 Version 0.1.1
+ * Commenting/documentation changes
+
+2011.12.09 Version 0.1.0
+ * Initial Release
diff --git a/microsoft-azure-api/pom.xml b/microsoft-azure-api/pom.xml
index 8273cb6c86456..5da3a62a9e6ce 100644
--- a/microsoft-azure-api/pom.xml
+++ b/microsoft-azure-api/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.microsoft.windowsazure
microsoft-windowsazure-api
- 0.1.2
+ 0.1.3
jar
Microsoft Windows Azure Client API
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/AccessPolicyResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/AccessPolicyResponse.java
index 3354bbc7c2ba4..d651b14ac6c78 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/AccessPolicyResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/AccessPolicyResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobAttributes.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobAttributes.java
index 2b54ba8578bd7..90d9f6b2d0ab3 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobAttributes.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobAttributes.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -19,6 +19,7 @@
/**
* RESERVED FOR INTERNAL USE. Represents a blob's attributes.
+ *
*/
final class BlobAttributes {
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobConstants.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobConstants.java
index 2180e0f452f05..b1cca6aed131b 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobConstants.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobConstants.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -225,8 +225,9 @@ public static class QueryConstants {
public static final int MAX_SHARED_ACCESS_POLICY_IDENTIFIERS = 5;
/**
- * The maximum size, in bytes, of a blob before it must be separated into blocks.
+ * The maximum size, in bytes, of a blob before it must be separated into blocks
*/
+ // Note if this is updated then Constants.MAX_MARK_LENGTH needs to be as well.
public static final int MAX_SINGLE_UPLOAD_BLOB_SIZE_IN_BYTES = 64 * com.microsoft.windowsazure.services.core.storage.Constants.MB;
/**
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerAttributes.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerAttributes.java
index e895bc323f75a..f0db3fad5b0fd 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerAttributes.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerAttributes.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -19,6 +19,7 @@
/**
* RESERVED FOR INTERNAL USE. Represents a container's attributes, including its properties and metadata.
+ *
*/
final class BlobContainerAttributes {
/**
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPermissions.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPermissions.java
index c68f845b18e65..15b2cc0065d4a 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPermissions.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPermissions.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -30,6 +30,7 @@
*
* For more information on managing container permissions, see Managing Access to Containers and Blobs.
+ *
*/
public final class BlobContainerPermissions {
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerProperties.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerProperties.java
index 0c4bcb89db9d7..412aa9437158e 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerProperties.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerProperties.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPublicAccessType.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPublicAccessType.java
index 5bec62642940d..554dd7bfd40cd 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPublicAccessType.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobContainerPublicAccessType.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobDeserializationHelper.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobDeserializationHelper.java
index c04b3123bad66..f10adc792dd36 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobDeserializationHelper.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobDeserializationHelper.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -117,7 +117,7 @@ else if (properties.getBlobType() == BlobType.PAGE_BLOB) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
@@ -129,7 +129,7 @@ else if (properties.getBlobType() == BlobType.PAGE_BLOB) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -177,7 +177,7 @@ else if (name.equals(BlobConstants.SIZE_ELEMENT)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -319,7 +319,7 @@ else if (name.equals(BlobConstants.BLOB_PREFIX_ELEMENT)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -404,7 +404,7 @@ else if (tempString.equals(BlobConstants.PAGE_BLOB_VALUE)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -418,7 +418,7 @@ else if (tempString.equals(Constants.UNLOCKED_VALUE.toLowerCase())) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -576,14 +576,14 @@ else if (name.equals(Constants.END_ELEMENT)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
else if (eventType == XMLStreamConstants.END_ELEMENT) {
if (startOffset == -1 || endOffset == -1) {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobInputStream.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobInputStream.java
index 9b75c6d216eb3..55a8ca520e873 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobInputStream.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobInputStream.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingContext.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingContext.java
index 77c61deb98f30..16fea0fbe2bca 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingContext.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingContext.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingDetails.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingDetails.java
index c1e569d0fdebb..1ea25afa820e3 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingDetails.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobListingDetails.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobOutputStream.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobOutputStream.java
index 50de3fca38c0e..c3509df1f0c6d 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobOutputStream.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobOutputStream.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobProperties.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobProperties.java
index 03ed5236b9741..7e8f7ddf660e4 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobProperties.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobProperties.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequest.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequest.java
index b958fe925f7b3..a328318fcdb63 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequest.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequest.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequestOptions.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequestOptions.java
index d1d46a0536c4d..3cd3c219d4eff 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequestOptions.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobRequestOptions.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobResponse.java
index 2f08d6ee5f1f0..6871da71e97b1 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobType.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobType.java
index 4ef9b4278e972..11e5fc2506212 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobType.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlobType.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockEntry.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockEntry.java
index aa736238f1e67..06a588e22776f 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockEntry.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockEntry.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockListingFilter.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockListingFilter.java
index f792bb272e081..fac52b1038956 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockListingFilter.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockListingFilter.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockSearchMode.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockSearchMode.java
index 709f620c33817..f7dee4b652976 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockSearchMode.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/BlockSearchMode.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlob.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlob.java
index b669f76f223f9..e108358441b49 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlob.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlob.java
@@ -845,7 +845,8 @@ public Void execute(final CloudBlobClient client, final CloudBlob blob, final Op
catch (final StorageException ex) {
// Check if users has any retries specified, Or if the exception is retryable
final RetryPolicy dummyPolicy = options.getRetryPolicyFactory().createInstance(opContext);
- if (ex.getHttpStatusCode() == Constants.HeaderConstants.HTTP_UNUSED_306
+ if ((ex.getHttpStatusCode() == Constants.HeaderConstants.HTTP_UNUSED_306 && !ex.getErrorCode().equals(
+ StorageErrorCodeStrings.OUT_OF_RANGE_INPUT))
|| ex.getHttpStatusCode() == HttpURLConnection.HTTP_PRECON_FAILED
|| !dummyPolicy.shouldRetry(0, opContext.getLastResult().getStatusCode(),
(Exception) ex.getCause(), opContext).isShouldRetry()) {
@@ -2148,10 +2149,12 @@ protected final void uploadFullBlob(final InputStream sourceStream, final long l
final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)
throws StorageException, IOException {
// Mark sourceStream for current position.
- sourceStream.mark(Integer.MAX_VALUE);
+ sourceStream.mark(Constants.MAX_MARK_LENGTH);
- if (length < 0) {
- throw new IllegalArgumentException("Invalid stream length, specify a positive number of bytes");
+ if (length < 0 || length > BlobConstants.MAX_SINGLE_UPLOAD_BLOB_SIZE_IN_BYTES) {
+ throw new IllegalArgumentException(String.format(
+ "Invalid stream length; stream must be between 0 and %s MB in length.",
+ BlobConstants.MAX_SINGLE_UPLOAD_BLOB_SIZE_IN_BYTES / Constants.MB));
}
final StorageOperation impl = new StorageOperation(
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobClient.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobClient.java
index 5c721220734c8..7b7ccd4e461f4 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobClient.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobClient.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobContainer.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobContainer.java
index 3d9acd152d6a0..3892a425c1484 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobContainer.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobContainer.java
@@ -313,7 +313,7 @@ else if (this.getResult().getStatusCode() == HttpURLConnection.HTTP_CONFLICT) {
StorageExtendedErrorInformation extendedInfo = potentialConflictException
.getExtendedErrorInformation();
if (extendedInfo == null) {
- // If we can't validate the error then the error must be surfaced to the user.
+ // If we cant validate the error then the error must be surfaced to the user.
throw potentialConflictException;
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobDirectory.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobDirectory.java
index 10e90f9193d26..622ce08f40dcc 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobDirectory.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlobDirectory.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlockBlob.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlockBlob.java
index f0b6706e07398..d6cbf59c3dedc 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlockBlob.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlockBlob.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -35,7 +35,6 @@
/**
* Represents a blob that is uploaded as a set of blocks.
- *
*/
public final class CloudBlockBlob extends CloudBlob {
@@ -175,7 +174,8 @@ public Void execute(final CloudBlobClient client, final CloudBlob blob, final Op
final ByteArrayInputStream blockListInputStream = new ByteArrayInputStream(blockListBytes);
- final StreamMd5AndLength descriptor = Utility.analyzeStream(blockListInputStream, -1L, -1L, true, true);
+ final StreamMd5AndLength descriptor = Utility.analyzeStream(blockListInputStream, -1L, -1L,
+ true /* rewindSourceStream */, true /* calculateMD5 */);
request.setRequestProperty(Constants.HeaderConstants.CONTENT_MD5, descriptor.getMd5());
@@ -397,12 +397,15 @@ public void upload(final InputStream sourceStream, final long length, final Acce
opContext.initialize();
options.applyDefaults(this.blobServiceClient);
- // Mark sourceStream for current position.
- sourceStream.mark(Integer.MAX_VALUE);
StreamMd5AndLength descriptor = new StreamMd5AndLength();
descriptor.setLength(length);
+ if (sourceStream.markSupported()) {
+ // Mark sourceStream for current position.
+ sourceStream.mark(Constants.MAX_MARK_LENGTH);
+ }
+
// If the stream is rewindable and the length is unknown or we need to
// set md5, then analyze the stream.
// Note this read will abort at
@@ -414,7 +417,8 @@ public void upload(final InputStream sourceStream, final long length, final Acce
// the MD5, then we we need to read the stream contents first
descriptor = Utility.analyzeStream(sourceStream, length,
- this.blobServiceClient.getSingleBlobPutThresholdInBytes(), true, options.getStoreBlobContentMD5());
+ this.blobServiceClient.getSingleBlobPutThresholdInBytes(), true /* rewindSourceStream */,
+ options.getStoreBlobContentMD5());
if (descriptor.getMd5() != null && options.getStoreBlobContentMD5()) {
this.properties.setContentMD5(descriptor.getMd5());
@@ -512,8 +516,10 @@ public void uploadBlock(final String blockId, final InputStream sourceStream, fi
throw new IllegalArgumentException("Invalid blockID, BlockID must be a valid Base64 String.");
}
- // Mark sourceStream for current position.
- sourceStream.mark(Integer.MAX_VALUE);
+ if (sourceStream.markSupported()) {
+ // Mark sourceStream for current position.
+ sourceStream.mark(Constants.MAX_MARK_LENGTH);
+ }
InputStream bufferedStreamReference = sourceStream;
StreamMd5AndLength descriptor = new StreamMd5AndLength();
@@ -522,18 +528,17 @@ public void uploadBlock(final String blockId, final InputStream sourceStream, fi
if (!sourceStream.markSupported()) {
// needs buffering
final ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
- descriptor = Utility.writeToOutputStream(sourceStream, byteStream, length, false,
+ descriptor = Utility.writeToOutputStream(sourceStream, byteStream, length, false /* rewindSourceStream */,
options.getUseTransactionalContentMD5(), null, opContext);
bufferedStreamReference = new ByteArrayInputStream(byteStream.toByteArray());
}
else if (length < 0 || options.getUseTransactionalContentMD5()) {
// If the stream is of unknown length or we need to calculate the
- // MD5, then we we need to read
- // the stream contents first
+ // MD5, then we we need to read the stream contents first
- descriptor = Utility
- .analyzeStream(sourceStream, length, -1L, true, options.getUseTransactionalContentMD5());
+ descriptor = Utility.analyzeStream(sourceStream, length, -1L, true /* rewindSourceStream */,
+ options.getUseTransactionalContentMD5());
}
if (descriptor.getLength() > 4 * Constants.MB) {
@@ -587,9 +592,8 @@ public Void execute(final CloudBlobClient client, final CloudBlob blob, final Op
}
client.getCredentials().signRequest(request, length);
-
- Utility.writeToOutputStream(sourceStream, request.getOutputStream(), length, true, false, null,
- opContext);
+ Utility.writeToOutputStream(sourceStream, request.getOutputStream(), length,
+ true /* rewindSourceStream */, false /* calculateMD5 */, null, opContext);
this.setResult(ExecutionEngine.processRequest(request, opContext));
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudPageBlob.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudPageBlob.java
index 145bc4a30a9b8..9bab8cf99b0f1 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudPageBlob.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudPageBlob.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -35,7 +35,6 @@
/**
* Represents a Windows Azure page blob.
- *
*/
public final class CloudPageBlob extends CloudBlob {
@@ -541,8 +540,10 @@ public void upload(final InputStream sourceStream, final long length, final Acce
throw new IllegalArgumentException("Blob Level MD5 is not supported for PageBlob");
}
- // Mark sourceStream for current position.
- sourceStream.mark(Integer.MAX_VALUE);
+ if (sourceStream.markSupported()) {
+ // Mark sourceStream for current position.
+ sourceStream.mark(Constants.MAX_MARK_LENGTH);
+ }
if (length <= 4 * Constants.MB) {
this.create(length, accessCondition, options, opContext);
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerListingDetails.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerListingDetails.java
index 4b5740909ef91..12c3d8f7b27de 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerListingDetails.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerListingDetails.java
@@ -2,21 +2,20 @@
* 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
+ * 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.
+ * 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.blob.client;
/**
* Specifies which details to include when listing the containers in this storage account.
- *
*/
public enum ContainerListingDetails {
/**
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerRequest.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerRequest.java
index 1615cebeac00c..435421772baa4 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerRequest.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerRequest.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -38,7 +38,6 @@
/**
* RESERVED FOR INTERNAL USE. A class used to generate requests for contianer objects.
- *
*/
final class ContainerRequest {
/**
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerResponse.java
index 7c78dd518927a..87e819cb9c039 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ContainerResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/DeleteSnapshotsOption.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/DeleteSnapshotsOption.java
index 254f7dfaa953b..596d43f5afea9 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/DeleteSnapshotsOption.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/DeleteSnapshotsOption.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetBlockListResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetBlockListResponse.java
index fbc8c3b69c958..7bb03d294fe1a 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetBlockListResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetBlockListResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -115,7 +115,7 @@ else if (name.equals(BlobConstants.BLOCK_LIST_ELEMENT) && eventType == XMLStream
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetPageRangesResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetPageRangesResponse.java
index d6ea710ad400b..412c863a0f9f5 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetPageRangesResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/GetPageRangesResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
@@ -101,7 +101,7 @@ else if (name.equals(BlobConstants.PAGE_LIST_ELEMENT) && eventType == XMLStreamC
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobItem.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobItem.java
index d096e92e001ce..10f1b232fbd6a 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobItem.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobItem.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobsResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobsResponse.java
index 9e658d4f54c09..5d01e4a14832f 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobsResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListBlobsResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListContainersResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListContainersResponse.java
index cb565025d436d..e70aa7ad5e4d4 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListContainersResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/ListContainersResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageOperationType.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageOperationType.java
index e9c010f4d0772..f41ba443a7386 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageOperationType.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageOperationType.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageProperties.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageProperties.java
index e01609e967cb9..334c9aaa5f294 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageProperties.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageProperties.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageRange.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageRange.java
index 9196b0e9deb79..3827eca7897e3 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageRange.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/PageRange.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPermissions.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPermissions.java
index 79be8d8d25ad9..52866696d5b62 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPermissions.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPermissions.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPolicy.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPolicy.java
index 7509c8bcee0c4..3b04f396ffa63 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPolicy.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessPolicy.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessSignatureHelper.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessSignatureHelper.java
index 896c47b5c339a..98001ef8d378f 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessSignatureHelper.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/SharedAccessSignatureHelper.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.blob.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/AccessCondition.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/AccessCondition.java
index 354f61604b872..970cc3850ead5 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/AccessCondition.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/AccessCondition.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/CloudStorageAccount.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/CloudStorageAccount.java
index f2d3371e49244..8818215a944ee 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/CloudStorageAccount.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/CloudStorageAccount.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Constants.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Constants.java
index b9cbfe3c43105..492320796e708 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Constants.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Constants.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
@@ -287,7 +287,7 @@ public static class HeaderConstants {
/**
* Specifies the value to use for UserAgent header.
*/
- public static final String USER_AGENT_VERSION = "Client v0.1";
+ public static final String USER_AGENT_VERSION = "Client v0.1.1";
}
/**
@@ -425,6 +425,12 @@ public static class HeaderConstants {
*/
public static final int MAXIMUM_SEGMENTED_RESULTS = 5000;
+ /**
+ * The maximum size, in bytes, of a given stream mark operation.
+ */
+ // Note if BlobConstants.MAX_SINGLE_UPLOAD_BLOB_SIZE_IN_BYTES is updated then this needs to be as well.
+ public static final int MAX_MARK_LENGTH = 64 * MB;
+
/**
* XML element for the metadata.
*/
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Credentials.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Credentials.java
index d3b03adc72461..e506895cb8511 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Credentials.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/Credentials.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/DoesServiceRequest.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/DoesServiceRequest.java
index 405ccf2fa56d5..38a746f0058c4 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/DoesServiceRequest.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/DoesServiceRequest.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.storage;
import java.lang.annotation.Documented;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LeaseStatus.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LeaseStatus.java
index d7707825b5419..7a1856142f5e5 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LeaseStatus.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LeaseStatus.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingOperations.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingOperations.java
index b17398e168013..026ac1bb7dd2e 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingOperations.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingOperations.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingProperties.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingProperties.java
index 490b081a57955..6bd41e128ac10 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingProperties.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/LoggingProperties.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsLevel.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsLevel.java
index 94cf8ba67c346..34d60db56b97d 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsLevel.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsLevel.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsProperties.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsProperties.java
index d1f2acca61bfa..1021376db0385 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsProperties.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/MetricsProperties.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/OperationContext.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/OperationContext.java
index ce9f10672f90e..59106461ea272 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/OperationContext.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/OperationContext.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.storage;
@@ -48,7 +51,7 @@ public final class OperationContext {
* Represents request results, in the form of an ArrayList
object that contains the
* {@link RequestResult} objects, for each physical request that is made.
*/
- private final ArrayList requestResults;
+ private ArrayList requestResults;
/**
* Represents an event that is triggered when a response is received from the storage service while processing a
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestOptions.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestOptions.java
index af0a5c5a07daf..9e6eb39b93c79 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestOptions.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestOptions.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestResult.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestResult.java
index 050dfcbdb7eea..3a7e01045d6bf 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestResult.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RequestResult.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.storage;
import java.util.Date;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResponseReceivedEvent.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResponseReceivedEvent.java
index a4cc29204915d..3e8b028ad3de7 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResponseReceivedEvent.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResponseReceivedEvent.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
@@ -23,13 +23,13 @@ public final class ResponseReceivedEvent {
* Represents a connection object. Currently only java.net.HttpURLConnection
is supported as a
* connection object.
*/
- private final Object connectionObject;
+ private Object connectionObject;
/**
* Represents a context for the current operation. This object is used to track requests to the storage service, and
* to provide additional runtime information about the operation.
*/
- private final OperationContext opContext;
+ private OperationContext opContext;
/**
* Creates an instance of the ResponseReceivedEvent
class.
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuation.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuation.java
index c8450867aa9ef..618b05cf420ca 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuation.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuation.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuationType.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuationType.java
index a36eb2ef722ce..8e6497fae08f7 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuationType.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultContinuationType.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultSegment.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultSegment.java
index 63afc5805f6b8..debb82c4c6a89 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultSegment.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ResultSegment.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryExponentialRetry.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryExponentialRetry.java
index 5dc967bcbbeb6..be5e2e96d37ee 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryExponentialRetry.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryExponentialRetry.java
@@ -2,18 +2,19 @@
* 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
+ * 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.
+ * 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.storage;
+import java.net.HttpURLConnection;
import java.util.Random;
/**
@@ -117,16 +118,14 @@ public RetryPolicy createInstance(final OperationContext opContext) {
@Override
public RetryResult shouldRetry(final int currentRetryCount, final int statusCode, final Exception lastException,
final OperationContext opContext) {
-
- if (statusCode >= 400 && statusCode < 500) {
- return new RetryResult(0, false);
+ if (statusCode >= 400 && statusCode < 500 || statusCode == HttpURLConnection.HTTP_NOT_IMPLEMENTED
+ || statusCode == HttpURLConnection.HTTP_VERSION) {
+ return new RetryResult(-1, false);
}
if (currentRetryCount < this.maximumAttempts) {
-
// Calculate backoff Interval between 80% and 120% of the desired
- // backoff, multiply by 2^n -1 for
- // exponential
+ // backoff, multiply by 2^n -1 for exponential
int incrementDelta = (int) (Math.pow(2, currentRetryCount) - 1);
final int boundedRandDelta = (int) (this.deltaBackoffIntervalInMs * 0.8)
+ this.randRef.nextInt((int) (this.deltaBackoffIntervalInMs * 1.2)
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryLinearRetry.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryLinearRetry.java
index d74d0595bf695..27dc7184dbc32 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryLinearRetry.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryLinearRetry.java
@@ -2,18 +2,20 @@
* 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
+ * 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.
+ * 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.storage;
+import java.net.HttpURLConnection;
+
/**
* Represents a retry policy that performs a specified number of retries, using a specified fixed time interval between
* retries.
@@ -78,7 +80,8 @@ public RetryPolicy createInstance(final OperationContext opContext) {
@Override
public RetryResult shouldRetry(final int currentRetryCount, final int statusCode, final Exception lastException,
final OperationContext opContext) {
- if (statusCode >= 400 && statusCode < 500) {
+ if (statusCode >= 400 && statusCode < 500 || statusCode == HttpURLConnection.HTTP_NOT_IMPLEMENTED
+ || statusCode == HttpURLConnection.HTTP_VERSION) {
return new RetryResult(0, false);
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryNoRetry.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryNoRetry.java
index 4818851a2e396..4fb976b0d8762 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryNoRetry.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryNoRetry.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicy.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicy.java
index 7be148342cf2d..8174c303b420b 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicy.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicy.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicyFactory.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicyFactory.java
index 3345063f2785c..bda29486c9be9 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicyFactory.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryPolicyFactory.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryResult.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryResult.java
index 80d74744c470f..30c3de7d38eb9 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryResult.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/RetryResult.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
@@ -21,7 +21,14 @@ public final class RetryResult {
/**
* Represents the backoff interval in milliseconds.
*/
- private final int backOffIntervalInMs;
+ private int backOffIntervalInMs;
+
+ /**
+ * @return the backOffIntervalInMs
+ */
+ public int getBackOffIntervalInMs() {
+ return this.backOffIntervalInMs;
+ }
/**
* Indicates whether to retry the operation. Set to true
to retry; otherwise, false
.
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceClient.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceClient.java
index 871f95bc36bdc..e9d0b3f6ad373 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceClient.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceClient.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
@@ -320,14 +320,15 @@ public Void execute(final ServiceClient client, final Void v, final OperationCon
final byte[] propertiesBytes = BaseRequest.serializeServicePropertiesToByteArray(properties, opContext);
- final ByteArrayInputStream blockListInputStream = new ByteArrayInputStream(propertiesBytes);
+ final ByteArrayInputStream dataInputStream = new ByteArrayInputStream(propertiesBytes);
- final StreamMd5AndLength descriptor = Utility.analyzeStream(blockListInputStream, -1L, -1L, true, true);
+ final StreamMd5AndLength descriptor = Utility.analyzeStream(dataInputStream, -1L, -1L,
+ true /* rewindSourceStream */, true /* calculateMD5 */);
request.setRequestProperty(Constants.HeaderConstants.CONTENT_MD5, descriptor.getMd5());
client.getCredentials().signRequest(request, descriptor.getLength());
- Utility.writeToOutputStream(blockListInputStream, request.getOutputStream(), descriptor.getLength(),
- false, false, null, opContext);
+ Utility.writeToOutputStream(dataInputStream, request.getOutputStream(), descriptor.getLength(),
+ false /* rewindSourceStream */, false /* calculateMD5 */, null, opContext);
this.setResult(ExecutionEngine.processRequest(request, opContext));
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceProperties.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceProperties.java
index b88fb17e75215..be0000a83643b 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceProperties.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/ServiceProperties.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
@@ -83,7 +83,7 @@ else if (name.equals(Constants.AnalyticsConstants.RETENTION_POLICY_ELEMENT)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -150,7 +150,7 @@ else if (name.equals(Constants.AnalyticsConstants.RETENTION_POLICY_ELEMENT)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -203,7 +203,7 @@ else if (name.equals(Constants.AnalyticsConstants.ENABLED_ELEMENT)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
@@ -264,7 +264,7 @@ else if (name.equals(Constants.AnalyticsConstants.DEFAULT_SERVICE_VERSION)) {
}
else {
throw new StorageException(StorageErrorCodeStrings.INVALID_XML_DOCUMENT,
- "The response recieved is invalid or improperly formatted.",
+ "The response received is invalid or improperly formatted.",
Constants.HeaderConstants.HTTP_UNUSED_306, null, null);
}
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentials.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentials.java
index c48c19b173606..84d4c055976ac 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentials.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentials.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAccountAndKey.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAccountAndKey.java
index cc27ffcb430b5..fba8df30bfa20 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAccountAndKey.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAccountAndKey.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAnonymous.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAnonymous.java
index b50814764975e..e40a012049a53 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAnonymous.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsAnonymous.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsSharedAccessSignature.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsSharedAccessSignature.java
index ed30c27fe8a9b..c33ce78d64590 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsSharedAccessSignature.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageCredentialsSharedAccessSignature.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCode.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCode.java
index 222cd22f87507..b310204bc8ea4 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCode.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCode.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCodeStrings.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCodeStrings.java
index feed66f4f8ef0..5e37420554264 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCodeStrings.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageErrorCodeStrings.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEvent.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEvent.java
index 12e0d0cbf2510..26dc212a185c5 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEvent.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEvent.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEventMultiCaster.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEventMultiCaster.java
index f89c60ab651e7..844c7a04e8998 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEventMultiCaster.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageEventMultiCaster.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageException.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageException.java
index 06d97fad7e720..c01b13fbfdb97 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageException.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageException.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
@@ -24,7 +24,7 @@
/**
* Represents an exception for the Windows Azure storage service.
*/
-public final class StorageException extends Exception {
+public class StorageException extends Exception {
/**
* Represents the serialization version number.
@@ -194,14 +194,14 @@ protected static StorageException translateFromHttpStatus(final int statusCode,
/**
* Represents the error code returned by the operation.
*/
- private final String errorCode;
+ protected String errorCode;
/**
* Represents the extended error information returned by the operation.
*
* @see StorageExtendedErrorInformation
*/
- private final StorageExtendedErrorInformation extendedErrorInformation;
+ protected StorageExtendedErrorInformation extendedErrorInformation;
/**
* Represents the HTTP status code returned by the operation.
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageExtendedErrorInformation.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageExtendedErrorInformation.java
index 4d4e65a8f3856..0f261fa3d6b86 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageExtendedErrorInformation.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageExtendedErrorInformation.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageKey.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageKey.java
index 0c1dd93068b39..915d8537828e3 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageKey.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/StorageKey.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Base64.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Base64.java
index 672c390496fc2..8062504e21c76 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Base64.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Base64.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/PathUtility.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/PathUtility.java
index 34cb97fc8a814..c9fdf722b6c41 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/PathUtility.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/PathUtility.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/StreamMd5AndLength.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/StreamMd5AndLength.java
index dd3c2d2b0bfd1..6df461d6df827 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/StreamMd5AndLength.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/StreamMd5AndLength.java
@@ -2,18 +2,20 @@
* 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
+ * 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.
+ * 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.storage.utils;
+import java.security.MessageDigest;
+
/**
* RESERVED FOR INTERNAL USE. Represents a stream descriptor that contains the stream size and MD5 hash.
*/
@@ -28,6 +30,12 @@ public final class StreamMd5AndLength {
*/
private long streamLength;
+ private MessageDigest intermediateMD5;
+
+ public void setDigest(MessageDigest digest) {
+ this.intermediateMD5 = digest;
+ }
+
/**
* @return the length
*/
@@ -39,6 +47,10 @@ public long getLength() {
* @return the md5
*/
public String getMd5() {
+ if (this.streamMd5 == null && this.intermediateMD5 != null) {
+ this.streamMd5 = Base64.encode(this.intermediateMD5.digest());
+ }
+
return this.streamMd5;
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/UriQueryBuilder.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/UriQueryBuilder.java
index 0459c94d7b496..60662b71c437c 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/UriQueryBuilder.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/UriQueryBuilder.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Utility.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Utility.java
index 169ff1ebfaeaa..5f746e6835968 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Utility.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/Utility.java
@@ -2,22 +2,24 @@
* 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
+ * 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.
+ * 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.storage.utils;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.Reader;
import java.io.UnsupportedEncodingException;
+import java.lang.reflect.Constructor;
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URISyntaxException;
@@ -76,6 +78,11 @@ public final class Utility {
*/
private static final String RFC1123_PATTERN = "EEE, dd MMM yyyy HH:mm:ss z";
+ /**
+ * Stores a reference to the ISO8061 date/time pattern.
+ */
+ public static final String ISO8061_PATTERN_NO_SECONDS = "yyyy-MM-dd'T'HH:mm'Z'";
+
/**
* Stores a reference to the ISO8061 date/time pattern.
*/
@@ -109,8 +116,9 @@ public final class Utility {
* @throws StorageException
* If a storage service error occurred.
*/
- public static StreamMd5AndLength analyzeStream(final InputStream sourceStream, long writeLength, long abandonLength,
- final boolean rewindSourceStream, final boolean calculateMD5) throws IOException, StorageException {
+ public static StreamMd5AndLength analyzeStream(final InputStream sourceStream, long writeLength,
+ long abandonLength, final boolean rewindSourceStream, final boolean calculateMD5) throws IOException,
+ StorageException {
if (abandonLength < 0) {
abandonLength = Long.MAX_VALUE;
}
@@ -119,7 +127,8 @@ public static StreamMd5AndLength analyzeStream(final InputStream sourceStream, l
if (!sourceStream.markSupported()) {
throw new IllegalArgumentException("Input stream must be markable!");
}
- sourceStream.mark(Integer.MAX_VALUE);
+
+ sourceStream.mark(Constants.MAX_MARK_LENGTH);
}
MessageDigest digest = null;
@@ -171,7 +180,7 @@ public static StreamMd5AndLength analyzeStream(final InputStream sourceStream, l
if (rewindSourceStream) {
sourceStream.reset();
- sourceStream.mark(Integer.MAX_VALUE);
+ sourceStream.mark(Constants.MAX_MARK_LENGTH);
}
return retVal;
@@ -305,6 +314,7 @@ public static void assertInBounds(final String param, final int value, final int
*/
public static XMLStreamReader createXMLStreamReaderFromStream(final InputStream streamRef)
throws XMLStreamException {
+ // TODO optimization keep this static
XMLInputFactory xmlif = null;
xmlif = XMLInputFactory.newInstance();
@@ -317,6 +327,32 @@ public static XMLStreamReader createXMLStreamReaderFromStream(final InputStream
return xmlif.createXMLStreamReader(streamRef);
}
+ /**
+ * Creates an XML stream reader from the specified input stream.
+ *
+ * @param reader
+ * An InputStreamReader
object that represents the input reader to use as the source.
+ *
+ * @return A java.xml.stream.XMLStreamReader
object that represents the XML stream reader created from
+ * the specified input stream.
+ *
+ * @throws XMLStreamException
+ * If the XML stream reader could not be created.
+ */
+ public static XMLStreamReader createXMLStreamReaderFromReader(final Reader reader) throws XMLStreamException {
+ // TODO optimization keep this static
+ XMLInputFactory xmlif = null;
+
+ xmlif = XMLInputFactory.newInstance();
+ xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.TRUE);
+ xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
+ // set the IS_COALESCING property to true , if application desires to
+ // get whole text data as one event.
+ xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE);
+
+ return xmlif.createXMLStreamReader(reader);
+ }
+
/**
* Returns a value that indicates whether a specified URI is a path-style URI.
*
@@ -421,6 +457,12 @@ public static String getGMTTime() {
return rfc1123Format.format(new Date());
}
+ public static String getTimeByZoneAndFormat(Date date, TimeZone zone, String format) {
+ final DateFormat formatter = new SimpleDateFormat(format, LOCALE_US);
+ formatter.setTimeZone(zone);
+ return formatter.format(date);
+ }
+
/**
* Returns the GTM date/time for the specified value using the RFC1123 pattern.
*
@@ -625,6 +667,28 @@ public static Date parseRFC1123DateFromStringInGMT(final String value) throws Pa
*/
public static String readElementFromXMLReader(final XMLStreamReader xmlr, final String elementName)
throws XMLStreamException {
+ return readElementFromXMLReader(xmlr, elementName, true);
+ }
+
+ /**
+ * Reads character data for the specified XML element from an XML stream reader. This method will read start events,
+ * characters, and end events from a stream.
+ *
+ * @param xmlr
+ * An XMLStreamReader
object that represents the source XML stream reader.
+ *
+ * @param elementName
+ * A String
that represents XML element name.
+ * @param returnNullOnEmpty
+ * If true, returns null when a empty string is read, otherwise EmptyString ("") is returned.
+ *
+ * @return A String
that represents the character data for the specified element.
+ *
+ * @throws XMLStreamException
+ * If an XML stream failure occurs.
+ */
+ public static String readElementFromXMLReader(final XMLStreamReader xmlr, final String elementName,
+ boolean returnNullOnEmpty) throws XMLStreamException {
xmlr.require(XMLStreamConstants.START_ELEMENT, null, elementName);
int eventType = xmlr.next();
final StringBuilder retVal = new StringBuilder();
@@ -644,7 +708,12 @@ public static String readElementFromXMLReader(final XMLStreamReader xmlr, final
}
xmlr.require(XMLStreamConstants.END_ELEMENT, null, elementName);
- return retVal.length() == 0 ? null : retVal.toString();
+ if (retVal.length() == 0) {
+ return returnNullOnEmpty ? null : Constants.EMPTY_STRING;
+ }
+ else {
+ return retVal.toString();
+ }
}
/**
@@ -885,8 +954,8 @@ public static String trimStart(final String value) {
* @param writeLength
* The number of bytes to read from the stream.
* @param rewindSourceStream
- * true
if the input stream should be rewound after it is read; otherwise,
- * false
.
+ * true
if the input stream should be rewound before it is read; otherwise,
+ * false
* @param calculateMD5
* true
if an MD5 hash will be calculated; otherwise, false
.
* @param currentResult
@@ -905,14 +974,17 @@ public static String trimStart(final String value) {
*/
public static StreamMd5AndLength writeToOutputStream(final InputStream sourceStream, final OutputStream outStream,
long writeLength, final boolean rewindSourceStream, final boolean calculateMD5,
- final RequestResult currentResult, final OperationContext opContext) throws IOException, StorageException {
+ final RequestResult currentResult, OperationContext opContext) throws IOException, StorageException {
if (opContext != null) {
opContext.setCurrentOperationByteCount(0);
}
+ else {
+ opContext = new OperationContext();
+ }
if (rewindSourceStream && sourceStream.markSupported()) {
sourceStream.reset();
- sourceStream.mark(Integer.MAX_VALUE);
+ sourceStream.mark(Constants.MAX_MARK_LENGTH);
}
if (calculateMD5 && opContext.getIntermediateMD5() == null) {
@@ -955,7 +1027,7 @@ public static StreamMd5AndLength writeToOutputStream(final InputStream sourceStr
outStream.flush();
if (calculateMD5) {
- retVal.setMd5(Base64.encode(opContext.getIntermediateMD5().digest()));
+ retVal.setDigest(opContext.getIntermediateMD5());
}
return retVal;
@@ -967,4 +1039,65 @@ public static StreamMd5AndLength writeToOutputStream(final InputStream sourceStr
private Utility() {
// No op
}
+
+ public static void checkNullaryCtor(Class> clazzType) {
+ Constructor> ctor = null;
+ try {
+ ctor = clazzType.getDeclaredConstructor((Class>[]) null);
+ }
+ catch (Exception e) {
+ throw new IllegalArgumentException("Class type must have contain a nullary constructor.");
+ }
+
+ if (ctor == null) {
+ throw new IllegalArgumentException("Class type must have contain a nullary constructor.");
+ }
+ }
+
+ public static Date parseDate(String dateString) {
+ try {
+ if (dateString.length() == 28) {
+ // "yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z'"-> [2012-01-04T23:21:59.1234567Z] length = 28
+ return Utility.parseDateFromString(dateString, Utility.ISO8061_LONG_PATTERN, Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 20) {
+ // "yyyy-MM-dd'T'HH:mm:ss'Z'"-> [2012-01-04T23:21:59Z] length = 20
+ return Utility.parseDateFromString(dateString, Utility.ISO8061_PATTERN, Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 17) {
+ // "yyyy-MM-dd'T'HH:mm'Z'"-> [2012-01-04T23:21Z] length = 17
+ return Utility.parseDateFromString(dateString, Utility.ISO8061_PATTERN_NO_SECONDS, Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 27) {
+ // "yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'"-> [2012-01-04T23:21:59.123456Z] length = 27
+ return Utility.parseDateFromString(dateString, "yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'", Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 26) {
+ // "yyyy-MM-dd'T'HH:mm:ss.SSSSS'Z'"-> [2012-01-04T23:21:59.12345Z] length = 26
+ return Utility.parseDateFromString(dateString, "yyyy-MM-dd'T'HH:mm:ss.SSSSS'Z'", Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 25) {
+ // "yyyy-MM-dd'T'HH:mm:ss.SSSS'Z'"-> [2012-01-04T23:21:59.1234Z] length = 25
+ return Utility.parseDateFromString(dateString, "yyyy-MM-dd'T'HH:mm:ss.SSSS'Z'", Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 24) {
+ // "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"-> [2012-01-04T23:21:59.123Z] length = 24
+ return Utility.parseDateFromString(dateString, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 23) {
+ // "yyyy-MM-dd'T'HH:mm:ss.SS'Z'"-> [2012-01-04T23:21:59.12Z] length = 23
+ return Utility.parseDateFromString(dateString, "yyyy-MM-dd'T'HH:mm:ss.SS'Z'", Utility.UTC_ZONE);
+ }
+ else if (dateString.length() == 22) {
+ // "yyyy-MM-dd'T'HH:mm:ss.S'Z'"-> [2012-01-04T23:21:59.1Z] length = 22
+ return Utility.parseDateFromString(dateString, "yyyy-MM-dd'T'HH:mm:ss.S'Z'", Utility.UTC_ZONE);
+ }
+ else {
+ throw new IllegalArgumentException(String.format("Invalid Date String: %s", dateString));
+ }
+ }
+ catch (final ParseException e) {
+ throw new IllegalArgumentException(String.format("Invalid Date String: %s", dateString), e);
+ }
+ }
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseRequest.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseRequest.java
index e8c595045e618..910fb9f8958c4 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseRequest.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseRequest.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseResponse.java
index e6acc444a7c06..25611e73cf547 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BaseResponse.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueFullCanonicalizer.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueFullCanonicalizer.java
index 0b7e2e4d43680..ecd15ebc93e38 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueFullCanonicalizer.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueFullCanonicalizer.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueLiteCanonicalizer.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueLiteCanonicalizer.java
index cf6949cdfcc33..0f795725f43c7 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueLiteCanonicalizer.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/BlobQueueLiteCanonicalizer.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/Canonicalizer.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/Canonicalizer.java
index cd2af8a81c3d5..17fe0633547bc 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/Canonicalizer.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/Canonicalizer.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/CanonicalizerFactory.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/CanonicalizerFactory.java
index 05b3607322cb4..eb9cca300c044 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/CanonicalizerFactory.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/CanonicalizerFactory.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/DeserializationHelper.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/DeserializationHelper.java
index 7d85bcb3e5941..18b561a6665f7 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/DeserializationHelper.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/DeserializationHelper.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ExecutionEngine.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ExecutionEngine.java
index 061c47d340e32..02e3554479058 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ExecutionEngine.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ExecutionEngine.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
@@ -183,7 +183,6 @@ public static RESULT_TYPE executeWithRet
// Evaluate Retry Policy
retryRes = policy.shouldRetry(currentRetryCount, task.getResult().getStatusCode(), opContext
.getLastResult().getException(), opContext);
-
if (!retryRes.isShouldRetry()) {
throw translatedException;
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LazySegmentedIterator.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LazySegmentedIterator.java
index 3cada7d30b23a..b0525448bd381 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LazySegmentedIterator.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LazySegmentedIterator.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LeaseAction.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LeaseAction.java
index 6206d2ef9dda4..e7bb775a2d71e 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LeaseAction.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/LeaseAction.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ListingContext.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ListingContext.java
index 167b7cfaf0d73..fffe4ba5c296f 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ListingContext.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/ListingContext.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/SegmentedStorageOperation.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/SegmentedStorageOperation.java
index 91bdfda5e19c3..abdbc987ccc32 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/SegmentedStorageOperation.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/SegmentedStorageOperation.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageErrorResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageErrorResponse.java
index 7779324a8c8e7..049bf75757fd5 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageErrorResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageErrorResponse.java
@@ -2,19 +2,20 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
import java.io.InputStream;
+import java.io.Reader;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
@@ -39,21 +40,39 @@ public final class StorageErrorResponse {
private boolean isParsed;
/**
- * Holds a reference to the input stream to read from.
+ * Holds a reference to the xml reader to parse error details from.
*/
- private final InputStream streamRef;
+ private XMLStreamReader xmlr = null;
+
+ // true to support table.
+ private boolean useLowerCaseElementNames = false;
/**
* Initializes the StorageErrorResponse object.
*
* @param stream
* the input stream to read error details from.
+ * @throws XMLStreamException
*/
- public StorageErrorResponse(final InputStream stream) {
- this.streamRef = stream;
+ public StorageErrorResponse(final InputStream stream) throws XMLStreamException {
+ this.xmlr = Utility.createXMLStreamReaderFromStream(stream);
this.errorInfo = new StorageExtendedErrorInformation();
}
+ /**
+ * Initializes the StorageErrorResponse object.
+ *
+ * @param reader
+ * the input stream to read error details from.
+ * @throws XMLStreamException
+ */
+ public StorageErrorResponse(final Reader reader) throws XMLStreamException {
+ this.xmlr = Utility.createXMLStreamReaderFromReader(reader);
+ this.errorInfo = new StorageExtendedErrorInformation();
+ // TODO fix me with more elegant table solution
+ this.useLowerCaseElementNames = true;
+ }
+
/**
* Gets the Extended Error information from the response stream.
*
@@ -84,6 +103,10 @@ private void parseErrorException(final XMLStreamReader xmlr) throws XMLStreamExc
while (xmlr.hasNext()) {
eventType = xmlr.next();
+ if (eventType == XMLStreamConstants.CHARACTERS) {
+ continue;
+ }
+
final String name = xmlr.getName().toString();
if (eventType == XMLStreamConstants.START_ELEMENT && name.equals(Constants.ERROR_EXCEPTION_MESSAGE)) {
@@ -115,45 +138,61 @@ else if (eventType == XMLStreamConstants.END_ELEMENT) {
* if an xml exception occurs
*/
private void parseResponse() throws XMLStreamException {
- final XMLStreamReader xmlr = Utility.createXMLStreamReaderFromStream(this.streamRef);
String tempParseString;
// Start document
- int eventType = xmlr.getEventType();
- xmlr.require(XMLStreamConstants.START_DOCUMENT, null, null);
+ int eventType = this.xmlr.getEventType();
+ this.xmlr.require(XMLStreamConstants.START_DOCUMENT, null, null);
// 1. get Error Root Header
- eventType = xmlr.next();
- xmlr.require(XMLStreamConstants.START_ELEMENT, null, Constants.ERROR_ROOT_ELEMENT);
+ eventType = this.xmlr.next();
+ this.xmlr.require(XMLStreamConstants.START_ELEMENT, null,
+ this.useLowerCaseElementNames ? Constants.ERROR_ROOT_ELEMENT.toLowerCase()
+ : Constants.ERROR_ROOT_ELEMENT);
+
+ while (this.xmlr.hasNext()) {
+ eventType = this.xmlr.next();
+ if (eventType == XMLStreamConstants.CHARACTERS) {
+ continue;
+ }
- while (xmlr.hasNext()) {
- eventType = xmlr.next();
if (eventType == XMLStreamConstants.END_ELEMENT) {
break;
}
- final String name = xmlr.getName().toString();
-
- if (eventType == XMLStreamConstants.START_ELEMENT && name.equals(Constants.ERROR_CODE)) {
- this.errorInfo.setErrorCode(Utility.readElementFromXMLReader(xmlr, Constants.ERROR_CODE));
- }
- else if (eventType == XMLStreamConstants.START_ELEMENT && name.equals(Constants.ERROR_MESSAGE)) {
- this.errorInfo.setErrorMessage(Utility.readElementFromXMLReader(xmlr, Constants.ERROR_MESSAGE));
- }
- else if (eventType == XMLStreamConstants.START_ELEMENT && name.equals(Constants.ERROR_EXCEPTION)) {
- // get error exception
- this.parseErrorException(xmlr);
- xmlr.require(XMLStreamConstants.END_ELEMENT, null, Constants.ERROR_EXCEPTION);
- }
- else if (eventType == XMLStreamConstants.START_ELEMENT) {
- // get additional details
- tempParseString = Utility.readElementFromXMLReader(xmlr, name);
-
- this.errorInfo.getAdditionalDetails().put(name, new String[] { tempParseString });
-
- xmlr.require(XMLStreamConstants.END_ELEMENT, null, null);
+ String name = this.xmlr.getName().getLocalPart().toString();
+ name = this.useLowerCaseElementNames ? name.toLowerCase() : name;
+
+ if (eventType == XMLStreamConstants.START_ELEMENT) {
+
+ if (name.equals(this.useLowerCaseElementNames ? Constants.ERROR_CODE.toLowerCase()
+ : Constants.ERROR_CODE)) {
+ this.errorInfo.setErrorCode(Utility.readElementFromXMLReader(this.xmlr,
+ this.useLowerCaseElementNames ? Constants.ERROR_CODE.toLowerCase() : Constants.ERROR_CODE));
+ }
+ else if (name.equals(this.useLowerCaseElementNames ? Constants.ERROR_MESSAGE.toLowerCase()
+ : Constants.ERROR_MESSAGE)) {
+ this.errorInfo.setErrorMessage(Utility.readElementFromXMLReader(this.xmlr,
+ this.useLowerCaseElementNames ? Constants.ERROR_MESSAGE.toLowerCase()
+ : Constants.ERROR_MESSAGE));
+ }
+ else if (name.equals(this.useLowerCaseElementNames ? Constants.ERROR_EXCEPTION.toLowerCase()
+ : Constants.ERROR_EXCEPTION)) {
+ // get error exception
+ this.parseErrorException(this.xmlr);
+ this.xmlr.require(XMLStreamConstants.END_ELEMENT, null,
+ this.useLowerCaseElementNames ? Constants.ERROR_EXCEPTION.toLowerCase()
+ : Constants.ERROR_EXCEPTION);
+ }
+ else {
+ // get additional details
+ tempParseString = Utility.readElementFromXMLReader(this.xmlr, name);
+
+ this.errorInfo.getAdditionalDetails().put(name, new String[] { tempParseString });
+
+ this.xmlr.require(XMLStreamConstants.END_ELEMENT, null, null);
+ }
}
-
}
}
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageOperation.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageOperation.java
index 2da55c04def5d..52d693f638dd2 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageOperation.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/StorageOperation.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/TableLiteCanonicalizer.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/TableLiteCanonicalizer.java
index 8c76b38cd2614..d28fa2d96db41 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/TableLiteCanonicalizer.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/core/storage/utils/implementation/TableLiteCanonicalizer.java
@@ -2,15 +2,18 @@
* 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
+ * 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.
+ */
+/**
*
- * 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.storage.utils.implementation;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueue.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueue.java
index 33b8131623496..5e4ddf1ffdd7e 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueue.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueue.java
@@ -1,8 +1,18 @@
-/*
- * CloudQueue.java
+/**
+ * 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
*
- * Copyright (c) 2011 Microsoft. All rights reserved.
+ * 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.queue.client;
import java.io.OutputStream;
@@ -55,22 +65,22 @@ static CloudQueueMessage getFirstOrNull(final Iterable messag
/**
* The absolute URI
of the queue.
*/
- private final URI uri;
+ URI uri;
/**
* A reference to the queue's associated service client.
*/
- private final CloudQueueClient queueServiceClient;
+ private CloudQueueClient queueServiceClient;
/**
* The queue's Metadata collection.
*/
- private HashMap metadata;
+ HashMap metadata;
/**
* The queue's approximate message count, as reported by the server.
*/
- private long approximateMessageCount;
+ long approximateMessageCount;
/**
* The messag
/**
* A flag indicating whether or not the message should be encoded in base-64.
*/
- private boolean shouldEncodeMessage;
+ boolean shouldEncodeMessage;
/**
* Creates an instance of the CloudQueue
class using the specified address and client.
@@ -419,7 +429,7 @@ else if (this.getResult().getStatusCode() == HttpURLConnection.HTTP_CONFLICT) {
StorageExtendedErrorInformation extendedInfo = potentialConflictException
.getExtendedErrorInformation();
if (extendedInfo == null) {
- // If we can't validate the error then the error must be surfaced to the user.
+ // If we cant validate the error then the error must be surfaced to the user.
throw potentialConflictException;
}
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueClient.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueClient.java
index 71fc78af065bf..8b8fe0e571f20 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueClient.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueClient.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
import java.io.IOException;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueMessage.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueMessage.java
index 6e116da0c7633..66f7328e35a0c 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueMessage.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/CloudQueueMessage.java
@@ -2,15 +2,15 @@
* 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
+ * 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.
+ * 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.queue.client;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/ListQueuesResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/ListQueuesResponse.java
index 328a39e3aa7d1..83409abb03f2b 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/ListQueuesResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/ListQueuesResponse.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
import java.io.InputStream;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/MessageUpdateFields.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/MessageUpdateFields.java
index 1e10b72e8b01b..4e2efb1d3d6b9 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/MessageUpdateFields.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/MessageUpdateFields.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
/**
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueConstants.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueConstants.java
index 3f7ecf932be75..4f9bc6438af8e 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueConstants.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueConstants.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
/**
@@ -32,7 +33,7 @@ final class QueueConstants {
* The maximum number of messages that can be peeked or retrieved at a time.
*/
public static final int MAX_NUMBER_OF_MESSAGES_TO_PEEK = 32;
-
+
/**
* Default visibility time out for the retrieve message operation.
*/
@@ -106,9 +107,8 @@ final class QueueConstants {
/**
* The header that specifies the approximate message count of a queue.
*/
- public static final String APPROXIMATE_MESSAGES_COUNT =
- com.microsoft.windowsazure.services.core.storage.Constants.PREFIX_FOR_STORAGE_HEADER
- + "approximate-messages-count";
+ public static final String APPROXIMATE_MESSAGES_COUNT = com.microsoft.windowsazure.services.core.storage.Constants.PREFIX_FOR_STORAGE_HEADER
+ + "approximate-messages-count";
/**
* Private Default Ctor.
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueDeserializationHelper.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueDeserializationHelper.java
index d2077cb2d5ac0..0bee5eaa15fca 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueDeserializationHelper.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueDeserializationHelper.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
import java.io.InputStream;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueListingDetails.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueListingDetails.java
index dafb259c05e67..6f7064e0ee532 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueListingDetails.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueListingDetails.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
/**
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueMessageType.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueMessageType.java
index cbd3ba362450d..dd96957596cc0 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueMessageType.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueMessageType.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
/**
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequest.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequest.java
index 7f01ad524897c..1b8867dc1797c 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequest.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequest.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
import java.io.IOException;
@@ -175,8 +176,7 @@ public static HttpURLConnection delete(final URI uri, final int timeout, final O
* timeout value is 0, the maximum timeout of 30 seconds is used.
* @param popReceipt
* A String
that contains the pop receipt value
- * returned from an earlier call to
- * {@link CloudQueueMessage#getPopReceipt} for the message to
+ * returned from an earlier call to {@link CloudQueueMessage#getPopReceipt} for the message to
* delete.
* @param opContext
* An {@link OperationContext} object that represents the context
@@ -246,8 +246,7 @@ public static HttpURLConnection downloadAttributes(final URI uri, final int time
* request.
*
* @param message
- * A
- * String containing the message to wrap in a message request body.
+ * A String containing the message to wrap in a message request body.
*
* @return An array of byte
containing the message request body
* encoded as UTF-8.
@@ -276,7 +275,8 @@ public static byte[] generateMessageRequestBody(final String message) throws XML
xmlw.writeEndDocument();
try {
return outWriter.toString().getBytes("UTF8");
- } catch (final UnsupportedEncodingException e) {
+ }
+ catch (final UnsupportedEncodingException e) {
throw Utility.generateNewUnexpectedStorageException(e);
}
}
@@ -298,8 +298,7 @@ public static byte[] generateMessageRequestBody(final String message) throws XML
* the listing operation, if any. May be null
.
* @param detailsIncluded
* A {@link QueueListingDetails} object that specifies additional
- * details to return with the listing, if any. May be
- * null
.
+ * details to return with the listing, if any. May be null
.
* @param opContext
* An {@link OperationContext} object that represents the context
* for the current operation. This object is used to track
@@ -397,8 +396,8 @@ public static HttpURLConnection peekMessages(final URI uri, final int timeout, f
/**
* Constructs a web request to add a message to the back of the queue. Write
- * the encoded message request body generated with a call to
- * {@link #generateMessageRequestBody(String)} to the output stream of the
+ * the encoded message request body generated with a call to {@link #generateMessageRequestBody(String)} to the
+ * output stream of the
* request. Sign the web request with the length of the encoded message
* request body.
*
@@ -567,8 +566,7 @@ public static HttpURLConnection setMetadata(final URI uri, final int timeout, fi
* timeout value is 0, the maximum timeout of 30 seconds is used.
* @param popReceipt
* A String
that contains the pop receipt value
- * returned from an earlier call to
- * {@link CloudQueueMessage#getPopReceipt} for the message to
+ * returned from an earlier call to {@link CloudQueueMessage#getPopReceipt} for the message to
* update.
* @param visibilityTimeoutInSeconds
* Specifies the new visibility timeout value in seconds,
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequestOptions.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequestOptions.java
index f945aab8d3e65..d4291a35160de 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequestOptions.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueRequestOptions.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
import com.microsoft.windowsazure.services.core.storage.RequestOptions;
diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueResponse.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueResponse.java
index c3817ad822261..281e7760df300 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueResponse.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/queue/client/QueueResponse.java
@@ -2,16 +2,17 @@
* 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
+ * 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.
+ * 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.queue.client;
import java.net.HttpURLConnection;