You did not provide an exact test case so I will provide one for you. I successfully tested the following against aws-s3, azureblob, and filesystem:
@Test(groups = { "integration", "live" }) public void testListRecursive() throws Exception { BlobStore blobStore = view.getBlobStore(); String containerName = getContainerName(); try { blobStore.putBlob(containerName, blobStore.blobBuilder("blob-1").payload("").build()); blobStore.putBlob(containerName, blobStore.blobBuilder("blob-2").payload("").build()); blobStore.putBlob(containerName, blobStore.blobBuilder("dir/blob-3").payload("").build()); ListContainerOptions options = new ListContainerOptions().recursive(); PageSet<? extends StorageMetadata> pageSet = view.getBlobStore().list(containerName, options); assertThat(pageSet).hasSize(3); assertThat(pageSet.getNextMarker()).isNull(); Iterator<? extends StorageMetadata> it = pageSet.iterator(); assertThat(it.next().getName()).isEqualTo("blob-1"); assertThat(it.next().getName()).isEqualTo("blob-2"); assertThat(it.next().getName()).isEqualTo("dir/blob-3"); } finally { returnContainer(containerName); } } If you use the fake directory support in 1.9, your mileage may vary, and jclouds 2.0 deprecated this misfeature and 2.1 will remove it: https://issues.apache.org/jira/browse/JCLOUDS-1066 Prefix and delimiter support added in jclouds 2.0 replaces directories. On Wed, Oct 26, 2016 at 04:05:33PM +0000, Paya, Ashkan wrote: > Thank you for your response Andrew. So Im trying to construct the structure I > mentioned earlier and then perform the container listing on it using > ListContainerOptions.Builder.recursive(). Here is the result from different > providers: > > * Filesystem: > - blob-1 > - blob-2 > - dir/blob-3 > > * AWS-S3: > - blob-1 > - blob-2 > - dir/ > - dir/blob-3 > > * Azureblob > - blob-1 > - blob-2 > - dir > - dir/blob-3 > > On a separate note, there is a discrepancy between aws and azure directories > since we have ‘/‘ in the returned results of the former. This was not the > case in 1.9.2. > > Thank you, > Ashkan > > > > > > On 10/25/16, 9:43 PM, "Andrew Gaul" <g...@apache.org> wrote: > > >[Moving to jclouds-user list] > > > >Can you provide the exact test case, including ListContainerOptions, and > >results from both the filesystem and s3 providers? 2.0 includes many > >changes to align the former with the latter. > > > >For what it is worth, directories are a jclouds fiction and something we > >deprecated in 2.0 and will remove in 2.1. The new prefix and delimiter > >support in 2.0 matches how real providers work. > > > >On Wed, Oct 26, 2016 at 12:52:34AM +0000, Paya, Ashkan wrote: > >> Hello, > >> > >> When I create a directory within a container in Filesystem, > >> blobstore.list() does not show the directory name separately. For example, > >> when I generate the following structure and call blobstore.list, I do not > >> get the ‘dir/‘ as a separate element: > >> > >> Container > >> |___blob1 > >> |___blob2 > >> |___dir > >> |__ blob3 > >> > >> => blobstore.list returns: > >> > >> * blob1 > >> * blob2 > >> * dir/blob3 > >> > >> Thank you, > >> Ashkan > > > >-- > >Andrew Gaul > >http://gaul.org/ -- Andrew Gaul http://gaul.org/