You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2015/09/03 17:39:15 UTC

incubator-johnzon git commit: JOHNZON-57 ensuring to use signature type to test using reference checks in our providers

Repository: incubator-johnzon
Updated Branches:
  refs/heads/master 8841d7550 -> abe417036


JOHNZON-57 ensuring to use signature type to test using reference checks in our providers


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

Branch: refs/heads/master
Commit: abe4170360c8247fe2aab93d307b7f2e3d746f89
Parents: 8841d75
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Thu Sep 3 17:39:25 2015 +0200
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Thu Sep 3 17:39:25 2015 +0200

----------------------------------------------------------------------
 .../johnzon/jaxrs/JohnzonMessageBodyReader.java |  4 ++--
 .../johnzon/jaxrs/JohnzonMessageBodyWriter.java | 12 +++++------
 .../johnzon/jaxrs/JohnzonProviderTest.java      | 21 ++++++++++++++++++++
 3 files changed, 29 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/abe41703/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java
----------------------------------------------------------------------
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java
index fb718ef..f3d9a18 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java
@@ -58,8 +58,8 @@ public class JohnzonMessageBodyReader<T> extends IgnorableTypes implements Messa
     public boolean isReadable(final Class<?> rawType, final Type genericType,
                               final Annotation[] annotations, final MediaType mediaType) {
         return !isIgnored(rawType)
-                && InputStream.class != rawType && Reader.class != rawType && Response.class != rawType
-                && String.class != rawType
+                && InputStream.class != genericType && Reader.class != genericType && Response.class != genericType
+                && String.class != genericType
                 && !JsonStructure.class.isAssignableFrom(rawType);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/abe41703/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java
----------------------------------------------------------------------
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java
index f7b7c8a..07d6367 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java
@@ -66,12 +66,12 @@ public class JohnzonMessageBodyWriter<T> extends IgnorableTypes implements Messa
     public boolean isWriteable(final Class<?> rawType, final Type genericType,
                                final Annotation[] annotations, final MediaType mediaType) {
         return !isIgnored(rawType)
-                && InputStream.class != rawType
-                && OutputStream.class != rawType
-                && Writer.class != rawType
-                && StreamingOutput.class != rawType
-                && String.class != rawType
-                && Response.class != rawType
+                && InputStream.class != genericType
+                && OutputStream.class != genericType
+                && Writer.class != genericType
+                && StreamingOutput.class != genericType
+                && String.class != genericType
+                && Response.class != genericType
                 && !JsonStructure.class.isAssignableFrom(rawType);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/abe41703/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java
----------------------------------------------------------------------
diff --git a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java
index 3cccf83..b29a290 100644
--- a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java
+++ b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java
@@ -30,8 +30,12 @@ import org.junit.Test;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
+import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.GenericType;
 import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.StreamingOutput;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.util.List;
@@ -73,6 +77,12 @@ public class JohnzonProviderTest {
     }
 
     @Test
+    public void streamOutput() {
+        final String stream = client().path("johnzon/stream").get(String.class);
+        assertEquals("ok", stream);
+    }
+
+    @Test
     public void array() {
         final Johnzon[] johnzon = client().path("johnzon/all1").get(Johnzon[].class);
         assertEquals(2, johnzon.length);
@@ -157,5 +167,16 @@ public class JohnzonProviderTest {
         public String asParam(final Johnzon f) {
             return Boolean.toString("client".equals(f.getName()));
         }
+
+        @GET
+        @Path("stream")
+        public StreamingOutput out() {
+            return new StreamingOutput() {
+                @Override
+                public void write(OutputStream outputStream) throws IOException, WebApplicationException {
+                    outputStream.write("ok".getBytes());
+                }
+            };
+        }
     }
 }