You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by an...@apache.org on 2014/07/29 00:19:20 UTC

git commit: Updating documentation and a configuration property name

Repository: jclouds-labs-aws
Updated Branches:
  refs/heads/master 95d9b002e -> 7ca9836a4


Updating documentation and a configuration property name

Follow-on from 95d9b00


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

Branch: refs/heads/master
Commit: 7ca9836a44c22ba38bda41075e31d7636a0a8d09
Parents: 95d9b00
Author: Roman Coedo <ro...@gmail.com>
Authored: Mon Jul 28 17:04:55 2014 +0200
Committer: Andrew Phillips <an...@apache.org>
Committed: Mon Jul 28 18:18:11 2014 -0400

----------------------------------------------------------------------
 .../glacier/blobstore/GlacierBlobStore.java     | 57 ++++++++++----------
 ...hiveMetadataCollectionToStorageMetadata.java |  3 --
 .../ArchiveMetadataToBlobMetadata.java          |  3 --
 ...erOptionsToInventoryRetrievalJobRequest.java |  3 --
 ...ginatedVaultCollectionToStorageMetadata.java |  3 --
 .../VaultMetadataToStorageMetadata.java         |  3 --
 .../strategy/MultipartUploadStrategy.java       |  3 --
 .../blobstore/strategy/PollingStrategy.java     |  3 --
 .../blobstore/strategy/SlicingStrategy.java     |  3 --
 .../strategy/internal/BasePollingStrategy.java  |  1 -
 .../strategy/internal/BaseSlicingStrategy.java  |  1 -
 .../strategy/internal/ClearVaultStrategy.java   | 19 +++----
 .../SequentialMultipartUploadStrategy.java      |  1 -
 13 files changed, 39 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/GlacierBlobStore.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/GlacierBlobStore.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/GlacierBlobStore.java
index eba0732..c4cd152 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/GlacierBlobStore.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/GlacierBlobStore.java
@@ -62,7 +62,7 @@ public class GlacierBlobStore extends BaseBlobStore {
    public static final long DEFAULT_INVENTORY_UPDATE_TIME = TimeUnit.HOURS.toMillis(24);
 
    @Inject(optional = true)
-   @Named("jclouds.inventory.update.time")
+   @Named("jclouds.glacier.inventory.update.time")
    private final long inventoryUpdateTime = DEFAULT_INVENTORY_UPDATE_TIME;
 
    private final GlacierClient sync;
@@ -90,11 +90,13 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * Delete the container and all its blobs.
-    * This may be a VERY long duration method.
+    * Deletes the container and all its blobs.
+    * Inventories will be retrieved until the container is gone. Since inventories need 24 hours to be updated this
+    * operation may take days.
     *
     * @param container
     *          container name
+    * @see <a href="http://aws.amazon.com/glacier/faqs/#data-inventories" />
     */
    @Override
    public void deleteContainer(String container) {
@@ -114,23 +116,15 @@ public class GlacierBlobStore extends BaseBlobStore {
        }, inventoryUpdateTime).apply(container), "%s still exists after deleting!", container);
    }
 
-   /**
-    * Delete the container if empty.
-    * This method is idempotent.
-    *
-    * @param container
-    *          container name
-    * @return false if the container still exists, true otherwise
-    */
    @Override
    protected boolean deleteAndVerifyContainerGone(String container) {
       return sync.deleteVault(container);
    }
 
    /**
-    * Lists the containers
+    * Lists the containers.
     *
-    * @return the container list
+    * @return a PageSet of StorageMetadata
     */
    @Override
    public PageSet<? extends StorageMetadata> list() {
@@ -138,7 +132,8 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * This implementation invokes {@link GlacierClient#describeVault(String)}
+    * Checks if the container exists.
+    * This implementation invokes {@link GlacierClient#describeVault(String)}.
     *
     * @param container
     *          container name
@@ -150,7 +145,8 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * Creates a container
+    * Creates a container.
+    * Location is currently ignored.
     *
     * @param location
     *          currently ignored
@@ -164,7 +160,8 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * Creates a container
+    * Creates a container.
+    * Location and options are currently ignored.
     *
     * @param location
     *          currently ignored
@@ -181,14 +178,16 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * Lists the blobs in the container
-    * This is a long duration method. The result may be inaccurate since it depends on the Glacier Inventory status.
+    * Lists the blobs in the container.
+    * An inventory will be retrieved to obtain the list. Note that this will take hours and the result may be
+    * inaccurate (Inventories are updated every 24 hours).
     *
     * @param container
     *          container name
     * @param listContainerOptions
     *          list options
     * @return the blob list
+    * @see <a href="http://aws.amazon.com/glacier/faqs/#data-inventories" />
     */
    @Override
    public PageSet<? extends StorageMetadata> list(String container, ListContainerOptions listContainerOptions) {
@@ -204,14 +203,16 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * This implementation invokes {@link GlacierBlobStore#blobMetadata}
-    * This is a long duration method. The result may be inaccurate since it depends on the Glacier Inventory status.
+    * Checks if the blob exists in the container.
+    * An inventory will be retrieved to obtain the blob list and the method will iterate through it. This operation
+    * will take several hours and the result may be inaccurate (Inventories are updated every 24 hours).
     *
     * @param container
     *          container name
     * @param key
     *          blob key
     * @return true if the blob exists, false otherwise
+    * @see <a href="http://aws.amazon.com/glacier/faqs/#data-inventories" />
     */
    @Override
    public boolean blobExists(String container, String key) {
@@ -219,7 +220,7 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * This implementation invokes {@link GlacierClient#uploadArchive}
+    * Stores a blob in a container.
     *
     * @param container
     *          container name
@@ -233,14 +234,14 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * Puts the blob in the container.
+    * Stores the blob in a container.
     *
     * @param container
     *          container name
     * @param blob
     *          blob to upload
     * @param options
-    *          upload options. If multipart is set, multiple rpcs will be issued.
+    *          upload options.
     * @return the blob name
     */
    @Override
@@ -253,13 +254,15 @@ public class GlacierBlobStore extends BaseBlobStore {
 
    /**
     * Retrieves the blob metadata.
-    * This is a long duration method. The result may be inaccurate since it depends on the Glacier Inventory status.
+    * An inventory will be retrieved to obtain the blob list and the method will iterate through it. This operation
+    * will take several hours and the result may be inaccurate (Inventories are updated every 24 hours).
     *
     * @param container
     *          container name
     * @param key
     *          blob name
     * @return null if the blob doesn't exist, the blob metadata otherwise
+    * @see <a href="http://aws.amazon.com/glacier/faqs/#data-inventories" />
     */
    @Override
    public BlobMetadata blobMetadata(String container, String key) {
@@ -285,14 +288,12 @@ public class GlacierBlobStore extends BaseBlobStore {
 
    /**
     * Retrieves the blob
-    * This is a long duration method.
+    * This operation will take several hours.
     *
     * @param container
     *          container name
     * @param key
     *          blob name
-    * @param getOptions
-    *          getOptions
     * @return null if the blob doesn't exist or the archive retrieval fails, the blob otherwise
     */
    @Override
@@ -315,7 +316,7 @@ public class GlacierBlobStore extends BaseBlobStore {
    }
 
    /**
-    * This implementation invokes {@link GlacierClient#deleteArchive(String, String)}
+    * Deletes the blob.
     *
     * @param container
     *          container name

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataCollectionToStorageMetadata.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataCollectionToStorageMetadata.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataCollectionToStorageMetadata.java
index 06d6884..2df2016 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataCollectionToStorageMetadata.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataCollectionToStorageMetadata.java
@@ -24,9 +24,6 @@ import org.jclouds.glacier.domain.ArchiveMetadataCollection;
 import com.google.common.base.Function;
 import com.google.common.collect.Iterables;
 
-/**
- * Converts ArchiveMetadataCollection into PageSet<StorageMetadata>
- */
 public class ArchiveMetadataCollectionToStorageMetadata implements Function<ArchiveMetadataCollection,
       PageSet<? extends StorageMetadata>>  {
    @Override

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataToBlobMetadata.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataToBlobMetadata.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataToBlobMetadata.java
index f8b9a58..255252a 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataToBlobMetadata.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ArchiveMetadataToBlobMetadata.java
@@ -25,9 +25,6 @@ import org.jclouds.io.payloads.BaseMutableContentMetadata;
 import com.google.common.base.Function;
 import com.google.common.collect.ImmutableMap;
 
-/**
- * Converts ArchiveMetadata into BlobMetadata
- */
 public class ArchiveMetadataToBlobMetadata implements Function<ArchiveMetadata, MutableBlobMetadata> {
    @Override
    public MutableBlobMetadata apply(ArchiveMetadata from) {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ListContainerOptionsToInventoryRetrievalJobRequest.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ListContainerOptionsToInventoryRetrievalJobRequest.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ListContainerOptionsToInventoryRetrievalJobRequest.java
index 3c0ad4b..4bf5297 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ListContainerOptionsToInventoryRetrievalJobRequest.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/ListContainerOptionsToInventoryRetrievalJobRequest.java
@@ -21,9 +21,6 @@ import org.jclouds.glacier.domain.InventoryRetrievalJobRequest;
 
 import com.google.common.base.Function;
 
-/**
- * Converts ListContainerOptions into InventoryRetrievalJobRequest
- */
 public class ListContainerOptionsToInventoryRetrievalJobRequest implements Function<ListContainerOptions,
       InventoryRetrievalJobRequest>  {
    @Override

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/PaginatedVaultCollectionToStorageMetadata.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/PaginatedVaultCollectionToStorageMetadata.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/PaginatedVaultCollectionToStorageMetadata.java
index 51aba1b..67e4d9c 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/PaginatedVaultCollectionToStorageMetadata.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/PaginatedVaultCollectionToStorageMetadata.java
@@ -24,9 +24,6 @@ import org.jclouds.glacier.domain.PaginatedVaultCollection;
 import com.google.common.base.Function;
 import com.google.common.collect.Iterables;
 
-/**
- * Converts PaginatedVaultCollection into PageSet<StorageMetadata>
- */
 public class PaginatedVaultCollectionToStorageMetadata implements Function<PaginatedVaultCollection,
       PageSet<? extends StorageMetadata>>  {
    @Override

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/VaultMetadataToStorageMetadata.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/VaultMetadataToStorageMetadata.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/VaultMetadataToStorageMetadata.java
index 873747d..54e8ba3 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/VaultMetadataToStorageMetadata.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/functions/VaultMetadataToStorageMetadata.java
@@ -24,9 +24,6 @@ import org.jclouds.glacier.domain.VaultMetadata;
 import com.google.common.base.Function;
 import com.google.common.collect.ImmutableMap;
 
-/**
- * Converts VaultMetadata into StorageMetadata
- */
 public class VaultMetadataToStorageMetadata implements Function<VaultMetadata, StorageMetadata> {
    @Override
    public StorageMetadata apply(VaultMetadata vault) {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/MultipartUploadStrategy.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/MultipartUploadStrategy.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/MultipartUploadStrategy.java
index fd6b723..3afb970 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/MultipartUploadStrategy.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/MultipartUploadStrategy.java
@@ -18,9 +18,6 @@ package org.jclouds.glacier.blobstore.strategy;
 
 import org.jclouds.blobstore.domain.Blob;
 
-/**
- * Strategy for Multipart Uploads
- */
 public interface MultipartUploadStrategy {
    String execute(String container, Blob blob);
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/PollingStrategy.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/PollingStrategy.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/PollingStrategy.java
index f5be082..b208809 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/PollingStrategy.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/PollingStrategy.java
@@ -16,9 +16,6 @@
  */
 package org.jclouds.glacier.blobstore.strategy;
 
-/**
- * Strategy for polling jobs
- */
 public interface PollingStrategy {
    boolean waitForSuccess(String vault, String job) throws InterruptedException;
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/SlicingStrategy.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/SlicingStrategy.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/SlicingStrategy.java
index ab986e2..03dc96c 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/SlicingStrategy.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/SlicingStrategy.java
@@ -18,9 +18,6 @@ package org.jclouds.glacier.blobstore.strategy;
 
 import org.jclouds.io.Payload;
 
-/**
- * Strategy for payload slicing
- */
 public interface SlicingStrategy {
    public static final int MAX_LIST_PARTS_RETURNED = 1000;
    public static final int MAX_LIST_MPU_RETURNED = 1000;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BasePollingStrategy.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BasePollingStrategy.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BasePollingStrategy.java
index d4997ec..7c68bda 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BasePollingStrategy.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BasePollingStrategy.java
@@ -29,7 +29,6 @@ import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
 /**
- * Base implementation of PollingStrategy.
  * This implementation waits a fixed amount of time before start polling.
  */
 @Singleton

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BaseSlicingStrategy.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BaseSlicingStrategy.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BaseSlicingStrategy.java
index ebb42b5..181110c 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BaseSlicingStrategy.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/BaseSlicingStrategy.java
@@ -31,7 +31,6 @@ import com.google.inject.Inject;
 import com.google.inject.name.Named;
 
 /**
- * Base implementation of SlicingStrategy.
  * This implementation slice a payload based on the (part size)/(number of parts) ratio. This ratio may be overriden.
  */
 @Singleton

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/ClearVaultStrategy.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/ClearVaultStrategy.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/ClearVaultStrategy.java
index 68dfe01..277552a 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/ClearVaultStrategy.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/ClearVaultStrategy.java
@@ -27,39 +27,40 @@ import org.jclouds.glacier.domain.ArchiveMetadataCollection;
 import org.jclouds.glacier.domain.InventoryRetrievalJobRequest;
 import org.jclouds.rest.ResourceNotFoundException;
 
+import com.google.common.base.Throwables;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
 /**
- * Implementation of ClearListStrategy.
- * This is a long duration operation.
+ * An inventory will be retrieved to obtain the blob list and the method will iterate through it deleting the blobs.
+ * This operation will take several hours and the result may be inaccurate (Inventories are updated every 24 hours).
  */
 @Singleton
 public class ClearVaultStrategy implements ClearListStrategy {
-   private final GlacierClient sync;
+   private final GlacierClient client;
    private final PollingStrategy pollingStrategy;
 
    @Inject
-   public ClearVaultStrategy(GlacierClient sync, PollingStrategy pollingStrategy) {
+   public ClearVaultStrategy(GlacierClient client, PollingStrategy pollingStrategy) {
+      this.client = checkNotNull(client, "client");
       this.pollingStrategy = checkNotNull(pollingStrategy, "pollingStrategy");
-      this.sync = checkNotNull(sync, "sync");
    }
 
    @Override
    public void execute(String container, ListContainerOptions listContainerOptions) {
-      String jobId = sync.initiateJob(container, InventoryRetrievalJobRequest.builder().build());
+      String jobId = client.initiateJob(container, InventoryRetrievalJobRequest.builder().build());
       try {
          if (pollingStrategy.waitForSuccess(container, jobId)) {
-            ArchiveMetadataCollection archives = sync.getInventoryRetrievalOutput(container, jobId);
+            ArchiveMetadataCollection archives = client.getInventoryRetrievalOutput(container, jobId);
             for (ArchiveMetadata archive : archives) {
                try {
-                  sync.deleteArchive(container, archive.getArchiveId());
+                  client.deleteArchive(container, archive.getArchiveId());
                } catch (ResourceNotFoundException ignored) {
                }
             }
          }
       } catch (InterruptedException e) {
-         throw new RuntimeException(e);
+         Throwables.propagate(e);
       }
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-aws/blob/7ca9836a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/SequentialMultipartUploadStrategy.java
----------------------------------------------------------------------
diff --git a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/SequentialMultipartUploadStrategy.java b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/SequentialMultipartUploadStrategy.java
index 4ef4468..d81bcbc 100644
--- a/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/SequentialMultipartUploadStrategy.java
+++ b/glacier/src/main/java/org/jclouds/glacier/blobstore/strategy/internal/SequentialMultipartUploadStrategy.java
@@ -30,7 +30,6 @@ import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
 /**
- * Base implementation of MultipartUploadStrategy.
  * This implementation uploads the parts sequentially.
  */
 @Singleton