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 2018/06/07 05:49:03 UTC
[1/2] jclouds git commit: [JCLOUDS-1422] Ensure that
LocalBlobStore.list honors !recursive even when a prefix is defined.
Repository: jclouds
Updated Branches:
refs/heads/master 9d88f6df5 -> 36353d615
[JCLOUDS-1422] Ensure that LocalBlobStore.list honors !recursive even when a prefix is defined.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/36353d61
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/36353d61
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/36353d61
Branch: refs/heads/master
Commit: 36353d6157a1c6c3f8f5e8497a68802a79784b12
Parents: 11fac4f
Author: Jesse Glick <jg...@cloudbees.com>
Authored: Tue May 22 20:06:21 2018 -0400
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed Jun 6 22:47:56 2018 -0700
----------------------------------------------------------------------
.../blobstore/config/LocalBlobStore.java | 5 ++--
.../strategy/internal/ListContainerTest.java | 24 +++++++++++++++++++-
2 files changed, 26 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/36353d61/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 98c006d..77cee20 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -343,8 +343,9 @@ public final class LocalBlobStore implements BlobStore {
}
}));
- if (options.getDelimiter() != null) {
- return extractCommonPrefixes(contents, options.getDelimiter(), options.getPrefix());
+ if (options.getDelimiter() != null || !options.isRecursive()) {
+ String delimiter = options.getDelimiter() == null ? storageStrategy.getSeparator() : options.getDelimiter();
+ return extractCommonPrefixes(contents, delimiter, options.getPrefix());
}
return contents;
http://git-wip-us.apache.org/repos/asf/jclouds/blob/36353d61/blobstore/src/test/java/org/jclouds/blobstore/strategy/internal/ListContainerTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/strategy/internal/ListContainerTest.java b/blobstore/src/test/java/org/jclouds/blobstore/strategy/internal/ListContainerTest.java
index 421cb2d..cb9f79e 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/strategy/internal/ListContainerTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/strategy/internal/ListContainerTest.java
@@ -72,7 +72,7 @@ public class ListContainerTest {
blobStore.putBlob(containerName, blobStore.blobBuilder("bar").payload("").build());
Iterable<? extends StorageMetadata> results = concatter.execute(containerName,
- ListContainerOptions.Builder.prefix(prefix).recursive());
+ ListContainerOptions.Builder.prefix(prefix)./* irrelevant */recursive());
assertThat(results).hasSize(3);
assertThat(Iterables.get(results, 0).getName()).isEqualTo(prefix);
assertThat(Iterables.get(results, 0).getType()).isEqualTo(StorageType.BLOB);
@@ -126,6 +126,28 @@ public class ListContainerTest {
assertThat(Iterables.get(results, 2).getName()).isEqualTo(prefix + "baz/object");
}
+ public void testListRecursivePrefixDelimiter() {
+ String containerName = "testListRecursivePrefixDelimiter";
+ String prefix = "foo/";
+ blobStore.createContainerInLocation(null, containerName);
+ blobStore.putBlob(containerName, blobStore.blobBuilder(prefix + "object").payload("").build());
+ blobStore.putBlob(containerName, blobStore.blobBuilder(prefix + "bar/object").payload("")
+ .build());
+ blobStore.putBlob(containerName, blobStore.blobBuilder(prefix + "baz/object").payload("")
+ .build());
+ blobStore.putBlob(containerName, blobStore.blobBuilder("bar/object").payload("").build());
+
+ Iterable<? extends StorageMetadata> results = concatter.execute(containerName,
+ ListContainerOptions.Builder.prefix(prefix));
+ assertThat(results).hasSize(3);
+ assertThat(Iterables.get(results, 0).getType()).isEqualTo(StorageType.RELATIVE_PATH);
+ assertThat(Iterables.get(results, 0).getName()).isEqualTo(prefix + "bar/");
+ assertThat(Iterables.get(results, 1).getType()).isEqualTo(StorageType.RELATIVE_PATH);
+ assertThat(Iterables.get(results, 1).getName()).isEqualTo(prefix + "baz/");
+ assertThat(Iterables.get(results, 2).getType()).isEqualTo(StorageType.BLOB);
+ assertThat(Iterables.get(results, 2).getName()).isEqualTo(prefix + "object");
+ }
+
public void testListDirectory() {
String containerName = "testListDir";
String directory = "dir";
[2/2] jclouds git commit: Include the delimiter field in
ListContainerOptions.toString.
Posted by ga...@apache.org.
Include the delimiter field in ListContainerOptions.toString.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/11fac4f0
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/11fac4f0
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/11fac4f0
Branch: refs/heads/master
Commit: 11fac4f020b02a45ef9809e19656325ddf9efb25
Parents: 9d88f6d
Author: Jesse Glick <jg...@cloudbees.com>
Authored: Tue May 22 20:05:27 2018 -0400
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed Jun 6 22:47:56 2018 -0700
----------------------------------------------------------------------
.../java/org/jclouds/blobstore/options/ListContainerOptions.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/11fac4f0/blobstore/src/main/java/org/jclouds/blobstore/options/ListContainerOptions.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/options/ListContainerOptions.java b/blobstore/src/main/java/org/jclouds/blobstore/options/ListContainerOptions.java
index 281c3ff..212d775 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/options/ListContainerOptions.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/options/ListContainerOptions.java
@@ -300,6 +300,7 @@ public class ListContainerOptions extends ListOptions implements Cloneable {
public String toString() {
return "[dir=" + dir + ", recursive=" + recursive + ", detailed=" + detailed
+ ", prefix=" + prefix + ", marker=" + getMarker()
+ + ", delimiter=" + delimiter
+ ", maxResults=" + getMaxResults() + "]";
}