Repository: jclouds-labs-aws
Updated Branches:
  refs/heads/master 6ed371b52 -> 4c52e96b4


Added some fixes to the live test and a few things on the rest of the code for 
clarity.


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/a144c2f2
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/tree/a144c2f2
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/diff/a144c2f2

Branch: refs/heads/master
Commit: a144c2f2b07745daa62a68dcb858a51168349a17
Parents: 6ed371b
Author: Roman C. Coedo <[email protected]>
Authored: Fri May 30 22:04:51 2014 +0200
Committer: Andrew Gaul <[email protected]>
Committed: Fri May 30 16:33:11 2014 -0700

----------------------------------------------------------------------
 .../org/jclouds/glacier/GlacierAsyncClient.java |  2 +-
 .../java/org/jclouds/glacier/GlacierClient.java | 12 ++---
 .../glacier/GlacierResponseException.java       |  5 +-
 .../jclouds/glacier/domain/VaultMetadata.java   | 14 +++---
 .../ParseGlacierErrorFromJsonContent.java       |  5 +-
 .../glacier/options/PaginationOptions.java      |  5 +-
 .../validators/VaultNameValidator.java          |  7 ++-
 .../jclouds/glacier/GlacierClientLiveTest.java  | 50 ++++++++------------
 .../jclouds/glacier/GlacierClientMockTest.java  |  2 +-
 .../validators/VaultNameValidatorTest.java      |  8 ++--
 10 files changed, 52 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/main/java/org/jclouds/glacier/GlacierAsyncClient.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/GlacierAsyncClient.java 
b/glacier/src/main/java/org/jclouds/glacier/GlacierAsyncClient.java
index 9554343..7e6a3aa 100644
--- a/glacier/src/main/java/org/jclouds/glacier/GlacierAsyncClient.java
+++ b/glacier/src/main/java/org/jclouds/glacier/GlacierAsyncClient.java
@@ -75,7 +75,7 @@ public interface GlacierAsyncClient extends Closeable {
    @DELETE
    @Path("/-/vaults/{vault}")
    @Fallback(FalseIfVaultNotEmpty.class)
-   ListenableFuture<Boolean> deleteVaultIfEmpty(@PathParam("vault") 
@ParamValidators(VaultNameValidator.class) String vaultName);
+   ListenableFuture<Boolean> deleteVault(@PathParam("vault") 
@ParamValidators(VaultNameValidator.class) String vaultName);
 
    /**
     * @see GlacierClient#describeVault

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/main/java/org/jclouds/glacier/GlacierClient.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/GlacierClient.java 
b/glacier/src/main/java/org/jclouds/glacier/GlacierClient.java
index 8dc16d1..f078a16 100644
--- a/glacier/src/main/java/org/jclouds/glacier/GlacierClient.java
+++ b/glacier/src/main/java/org/jclouds/glacier/GlacierClient.java
@@ -34,7 +34,7 @@ import org.jclouds.glacier.options.PaginationOptions;
 public interface GlacierClient extends Closeable {
 
    /**
-    * A PUT request operation with a vault name to create a new vault to store 
archives.
+    * Creates a new vault to store archives.
     *
     * @param vaultName
     *           A name for the Vault being created.
@@ -44,17 +44,17 @@ public interface GlacierClient extends Closeable {
    URI createVault(String vaultName);
 
    /**
-    * A DELETE request operation with a vault name to delete an existing 
vault. The vault must be empty.
+    * A DELETE request operation with a vault name to delete an existing vault.
     *
     * @param vaultName
     *           Name of the Vault being deleted.
     * @return False if the vault was not empty and therefore not deleted, true 
otherwise.
     * @see <a 
href="http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-delete.html";
 />
     */
-   boolean deleteVaultIfEmpty(String vaultName);
+   boolean deleteVault(String vaultName);
 
    /**
-    * A GET request operation with a vault name to fetch the vault metadata.
+    * Retrieves the metadata for a vault.
     *
     * @param vaultName
     *           Name of the Vault being described.
@@ -64,7 +64,7 @@ public interface GlacierClient extends Closeable {
    VaultMetadata describeVault(String vaultName);
 
    /**
-    * A GET request operation to retrieve a vault listing.
+    * Lists vaults according to specified options.
     *
     * @param options
     *          Options used for pagination.
@@ -74,7 +74,7 @@ public interface GlacierClient extends Closeable {
    PaginatedVaultCollection listVaults(PaginationOptions options);
 
    /**
-    * A GET request operation to retrieve a vault listing.
+    * List vaults.
     *
     * @see GlacierClient#listVaults(PaginationOptions)
     */

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/main/java/org/jclouds/glacier/GlacierResponseException.java
----------------------------------------------------------------------
diff --git 
a/glacier/src/main/java/org/jclouds/glacier/GlacierResponseException.java 
b/glacier/src/main/java/org/jclouds/glacier/GlacierResponseException.java
index 4db19f3..978d973 100644
--- a/glacier/src/main/java/org/jclouds/glacier/GlacierResponseException.java
+++ b/glacier/src/main/java/org/jclouds/glacier/GlacierResponseException.java
@@ -40,9 +40,8 @@ public class GlacierResponseException extends 
HttpResponseException {
    }
 
    public GlacierResponseException(HttpCommand command, HttpResponse response, 
GlacierError error, Throwable cause) {
-      super("request " + command.getCurrentRequest().getRequestLine() + " 
failed with code " + response.getStatusCode()
-            + ", error: " + error.toString(), command, response, cause);
-      this.error = checkNotNull(error, "error");
+      this("request " + command.getCurrentRequest().getRequestLine() + " 
failed with code " + response.getStatusCode()
+            + ", error: " + error.toString(), command, response, error, cause);
    }
 
    public GlacierResponseException(HttpCommand command, HttpResponse response, 
GlacierError error) {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/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 d753cad..4e77d9e 100644
--- a/glacier/src/main/java/org/jclouds/glacier/domain/VaultMetadata.java
+++ b/glacier/src/main/java/org/jclouds/glacier/domain/VaultMetadata.java
@@ -43,20 +43,20 @@ public class VaultMetadata implements 
Comparable<VaultMetadata> {
    @SerializedName("LastInventoryDate")
    private final Date lastInventoryDate;
    @SerializedName("NumberOfArchives")
-   private final Long numberOfArchives;
+   private final long numberOfArchives;
    @SerializedName("SizeInBytes")
-   private final Long sizeInBytes;
+   private final long sizeInBytes;
 
    @ConstructorProperties({ "VaultName", "VaultARN", "CreationDate", 
"LastInventoryDate", "NumberOfArchives",
          "SizeInBytes" })
    public VaultMetadata(String vaultName, String vaultARN, Date creationDate, 
@Nullable Date lastInventoryDate,
          long numberOfArchives, long sizeInBytes) {
-      this.vaultName = checkNotNull(vaultName);
-      this.vaultARN = checkNotNull(vaultARN);
-      this.creationDate = checkNotNull(creationDate);
+      this.vaultName = checkNotNull(vaultName, "vaultName");
+      this.vaultARN = checkNotNull(vaultARN, "vaultARN");
+      this.creationDate = checkNotNull(creationDate, "creationDate");
       this.lastInventoryDate = lastInventoryDate;
-      this.numberOfArchives = checkNotNull(numberOfArchives);
-      this.sizeInBytes = checkNotNull(sizeInBytes);
+      this.numberOfArchives = numberOfArchives;
+      this.sizeInBytes = sizeInBytes;
    }
 
    public String getVaultName() {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/main/java/org/jclouds/glacier/handlers/ParseGlacierErrorFromJsonContent.java
----------------------------------------------------------------------
diff --git 
a/glacier/src/main/java/org/jclouds/glacier/handlers/ParseGlacierErrorFromJsonContent.java
 
b/glacier/src/main/java/org/jclouds/glacier/handlers/ParseGlacierErrorFromJsonContent.java
index d68995e..0a9b84b 100644
--- 
a/glacier/src/main/java/org/jclouds/glacier/handlers/ParseGlacierErrorFromJsonContent.java
+++ 
b/glacier/src/main/java/org/jclouds/glacier/handlers/ParseGlacierErrorFromJsonContent.java
@@ -59,8 +59,9 @@ public class ParseGlacierErrorFromJsonContent extends 
ParseJson<GlacierError> im
    @Override
    public void handleError(HttpCommand command, HttpResponse response) {
       GlacierError error = this.apply(response);
-      Exception exception = error.isValid() ? refineException(error, new 
GlacierResponseException(command, response,
-            error)) : new HttpResponseException(command, response);
+      Exception exception = error.isValid()
+            ? refineException(error, new GlacierResponseException(command, 
response, error))
+            : new HttpResponseException(command, response);
       command.setException(exception);
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/main/java/org/jclouds/glacier/options/PaginationOptions.java
----------------------------------------------------------------------
diff --git 
a/glacier/src/main/java/org/jclouds/glacier/options/PaginationOptions.java 
b/glacier/src/main/java/org/jclouds/glacier/options/PaginationOptions.java
index 3536786..1f95adf 100644
--- a/glacier/src/main/java/org/jclouds/glacier/options/PaginationOptions.java
+++ b/glacier/src/main/java/org/jclouds/glacier/options/PaginationOptions.java
@@ -24,6 +24,7 @@ import org.jclouds.http.options.BaseHttpRequestOptions;
 /**
  * Pagination options used to specify the collection responses.
  *
+ * @see <a 
href="http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vaults-get.html"; 
/>
  * @author Roman Coedo
  */
 public class PaginationOptions extends BaseHttpRequestOptions {
@@ -37,8 +38,8 @@ public class PaginationOptions extends BaseHttpRequestOptions 
{
    }
 
    public PaginationOptions limit(int limit) {
-      checkArgument(limit >= MIN_LIMIT, "limit must be >= " + MIN_LIMIT);
-      checkArgument(limit <= MAX_LIMIT, "limit must be <= " + MAX_LIMIT);
+      checkArgument(limit >= MIN_LIMIT, "limit must be >= " + MIN_LIMIT + " 
but was " + limit);
+      checkArgument(limit <= MAX_LIMIT, "limit must be <= " + MAX_LIMIT + " 
but was " + limit);
       queryParameters.put("limit", Integer.toString(limit));
       return this;
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/main/java/org/jclouds/glacier/predicates/validators/VaultNameValidator.java
----------------------------------------------------------------------
diff --git 
a/glacier/src/main/java/org/jclouds/glacier/predicates/validators/VaultNameValidator.java
 
b/glacier/src/main/java/org/jclouds/glacier/predicates/validators/VaultNameValidator.java
index b6005e0..9e03533 100644
--- 
a/glacier/src/main/java/org/jclouds/glacier/predicates/validators/VaultNameValidator.java
+++ 
b/glacier/src/main/java/org/jclouds/glacier/predicates/validators/VaultNameValidator.java
@@ -16,6 +16,8 @@
  */
 package org.jclouds.glacier.predicates.validators;
 
+import static com.google.common.base.Strings.isNullOrEmpty;
+
 import org.jclouds.predicates.Validator;
 
 import com.google.common.base.CharMatcher;
@@ -24,6 +26,7 @@ import com.google.inject.Singleton;
 /**
  * Validates Vault names according to Amazon Vault conventions.
  *
+ * @see <a 
href="http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-put.html"; />
  * @author Roman Coedo
  */
 @Singleton
@@ -34,7 +37,7 @@ public class VaultNameValidator extends Validator<String> {
 
    @Override
    public void validate(String vaultName) {
-      if (vaultName == null || vaultName.length() < MIN_LENGTH || 
vaultName.length() > MAX_LENGTH)
+      if (isNullOrEmpty(vaultName) || vaultName.length() > MAX_LENGTH)
          throw exception(vaultName, "Can't be null or empty. Length must be " 
+ MIN_LENGTH + " to " + MAX_LENGTH
                + " symbols.");
       CharMatcher range = getAcceptableRange();
@@ -47,7 +50,7 @@ public class VaultNameValidator extends Validator<String> {
             .or(CharMatcher.anyOf("-_."));
    }
 
-   protected IllegalArgumentException exception(String vaultName, String 
reason) {
+   protected static IllegalArgumentException exception(String vaultName, 
String reason) {
       return new IllegalArgumentException(
             String.format(
                   "Object '%s' doesn't match AWS Vault naming convention. "

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/test/java/org/jclouds/glacier/GlacierClientLiveTest.java
----------------------------------------------------------------------
diff --git 
a/glacier/src/test/java/org/jclouds/glacier/GlacierClientLiveTest.java 
b/glacier/src/test/java/org/jclouds/glacier/GlacierClientLiveTest.java
index 6756973..e062c57 100644
--- a/glacier/src/test/java/org/jclouds/glacier/GlacierClientLiveTest.java
+++ b/glacier/src/test/java/org/jclouds/glacier/GlacierClientLiveTest.java
@@ -16,10 +16,9 @@
  */
 package org.jclouds.glacier;
 
-import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 
-import java.util.Iterator;
 import java.util.UUID;
 
 import org.jclouds.apis.BaseApiLiveTest;
@@ -45,45 +44,36 @@ public class GlacierClientLiveTest extends 
BaseApiLiveTest<GlacierClient>{
 
    @Test(groups = { "integration", "live" })
    public void testDeleteVaultIfEmptyOrNotFound() throws Exception {
-      assertTrue(api.deleteVaultIfEmpty(UUID.randomUUID().toString()));
+      assertTrue(api.deleteVault(UUID.randomUUID().toString()));
    }
 
    @Test(groups = { "integration", "live" })
    public void testDescribeNonExistentVault() throws Exception {
       VaultMetadata vault = api.describeVault(UUID.randomUUID().toString());
-      assertEquals(vault, null);
+      assertNull(vault);
    }
 
-   private void testDescribeVault() throws Exception {
-      VaultMetadata vault = api.describeVault(VAULT_NAME1);
-      assertEquals(vault.getVaultName(), VAULT_NAME1);
-      assertEquals(vault.getNumberOfArchives(), 0);
-      assertEquals(vault.getSizeInBytes(), 0);
-      assertEquals(vault.getLastInventoryDate(), null);
+   @Test(groups = { "integration", "live" })
+   public void testCreateVault() throws Exception {
+      String path = api.createVault(VAULT_NAME1).toString();
+      api.createVault(VAULT_NAME2);
+      api.createVault(VAULT_NAME3);
+      assertTrue(path.contains("https://glacier.us-east-1.amazonaws.com/";));
+      assertTrue(path.contains("/vaults/" + VAULT_NAME1));
    }
 
-   private void testListVaults() throws Exception {
+   @Test(groups = { "integration", "live" }, dependsOnMethods = { 
"testCreateVault" })
+   public void testListAndDescribeVaults() throws Exception {
       PaginatedVaultCollection vaults = api.listVaults();
-      Iterator<VaultMetadata> i = vaults.iterator();
-      assertEquals(i.next().getVaultName(), VAULT_NAME1);
-      assertEquals(i.next().getVaultName(), VAULT_NAME2);
-      assertEquals(i.next().getVaultName(), VAULT_NAME3);
+      assertTrue(vaults.contains(api.describeVault(VAULT_NAME1)));
+      assertTrue(vaults.contains(api.describeVault(VAULT_NAME2)));
+      assertTrue(vaults.contains(api.describeVault(VAULT_NAME3)));
    }
 
-   @Test(groups = { "integration", "live" })
-   public void testCreateDescribeAndListVault() throws Exception {
-      try {
-         String path = api.createVault(VAULT_NAME1).toString();
-         api.createVault(VAULT_NAME2);
-         api.createVault(VAULT_NAME3);
-         assertTrue(path.contains("https://glacier.us-east-1.amazonaws.com/";));
-         assertTrue(path.contains("/vaults/" + VAULT_NAME1));
-         this.testDescribeVault();
-         this.testListVaults();
-      } finally {
-         api.deleteVaultIfEmpty(VAULT_NAME1);
-         api.deleteVaultIfEmpty(VAULT_NAME2);
-         api.deleteVaultIfEmpty(VAULT_NAME3);
-      }
+   @Test(groups = { "integration", "live" }, dependsOnMethods = { 
"testListAndDescribeVaults" })
+   public void testDeleteVault() throws Exception {
+      api.deleteVault(VAULT_NAME1);
+      api.deleteVault(VAULT_NAME2);
+      api.deleteVault(VAULT_NAME3);
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/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 9daa336..51906a6 100644
--- a/glacier/src/test/java/org/jclouds/glacier/GlacierClientMockTest.java
+++ b/glacier/src/test/java/org/jclouds/glacier/GlacierClientMockTest.java
@@ -99,7 +99,7 @@ public class GlacierClientMockTest {
       // Send the request and check the response
       try {
          GlacierClient client = getGlacierClient(server.getUrl("/"));
-         assertTrue(client.deleteVaultIfEmpty(VAULT_NAME));
+         assertTrue(client.deleteVault(VAULT_NAME));
          RecordedRequest request = server.takeRequest();
          assertEquals(request.getRequestLine(), "DELETE /-/vaults/" + 
VAULT_NAME + " HTTP/1.1");
       } finally {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/a144c2f2/glacier/src/test/java/org/jclouds/glacier/predicates/validators/VaultNameValidatorTest.java
----------------------------------------------------------------------
diff --git 
a/glacier/src/test/java/org/jclouds/glacier/predicates/validators/VaultNameValidatorTest.java
 
b/glacier/src/test/java/org/jclouds/glacier/predicates/validators/VaultNameValidatorTest.java
index fd5cfc3..f5841f2 100644
--- 
a/glacier/src/test/java/org/jclouds/glacier/predicates/validators/VaultNameValidatorTest.java
+++ 
b/glacier/src/test/java/org/jclouds/glacier/predicates/validators/VaultNameValidatorTest.java
@@ -32,22 +32,22 @@ public class VaultNameValidatorTest {
    }
 
    @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testValidateInvalidName() {
+   public void testEmptyName() {
       VALIDATOR.validate("");
    }
 
    @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testValidateInvalidName2() {
+   public void testIllegalCharacters() {
       VALIDATOR.validate("<InvalidName>");
    }
 
    @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testValidateInvalidName3() {
+   public void testIllegalCharacters2() {
       VALIDATOR.validate("INVALID,NAME");
    }
 
    @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testValidateInvalidName4() {
+   public void testNameTooLong() {
       
VALIDATOR.validate("INVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVAL"
 +
             
"IDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEI"
 +
             
"NVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAMEINVALIDNAME");

Reply via email to