Updated Branches: refs/heads/pr-44-alternative acf13090d -> 8b2bb5c90 (forced update)
Allowing Guava MediaType for Content-Type Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/8b2bb5c9 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/8b2bb5c9 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/8b2bb5c9 Branch: refs/heads/pr-44-alternative Commit: 8b2bb5c901f4cc4f752ec747eaabce55451276b6 Parents: acde2be Author: Andrew Phillips <[email protected]> Authored: Mon Dec 9 19:19:17 2013 -0500 Committer: Andrew Phillips <[email protected]> Committed: Mon Dec 9 21:44:37 2013 -0500 ---------------------------------------------------------------------- blobstore/src/main/clojure/org/jclouds/blobstore2.clj | 7 ++++++- .../main/java/org/jclouds/blobstore/domain/BlobBuilder.java | 3 +++ .../jclouds/blobstore/domain/internal/BlobBuilderImpl.java | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/8b2bb5c9/blobstore/src/main/clojure/org/jclouds/blobstore2.clj ---------------------------------------------------------------------- diff --git a/blobstore/src/main/clojure/org/jclouds/blobstore2.clj b/blobstore/src/main/clojure/org/jclouds/blobstore2.clj index 6e3146b..d9844c8 100644 --- a/blobstore/src/main/clojure/org/jclouds/blobstore2.clj +++ b/blobstore/src/main/clojure/org/jclouds/blobstore2.clj @@ -304,6 +304,12 @@ Options can also be specified for extension modules (.payload blob-builder (org.jclouds.blobstore2/payload payload)) (.forSigning blob-builder)) + ;; Special case, only the String version of .contentType allows nil + blob-builder (if content-type + (.contentType blob-builder content-type) + ;; see http://tinyurl.com/type-nil + (let [^String string-nil nil] + (.contentType blob-builder string-nil))) blob-builder (if content-length ;; Special case, arg is prim. (.contentLength blob-builder content-length) blob-builder) @@ -313,7 +319,6 @@ Options can also be specified for extension modules (.contentMD5 blob-builder content-md5) blob-builder))] (doto blob-builder - (.contentType content-type) (.contentDisposition content-disposition) (.contentEncoding content-encoding) (.contentLanguage content-language) http://git-wip-us.apache.org/repos/asf/jclouds/blob/8b2bb5c9/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java index ed42cd8..14cb602 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java @@ -25,6 +25,7 @@ import java.util.Map; import org.jclouds.blobstore.domain.internal.BlobBuilderImpl; import org.jclouds.io.Payload; +import com.google.common.net.MediaType; import com.google.inject.ImplementedBy; /** @@ -107,6 +108,8 @@ public interface BlobBuilder { PayloadBlobBuilder contentMD5(byte[] md5); + PayloadBlobBuilder contentType(MediaType contentType); + PayloadBlobBuilder contentType(String contentType); PayloadBlobBuilder contentDisposition(String contentDisposition); http://git-wip-us.apache.org/repos/asf/jclouds/blob/8b2bb5c9/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobBuilderImpl.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobBuilderImpl.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobBuilderImpl.java index 2069220..3e4f0b0 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobBuilderImpl.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobBuilderImpl.java @@ -35,6 +35,7 @@ import org.jclouds.io.Payloads; import org.jclouds.io.payloads.PhantomPayload; import com.google.common.collect.Maps; +import com.google.common.net.MediaType; /** * @author Adrian Cole @@ -190,6 +191,11 @@ public class BlobBuilderImpl implements BlobBuilder { } @Override + public PayloadBlobBuilder contentType(MediaType contentType) { + return contentType(checkNotNull(contentType, "contentType").toString()); + } + + @Override public PayloadBlobBuilder contentType(String contentType) { payload.getContentMetadata().setContentType(contentType); return this;
