This is an automated email from the ASF dual-hosted git repository.

gaul pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jclouds.git

commit ef09dbb6ade426c2f0fadae7094ab6f2bc46fad8
Author: jixinchi <[email protected]>
AuthorDate: Mon Nov 13 15:40:31 2023 +0800

    do not remove md in DelimeterFilter then add it by commonPrefixes; just 
keep it
---
 .../main/java/org/jclouds/blobstore/config/LocalBlobStore.java   | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

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 abb7bd0d43..9b1ef849bd 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -364,6 +364,9 @@ public final class LocalBlobStore implements BlobStore {
             o = prefix + o;
          }
          md.setName(o + delimiter);
+         if (!contents.contains(md)) {
+            contents.add(md);
+         }
          contents.add(md);
       }
       return contents;
@@ -471,7 +474,7 @@ public final class LocalBlobStore implements BlobStore {
       public boolean apply(StorageMetadata metadata) {
          String name = metadata.getName();
          if (prefix == null || prefix.isEmpty()) {
-            return name.indexOf(delimiter) == -1;
+            return name.indexOf(delimiter) == -1 || name.indexOf(delimiter) == 
name.length() - delimiter.length();
          }
          if (name.startsWith(prefix)) {
             String unprefixedName = name.substring(prefix.length());
@@ -479,7 +482,7 @@ public final class LocalBlobStore implements BlobStore {
                // a blob that matches the prefix should also be returned
                return true;
             }
-            return unprefixedName.indexOf(delimiter) == -1;
+            return unprefixedName.indexOf(delimiter) == -1 || 
unprefixedName.indexOf(delimiter) == unprefixedName.length() - 
delimiter.length();
          }
          return false;
       }
@@ -505,7 +508,7 @@ public final class LocalBlobStore implements BlobStore {
             }
          }
          if (working.indexOf(delimiter) >= 0) {
-            // include the delimiter in the result
+            // not include the delimiter in the result
             return working.substring(0, working.indexOf(delimiter));
          } else {
             return NO_PREFIX;

Reply via email to