Do not allow options in filesystem clearContainer
This requires some additional logic to clean up empty directories.
Test regression from 22ce5484a412bc06ef62995675c07e7a85f66bdf.
diff --git a/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java b/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java
index 733b1f0..211cb42 100644
--- a/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java
+++ b/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java
@@ -17,6 +17,7 @@
package org.jclouds.filesystem.strategy.internal;
import static com.google.common.base.Charsets.US_ASCII;
+import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Strings.isNullOrEmpty;
import static com.google.common.io.BaseEncoding.base16;
@@ -252,9 +253,8 @@
@Override
public void clearContainer(String container, ListContainerOptions options) {
filesystemContainerNameValidator.validate(container);
- if (options.getDir() != null) {
- container += denormalize("/" + options.getDir());
- }
+ // TODO: these require calling removeDirectoriesTreeOfBlobKey
+ checkArgument(options.getDir() == null || options.getPrefix() == null, "cannot specify directory or prefix");
try {
File containerFile = openFolder(container);
File[] children = containerFile.listFiles();
diff --git a/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemContainerIntegrationTest.java b/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemContainerIntegrationTest.java
index 7dfdd3a..c9fee73 100644
--- a/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemContainerIntegrationTest.java
+++ b/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemContainerIntegrationTest.java
@@ -193,4 +193,9 @@
public void testSetContainerAccess() throws Exception {
throw new SkipException("filesystem does not support anonymous access");
}
+
+ @Override
+ public void testClearWithOptions() throws InterruptedException {
+ throw new SkipException("filesystem does not support clear with options");
+ }
}