diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java index 989a31657a..63834e42c0 100644 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java +++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java @@ -45,7 +45,6 @@ import org.jclouds.blobstore.options.CreateContainerOptions; import org.jclouds.blobstore.options.GetOptions; import org.jclouds.blobstore.options.ListContainerOptions; import org.jclouds.blobstore.options.PutOptions; -import org.jclouds.blobstore.strategy.internal.FetchBlobMetadata; import org.jclouds.blobstore.util.BlobUtils; import org.jclouds.collect.Memoized; import org.jclouds.domain.Location; @@ -79,7 +78,6 @@ import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.hash.HashCode; -import com.google.inject.Provider; public final class GoogleCloudStorageBlobStore extends BaseBlobStore { @@ -87,7 +85,6 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore { private final BucketToStorageMetadata bucketToStorageMetadata; private final ObjectToBlobMetadata objectToBlobMetadata; private final ObjectListToStorageMetadata objectListToStorageMetadata; - private final Provider fetchBlobMetadataProvider; private final BlobMetadataToObjectTemplate blobMetadataToObjectTemplate; private final BlobStoreListContainerOptionsToListObjectOptions listContainerOptionsToListObjectOptions; private final Supplier projectId; @@ -97,7 +94,6 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore { @Memoized Supplier> locations, PayloadSlicer slicer, GoogleCloudStorageApi api, BucketToStorageMetadata bucketToStorageMetadata, ObjectToBlobMetadata objectToBlobMetadata, ObjectListToStorageMetadata objectListToStorageMetadata, - Provider fetchBlobMetadataProvider, BlobMetadataToObjectTemplate blobMetadataToObjectTemplate, BlobStoreListContainerOptionsToListObjectOptions listContainerOptionsToListObjectOptions, @CurrentProject Supplier projectId, @@ -107,7 +103,6 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore { this.bucketToStorageMetadata = bucketToStorageMetadata; this.objectToBlobMetadata = objectToBlobMetadata; this.objectListToStorageMetadata = objectListToStorageMetadata; - this.fetchBlobMetadataProvider = checkNotNull(fetchBlobMetadataProvider, "fetchBlobMetadataProvider"); this.blobMetadataToObjectTemplate = blobMetadataToObjectTemplate; this.listContainerOptionsToListObjectOptions = listContainerOptionsToListObjectOptions; this.projectId = projectId; @@ -192,8 +187,7 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore { public PageSet list(String container, ListContainerOptions options) { ListObjectOptions listOptions = listContainerOptionsToListObjectOptions.apply(options); ListPageWithPrefixes gcsList = api.getObjectApi().listObjects(container, listOptions); - PageSet list = objectListToStorageMetadata.apply(gcsList); - return options.isDetailed() ? fetchBlobMetadataProvider.get().setContainerName(container).apply(list) : list; + return objectListToStorageMetadata.apply(gcsList); } /** diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/functions/BlobStoreListContainerOptionsToListObjectOptions.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/functions/BlobStoreListContainerOptionsToListObjectOptions.java index 15b5f4f059..f59dfec27c 100644 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/functions/BlobStoreListContainerOptionsToListObjectOptions.java +++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/functions/BlobStoreListContainerOptionsToListObjectOptions.java @@ -19,6 +19,7 @@ package org.jclouds.googlecloudstorage.blobstore.functions; import static com.google.common.base.Preconditions.checkNotNull; import org.jclouds.blobstore.options.ListContainerOptions; +import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection; import org.jclouds.googlecloudstorage.options.ListObjectOptions; import com.google.common.base.Function; @@ -53,6 +54,9 @@ public class BlobStoreListContainerOptionsToListObjectOptions implements if (from.getMaxResults() != null) { httpOptions = httpOptions.maxResults(from.getMaxResults()); } + if (from.isDetailed()) { + httpOptions = httpOptions.projection(Projection.FULL); + } return httpOptions; } }