From 69c1adcd867090399f3d2ac09fa0a94aa6699d8e Mon Sep 17 00:00:00 2001 From: Andriy Redko Date: Fri, 31 Jan 2025 07:59:10 -0500 Subject: [PATCH] CXF-9039: Run Jakarta RESTful Web Services 3.1 TCK. Fixing test failures (#2242) --- .../provider/jsrjsonb/JsrJsonbProvider.java | 18 ++++++++++++++++-- tck/Jenkinsfile | 7 ------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonb/JsrJsonbProvider.java b/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonb/JsrJsonbProvider.java index f8be63e7a5c..38c1bcf9c4b 100644 --- a/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonb/JsrJsonbProvider.java +++ b/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonb/JsrJsonbProvider.java @@ -22,6 +22,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; import java.lang.annotation.Annotation; import java.lang.reflect.Type; @@ -36,6 +38,8 @@ import jakarta.ws.rs.core.Context; import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.StreamingOutput; import jakarta.ws.rs.ext.ContextResolver; import jakarta.ws.rs.ext.MessageBodyReader; import jakarta.ws.rs.ext.MessageBodyWriter; @@ -77,7 +81,13 @@ public JsrJsonbProvider(Jsonb jsonb) { @Override public boolean isWriteable(Class type, Type genericType, Annotation[] annotations, MediaType mediaType) { - return isSupportedMediaType(mediaType); + return isSupportedMediaType(mediaType) + && !InputStream.class.isAssignableFrom(type) + && !OutputStream.class.isAssignableFrom(type) + && !Writer.class.isAssignableFrom(type) + && !StreamingOutput.class.isAssignableFrom(type) + && !CharSequence.class.isAssignableFrom(type) + && !Response.class.isAssignableFrom(type); } @Override @@ -89,7 +99,11 @@ public void writeTo(Object t, Class type, Type genericType, Annotation[] anno @Override public boolean isReadable(Class type, Type genericType, Annotation[] annotations, MediaType mediaType) { - return isSupportedMediaType(mediaType); + return isSupportedMediaType(mediaType) + && !InputStream.class.isAssignableFrom(type) + && !Reader.class.isAssignableFrom(type) + && !Response.class.isAssignableFrom(type) + && !CharSequence.class.isAssignableFrom(type); } @Override diff --git a/tck/Jenkinsfile b/tck/Jenkinsfile index 9da5af9a096..33525f75c01 100644 --- a/tck/Jenkinsfile +++ b/tck/Jenkinsfile @@ -32,13 +32,6 @@ pipeline { echo "WORKSPACE = ${PWD}" ''' } - } - - stage('Build JAX-RS TCK') { - steps { - echo "Using Apache CXF version: " + params.Version - sh "mvn clean install -f rest -DskipTests=true" - } } stage('Checkout Apache CXF') {