gaul requested changes on this pull request.

Looks good, please address small comments.

> -         if (null == children || children.length == 0) {
-            try {
-               delete(directory);
-            } catch (IOException e) {
-               logger.debug("Could not delete %s: %s", directory, e);
-               return;
+
+//         String[] children = directory.list();
+//         if (null == children || children.length == 0) {
+         // Don't need to do a listing on the dir, which could be costly. The 
iterator should be more performant.
+         try {
+            if (isDirEmpty(directory.getPath())) {
+               try {
+                  delete(directory);
+               } catch (IOException e) {
+                  logger.debug("Could not delete %s: %s", directory, e);

Sorry I missed that this is code movement.  I do think a more narrow exception 
handling for just removing non-existent files is better but outside the scope 
of this pull request.

> @@ -254,15 +256,48 @@ public void clearContainer(final String container) {
    public void clearContainer(String container, ListContainerOptions options) {
       filesystemContainerNameValidator.validate(container);
       // TODO: these require calling removeDirectoriesTreeOfBlobKey
-      checkArgument(options.getDir() == null && options.getPrefix() == null, 
"cannot specify directory or prefix");
+      String optsPrefix;
+      // TODO: Pick whichever one is not null? Not sure what to do until 
inDirectory is deprecated.

I think it would be OK to throw an exception if both are set.

>              }
-            // recursively call for removing other path
-            removeDirectoriesTreeOfBlobKey(container, parentPath);
+         } catch (IOException e ) {

Stray whitespace after `e`.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1258#pullrequestreview-189233154

Reply via email to