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 <[email protected]> Authored: Fri Jul 25 23:14:21 2014 -0700 Committer: Andrew Gaul <[email protected]> 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() {
