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;
