Repository: jclouds-labs-aws Updated Branches: refs/heads/master ac5e48f66 -> 9113ce562
JCLOUDS-457: Multiple fixes This commit addresses some problems found in the code: - Now VaultMetadata returns a copy of the creation date instead of their own instance. - Added a checkNotNull for PaginatedVaultCollection iterable. - Added a test for listVaults with an empty list of vaults. Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/commit/9113ce56 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/tree/9113ce56 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/diff/9113ce56 Branch: refs/heads/master Commit: 9113ce56249fb505d81153b09d4f2c5e83b7660d Parents: ac5e48f Author: Roman C. Coedo <[email protected]> Authored: Fri Jun 27 09:28:36 2014 +0200 Committer: Andrew Gaul <[email protected]> Committed: Fri Jun 27 15:49:08 2014 -0700 ---------------------------------------------------------------------- .../jclouds/glacier/domain/PaginatedVaultCollection.java | 4 +++- .../java/org/jclouds/glacier/domain/VaultMetadata.java | 4 ++-- .../java/org/jclouds/glacier/GlacierClientMockTest.java | 11 +++++++++++ .../json/listVaultsWithEmptyListResponseBody.json | 4 ++++ 4 files changed, 20 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/9113ce56/glacier/src/main/java/org/jclouds/glacier/domain/PaginatedVaultCollection.java ---------------------------------------------------------------------- diff --git a/glacier/src/main/java/org/jclouds/glacier/domain/PaginatedVaultCollection.java b/glacier/src/main/java/org/jclouds/glacier/domain/PaginatedVaultCollection.java index f39e02f..8f0eae4 100644 --- a/glacier/src/main/java/org/jclouds/glacier/domain/PaginatedVaultCollection.java +++ b/glacier/src/main/java/org/jclouds/glacier/domain/PaginatedVaultCollection.java @@ -16,6 +16,8 @@ */ package org.jclouds.glacier.domain; +import static com.google.common.base.Preconditions.checkNotNull; + import java.beans.ConstructorProperties; import java.util.Iterator; @@ -37,7 +39,7 @@ public class PaginatedVaultCollection extends IterableWithMarker<VaultMetadata> @ConstructorProperties({ "VaultList", "Marker" }) public PaginatedVaultCollection(Iterable<VaultMetadata> vaults, String marker) { - this.vaults = vaults; + this.vaults = checkNotNull(vaults, "vaults"); this.marker = marker; } http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/9113ce56/glacier/src/main/java/org/jclouds/glacier/domain/VaultMetadata.java ---------------------------------------------------------------------- diff --git a/glacier/src/main/java/org/jclouds/glacier/domain/VaultMetadata.java b/glacier/src/main/java/org/jclouds/glacier/domain/VaultMetadata.java index 6a6c5fd..0acb20c 100644 --- a/glacier/src/main/java/org/jclouds/glacier/domain/VaultMetadata.java +++ b/glacier/src/main/java/org/jclouds/glacier/domain/VaultMetadata.java @@ -51,7 +51,7 @@ public class VaultMetadata implements Comparable<VaultMetadata> { long numberOfArchives, long sizeInBytes) { this.vaultName = checkNotNull(vaultName, "vaultName"); this.vaultARN = checkNotNull(vaultARN, "vaultARN"); - this.creationDate = checkNotNull(creationDate, "creationDate"); + this.creationDate = (Date) checkNotNull(creationDate, "creationDate").clone(); this.lastInventoryDate = lastInventoryDate; this.numberOfArchives = numberOfArchives; this.sizeInBytes = sizeInBytes; @@ -66,7 +66,7 @@ public class VaultMetadata implements Comparable<VaultMetadata> { } public Date getCreationDate() { - return creationDate; + return (Date) creationDate.clone(); } public Date getLastInventoryDate() { http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/9113ce56/glacier/src/test/java/org/jclouds/glacier/GlacierClientMockTest.java ---------------------------------------------------------------------- diff --git a/glacier/src/test/java/org/jclouds/glacier/GlacierClientMockTest.java b/glacier/src/test/java/org/jclouds/glacier/GlacierClientMockTest.java index acc6a39..6efb566 100644 --- a/glacier/src/test/java/org/jclouds/glacier/GlacierClientMockTest.java +++ b/glacier/src/test/java/org/jclouds/glacier/GlacierClientMockTest.java @@ -186,6 +186,17 @@ public class GlacierClientMockTest { } @Test + public void testListVaultsWithEmptyList() throws InterruptedException, IOException { + MockResponse mr = buildBaseResponse(200); + mr.addHeader(HttpHeaders.CONTENT_TYPE, MediaType.JSON_UTF_8); + mr.setBody(getResponseBody("/json/listVaultsWithEmptyListResponseBody.json")); + mr.addHeader(HttpHeaders.CONTENT_LENGTH, mr.getBody().length); + server.enqueue(mr); + + assertTrue(client.listVaults().isEmpty()); + } + + @Test public void testListVaultsWithQueryParams() throws InterruptedException, IOException { MockResponse mr = buildBaseResponse(200); mr.addHeader(HttpHeaders.CONTENT_TYPE, MediaType.JSON_UTF_8); http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/9113ce56/glacier/src/test/resources/json/listVaultsWithEmptyListResponseBody.json ---------------------------------------------------------------------- diff --git a/glacier/src/test/resources/json/listVaultsWithEmptyListResponseBody.json b/glacier/src/test/resources/json/listVaultsWithEmptyListResponseBody.json new file mode 100644 index 0000000..0eb76a2 --- /dev/null +++ b/glacier/src/test/resources/json/listVaultsWithEmptyListResponseBody.json @@ -0,0 +1,4 @@ +{ + "Marker": null, + "VaultList": [] +}
