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 2014/05/28 20:48:28 UTC

git commit: JCLOUDS-402: Allow Guava MediaType Content-Type

Repository: jclouds
Updated Branches:
  refs/heads/master e868675da -> c6d4e6645


JCLOUDS-402: Allow Guava MediaType Content-Type

This promotes type-safety.  Keep the String interface for unknown
content types.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/c6d4e664
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/c6d4e664
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/c6d4e664

Branch: refs/heads/master
Commit: c6d4e6645c41a62f92a0aacc8d8a697bf8a34585
Parents: e868675
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Jun 21 16:50:26 2013 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed May 28 11:45:00 2014 -0700

----------------------------------------------------------------------
 blobstore/src/main/clojure/org/jclouds/blobstore2.clj          | 4 +++-
 .../main/java/org/jclouds/blobstore/domain/BlobBuilder.java    | 3 +++
 .../org/jclouds/blobstore/domain/internal/BlobBuilderImpl.java | 6 ++++++
 blobstore/src/test/clojure/org/jclouds/blobstore2_test.clj     | 2 +-
 4 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6d4e664/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 9199e65..99efd55 100644
--- a/blobstore/src/main/clojure/org/jclouds/blobstore2.clj
+++ b/blobstore/src/main/clojure/org/jclouds/blobstore2.clj
@@ -303,13 +303,15 @@ Options can also be specified for extension modules
            blob-builder (if content-length ;; Special case, arg is prim.
                           (.contentLength blob-builder content-length)
                           blob-builder)
+           blob-builder (if content-type
+                          (.contentType blob-builder content-type)
+                          blob-builder)
            blob-builder (if calculate-md5 ;; Only do calculateMD5 OR contentMD5.
                           (.calculateMD5 blob-builder)
                           (if content-md5
                             (.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/c6d4e664/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 f0b052c..d3425c6 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java
@@ -26,6 +26,7 @@ import org.jclouds.blobstore.domain.internal.BlobBuilderImpl;
 import org.jclouds.io.Payload;
 
 import com.google.common.io.ByteSource;
+import com.google.common.net.MediaType;
 import com.google.inject.ImplementedBy;
 
 /**
@@ -119,6 +120,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/c6d4e664/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 2d51cdb..b73a658 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
@@ -36,6 +36,7 @@ import org.jclouds.io.payloads.PhantomPayload;
 
 import com.google.common.collect.Maps;
 import com.google.common.io.ByteSource;
+import com.google.common.net.MediaType;
 
 /**
  * @author Adrian Cole
@@ -206,6 +207,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;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6d4e664/blobstore/src/test/clojure/org/jclouds/blobstore2_test.clj
----------------------------------------------------------------------
diff --git a/blobstore/src/test/clojure/org/jclouds/blobstore2_test.clj b/blobstore/src/test/clojure/org/jclouds/blobstore2_test.clj
index a981ed8..dd4e515 100644
--- a/blobstore/src/test/clojure/org/jclouds/blobstore2_test.clj
+++ b/blobstore/src/test/clojure/org/jclouds/blobstore2_test.clj
@@ -123,7 +123,7 @@
     (is (= "http://localhost/container/path" (str (.getEndpoint request))))
     (is (= "PUT" (.getMethod request)))
     (is (= "10" (first (.get (.getHeaders request) "Content-Length"))))
-    (is (nil?
+    (is (= "application/unknown"
          (first (.get (.getHeaders request) "Content-Type"))))))
 
 (deftest sign-put-with-headers-test