commit | 34a2499efb9ca37ae2bbd4471137ff7737277c83 | [log] [tgz] |
---|---|---|
author | Andrew Gaul <gaul@apache.org> | Fri Jul 25 23:14:21 2014 -0700 |
committer | Andrew Gaul <gaul@apache.org> | Fri Jul 25 23:14:40 2014 -0700 |
tree | 4699397660056a2d1228011f28925ef49b0e4d0e | |
parent | 9c4bd94485730d0037a79b3c697f0819efa388f8 [diff] |
Add deleteIfEmpty to openstack-swift
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 @@ 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) {
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 @@ } @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() {