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());
+ }
+ };
+ }
}
}