This is an automated email from the ASF dual-hosted git repository.

jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git

commit 08f49762b750e1f18f3f3e9d620e1896f4aa6734
Author: Jonathan Gallimore <[email protected]>
AuthorDate: Tue Dec 1 15:01:00 2020 +0000

    Use CXF writers for Byte[] and File
---
 .../server/cxf/rs/johnzon/TomEEJsonbProvider.java   | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git 
a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java
 
b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java
index 8eebfac..841cea9 100644
--- 
a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java
+++ 
b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java
@@ -23,8 +23,13 @@ import javax.activation.DataSource;
 import javax.json.bind.JsonbConfig;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.Provider;
+import java.io.File;
+import java.io.OutputStream;
+import java.io.Reader;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.util.Locale;
@@ -47,6 +52,18 @@ public class TomEEJsonbProvider<T> extends 
JsonbJaxrsProvider<T> {
             return false;
         }
 
+        if (byte[].class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        if (File.class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        if (Reader.class.isAssignableFrom(type)) {
+            return false;
+        }
+
         return super.isWriteable(type, genericType, annotations, mediaType);
     }
 
@@ -58,6 +75,10 @@ public class TomEEJsonbProvider<T> extends 
JsonbJaxrsProvider<T> {
             return false;
         }
 
+        if (byte[].class.isAssignableFrom(type)) {
+            return false;
+        }
+
         return super.isReadable(type, genericType, annotations, mediaType);
     }
 

Reply via email to