Repository: jclouds
Updated Branches:
  refs/heads/master f706d9c13 -> 2dd231b02


Filter out folders when listing a container

These folders represent directories in the filesystem blobstore which
real blobstores do not have.  Their presence complicates providing the
correct marker for paginated listing.  Future commits will remove
folders entirely.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/2dd231b0
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/2dd231b0
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/2dd231b0

Branch: refs/heads/master
Commit: 2dd231b02bf298d4270edb228ac7ea4895c2a35b
Parents: f706d9c
Author: Andrew Gaul <[email protected]>
Authored: Fri Nov 20 16:00:14 2015 -0800
Committer: Andrew Gaul <[email protected]>
Committed: Fri Nov 20 16:27:53 2015 -0800

----------------------------------------------------------------------
 .../jclouds/blobstore/config/LocalBlobStore.java    | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/2dd231b0/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
----------------------------------------------------------------------
diff --git 
a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java 
b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
index 6be3eba..08a49e3 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -65,7 +65,6 @@ import org.jclouds.blobstore.domain.StorageMetadata;
 import org.jclouds.blobstore.domain.StorageType;
 import org.jclouds.blobstore.domain.internal.MutableStorageMetadataImpl;
 import org.jclouds.blobstore.domain.internal.PageSetImpl;
-import org.jclouds.blobstore.domain.internal.StorageMetadataImpl;
 import org.jclouds.blobstore.options.CopyOptions;
 import org.jclouds.blobstore.options.CreateContainerOptions;
 import org.jclouds.blobstore.options.GetOptions;
@@ -92,7 +91,6 @@ import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.base.Supplier;
 import com.google.common.base.Throwables;
-import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Iterators;
@@ -237,15 +235,17 @@ public final class LocalBlobStore implements BlobStore {
          propagate(e);
       }
 
+      blobBelongingToContainer = Iterables.filter(blobBelongingToContainer,
+            new Predicate<String>() {
+               @Override
+               public boolean apply(String key) {
+                  // ignore folders
+                  return storageStrategy.blobExists(containerName, key);
+               }
+            });
       SortedSet<StorageMetadata> contents = 
newTreeSet(transform(blobBelongingToContainer,
             new Function<String, StorageMetadata>() {
                public StorageMetadata apply(String key) {
-                  if (!storageStrategy.blobExists(containerName, key)) {
-                     // handle directory
-                     return new StorageMetadataImpl(StorageType.FOLDER, 
/*id=*/ null, key,
-                           /*location=*/ null, /*uri=*/ null, /*eTag=*/ null, 
/*creationDate=*/ null,
-                           /*lastModified=*/ null, ImmutableMap.<String, 
String>of());
-                  }
                   Blob oldBlob = loadBlob(containerName, key);
                   checkState(oldBlob != null, "blob " + key + " is not present 
although it was in the list of "
                         + containerName);

Reply via email to