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 2017/05/08 18:10:11 UTC
[09/50] jclouds git commit: Update ObjectApi and getBlob,
fix testGetRangeOutOfRange
Update ObjectApi and getBlob, fix testGetRangeOutOfRange
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/c0190dd0
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/c0190dd0
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/c0190dd0
Branch: refs/heads/master
Commit: c0190dd03e56e66a7f1987ce05d81eb0c03f6c6c
Parents: bb62abf
Author: Daniel Broudy <br...@google.com>
Authored: Tue Jun 9 12:52:00 2015 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Jun 12 16:11:53 2015 -0700
----------------------------------------------------------------------
.../blobstore/GoogleCloudStorageBlobStore.java | 9 +++++++--
.../org/jclouds/googlecloudstorage/features/ObjectApi.java | 5 +++--
.../googlecloudstorage/options/GetObjectOptions.java | 4 ++--
.../googlecloudstorage/features/ObjectApiMockTest.java | 4 +++-
4 files changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c0190dd0/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
----------------------------------------------------------------------
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 4ccc8f2..7fd3643 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
@@ -39,6 +39,7 @@ import org.jclouds.blobstore.domain.PageSet;
import org.jclouds.blobstore.domain.StorageMetadata;
import org.jclouds.blobstore.domain.internal.BlobImpl;
import org.jclouds.blobstore.domain.internal.PageSetImpl;
+import org.jclouds.blobstore.functions.BlobToHttpGetOptions;
import org.jclouds.blobstore.internal.BaseBlobStore;
import org.jclouds.blobstore.options.CreateContainerOptions;
import org.jclouds.blobstore.options.GetOptions;
@@ -91,6 +92,7 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
private final BlobStoreListContainerOptionsToListObjectOptions listContainerOptionsToListObjectOptions;
private final Provider<MultipartUploadStrategy> multipartUploadStrategy;
private final Supplier<String> projectId;
+ private final BlobToHttpGetOptions blob2ObjectGetOptions;
@Inject GoogleCloudStorageBlobStore(BlobStoreContext context, BlobUtils blobUtils, Supplier<Location> defaultLocation,
@Memoized Supplier<Set<? extends Location>> locations, PayloadSlicer slicer, GoogleCloudStorageApi api,
@@ -99,7 +101,8 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
Provider<FetchBlobMetadata> fetchBlobMetadataProvider,
BlobMetadataToObjectTemplate blobMetadataToObjectTemplate,
BlobStoreListContainerOptionsToListObjectOptions listContainerOptionsToListObjectOptions,
- Provider<MultipartUploadStrategy> multipartUploadStrategy, @CurrentProject Supplier<String> projectId) {
+ Provider<MultipartUploadStrategy> multipartUploadStrategy, @CurrentProject Supplier<String> projectId,
+ BlobToHttpGetOptions blob2ObjectGetOptions) {
super(context, blobUtils, defaultLocation, locations, slicer);
this.api = api;
this.bucketToStorageMetadata = bucketToStorageMetadata;
@@ -110,6 +113,7 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
this.listContainerOptionsToListObjectOptions = listContainerOptionsToListObjectOptions;
this.projectId = projectId;
this.multipartUploadStrategy = multipartUploadStrategy;
+ this.blob2ObjectGetOptions = checkNotNull(blob2ObjectGetOptions, "blob2ObjectGetOptions");
}
@Override
@@ -250,10 +254,11 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
if (gcsObject == null) {
return null;
}
+ org.jclouds.http.options.GetOptions httpOptions = blob2ObjectGetOptions.apply(options);
MutableBlobMetadata metadata = objectToBlobMetadata.apply(gcsObject);
Blob blob = new BlobImpl(metadata);
// TODO: Does getObject not get the payload?!
- Payload payload = api.getObjectApi().download(container, name).getPayload();
+ Payload payload = api.getObjectApi().download(container, name, httpOptions).getPayload();
payload.setContentMetadata(metadata.getContentMetadata()); // Doing this first retains it on setPayload.
blob.setPayload(payload);
return blob;
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c0190dd0/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
----------------------------------------------------------------------
diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
index 29bbd57..119aece 100644
--- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
+++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
@@ -45,6 +45,7 @@ import org.jclouds.googlecloudstorage.options.InsertObjectOptions;
import org.jclouds.googlecloudstorage.options.ListObjectOptions;
import org.jclouds.googlecloudstorage.options.UpdateObjectOptions;
import org.jclouds.googlecloudstorage.parser.ParseToPayloadEnclosing;
+import org.jclouds.http.options.HttpRequestOptions;
import org.jclouds.io.Payload;
import org.jclouds.io.PayloadEnclosing;
import org.jclouds.javax.annotation.Nullable;
@@ -123,7 +124,7 @@ public interface ObjectApi {
@Fallback(NullOnNotFoundOr404.class)
@Nullable
GoogleCloudStorageObject getObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
- GetObjectOptions options);
+ HttpRequestOptions options);
/**
* Retrieve an object or their metadata
@@ -163,7 +164,7 @@ public interface ObjectApi {
@ResponseParser(ParseToPayloadEnclosing.class)
@Fallback(NullOnNotFoundOr404.class)
@Nullable PayloadEnclosing download(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
- GetObjectOptions options);
+ HttpRequestOptions options);
/**
* Stores a new object. Object metadata setting is not supported with simple uploads
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c0190dd0/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
----------------------------------------------------------------------
diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
index a4446e6..2d307bc 100644
--- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
+++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
@@ -19,12 +19,12 @@ package org.jclouds.googlecloudstorage.options;
import static com.google.common.base.Preconditions.checkNotNull;
import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
-import org.jclouds.http.options.BaseHttpRequestOptions;
+import org.jclouds.http.options.GetOptions;
/**
* Allows to optionally specify generation,ifGenerationMatch,ifGenerationNotMatch, ifMetagenerationMatch,ifMetagenerationNotMatch and projection which used in Bucket
*/
-public class GetObjectOptions extends BaseHttpRequestOptions {
+public class GetObjectOptions extends GetOptions {
public GetObjectOptions ifGenerationMatch(Long ifGenerationMatch) {
this.queryParameters.put("ifGenerationMatch", checkNotNull(ifGenerationMatch, "ifGenerationMatch") + "");
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c0190dd0/providers/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiMockTest.java b/providers/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiMockTest.java
index d95b078..af224d4 100644
--- a/providers/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiMockTest.java
+++ b/providers/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiMockTest.java
@@ -81,10 +81,12 @@ public class ObjectApiMockTest extends BaseGoogleCloudStorageApiMockTest {
server.enqueue(jsonResponse("/object_get.json"));
GetObjectOptions options = new GetObjectOptions().ifGenerationMatch((long) 1000);
+ options.range(0, 1023);
assertEquals(objectApi().getObject("test", "file_name", options),
new ParseGoogleCloudStorageObject().expected());
- assertSent(server, "GET", "/storage/v1/b/test/o/file_name?ifGenerationMatch=1000");
+ RecordedRequest request = assertSent(server, "GET", "/storage/v1/b/test/o/file_name?ifGenerationMatch=1000");
+ assertEquals(request.getHeader("Range"), "bytes=0-1023");
}
public void simpleUpload() throws Exception {