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": []
+}

Reply via email to