You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2014/07/26 08:36:50 UTC

git commit: Add deleteIfEmpty to openstack-swift

Repository: jclouds-labs-openstack
Updated Branches:
  refs/heads/master 9c4bd9448 -> 34a2499ef


Add deleteIfEmpty to openstack-swift


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/commit/34a2499e
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/tree/34a2499e
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/diff/34a2499e

Branch: refs/heads/master
Commit: 34a2499efb9ca37ae2bbd4471137ff7737277c83
Parents: 9c4bd94
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Jul 25 23:14:21 2014 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Jul 25 23:14:40 2014 -0700

----------------------------------------------------------------------
 .../swift/v1/blobstore/RegionScopedSwiftBlobStore.java      | 9 +++++++++
 .../v1/blobstore/internal/SubmissionAsyncBlobStore.java     | 9 +++++++++
 2 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/34a2499e/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
----------------------------------------------------------------------
diff --git a/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java b/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
index 211f8c8..4ba6a1e 100644
--- a/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
+++ b/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
@@ -285,6 +285,15 @@ public class RegionScopedSwiftBlobStore implements BlobStore {
       containerCache.invalidate(container);
    }
 
+   @Override
+   public boolean deleteContainerIfEmpty(String container) {
+      boolean deleted = api.getContainerApiForRegion(regionId).deleteIfEmpty(container);
+      if (deleted) {
+         containerCache.invalidate(container);
+      }
+      return deleted;
+   }
+
    protected final LoadingCache<String, Optional<Container>> containerCache = CacheBuilder.newBuilder().build(
          new CacheLoader<String, Optional<Container>>() {
             public Optional<Container> load(String container) {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/34a2499e/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/internal/SubmissionAsyncBlobStore.java
----------------------------------------------------------------------
diff --git a/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/internal/SubmissionAsyncBlobStore.java b/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/internal/SubmissionAsyncBlobStore.java
index 3710270..41580f7 100644
--- a/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/internal/SubmissionAsyncBlobStore.java
+++ b/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/internal/SubmissionAsyncBlobStore.java
@@ -172,6 +172,15 @@ public class SubmissionAsyncBlobStore extends ForwardingObject implements AsyncB
    }
 
    @Override
+   public ListenableFuture<Boolean> deleteContainerIfEmpty(final String container) {
+      return executor.submit(new Callable<Boolean>() {
+         public Boolean call() {
+            return delegate().deleteContainerIfEmpty(container);
+         }
+      });
+   }
+
+   @Override
    public ListenableFuture<Boolean> directoryExists(final String container, final String directory) {
       return executor.submit(new Callable<Boolean>() {
          public Boolean call() {