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;

Reply via email to