You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2015/11/21 01:36:40 UTC

jclouds git commit: Filter out folders when listing a container

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 <ga...@apache.org>
Authored: Fri Nov 20 16:00:14 2015 -0800
Committer: Andrew Gaul <ga...@apache.org>
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);