Repository: cxf
Updated Branches:
  refs/heads/master 8a0212895 -> 54aedd70f


[CXF-7368] Ignoring some well known types


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

Branch: refs/heads/master
Commit: 54aedd70f2e81702acab2682c520fe04c3ad1dc3
Parents: 8a02128
Author: Sergey Beryozkin <sberyoz...@gmail.com>
Authored: Fri May 12 10:59:09 2017 +0100
Committer: Sergey Beryozkin <sberyoz...@gmail.com>
Committed: Fri May 12 10:59:09 2017 +0100

----------------------------------------------------------------------
 .../apache/cxf/jaxrs/provider/AbstractJAXBProvider.java  | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/54aedd70/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
index 5871cd2..5edc28d 100644
--- 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
+++ 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
@@ -39,6 +39,7 @@ import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.StreamingOutput;
 import javax.ws.rs.ext.ContextResolver;
 import javax.ws.rs.ext.MessageBodyReader;
 import javax.ws.rs.ext.MessageBodyWriter;
@@ -89,8 +90,10 @@ public abstract class AbstractJAXBProvider<T> extends 
AbstractConfigurableProvid
     protected static final String NS_MAPPER_PROPERTY_RI_INT = 
"com.sun.xml.internal.bind.namespacePrefixMapper";
     private static final String JAXB_DEFAULT_NAMESPACE = "##default";
     private static final String JAXB_DEFAULT_NAME = "##default";
-
-
+    private static final Set<Class<?>> UNSUPPORTED_CLASSES = 
+        new HashSet<Class<?>>(Arrays.asList(InputStream.class,
+                                            OutputStream.class,
+                                            StreamingOutput.class));
     protected Set<Class<?>> collectionContextClasses = new HashSet<Class<?>>();
 
     protected Map<String, String> jaxbElementClassMap = Collections.emptyMap();
@@ -331,7 +334,6 @@ public abstract class AbstractJAXBProvider<T> extends 
AbstractConfigurableProvid
                 return false;
             }
         }
-
         return marshalAsJaxbElement && (!xmlTypeAsJaxbElementOnly || 
isXmlType(type))
             || isSupported(type, genericType, anns);
     }
@@ -562,6 +564,9 @@ public abstract class AbstractJAXBProvider<T> extends 
AbstractConfigurableProvid
             || isSkipJaxbChecks()) {
             return true;
         }
+        if (UNSUPPORTED_CLASSES.contains(type)) {
+            return false;
+        }
         return isXmlRoot(type)
             || JAXBElement.class.isAssignableFrom(type)
             || objectFactoryOrIndexAvailable(type)

Reply via email to