diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d8e1b8de9ad..fdbea0a5b40 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -7,10 +7,10 @@ name: "CodeQL" on: push: - branches: ['main', '3.6.x-fixes'] + branches: ['main', '4.0.x-fixes', '3.6.x-fixes'] pull_request: # The branches below must be a subset of the branches above - branches: ['main', '3.6.x-fixes'] + branches: ['main', '4.0.x-fixes', '3.6.x-fixes'] #schedule: #- cron: '0 18 * * 5' diff --git a/BUILDING.txt b/BUILDING.txt index ad84d0efedf..2a74253b22a 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -29,7 +29,7 @@ Building $> mvn This will compile Apache CXF and run all of the tests in the Apache CXF source distribution. Alternatively, you can run - $> mvn -Pfastinstall. + $> mvn -Pfastinstall This will compile Apache CXF without running the tests and takes less time to build. Depending on the load of remote Maven repositories, you may have diff --git a/bom/pom.xml b/bom/pom.xml index 070676408e9..441cb0b8587 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -20,7 +20,7 @@ org.apache.cxf cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT 4.0.0 cxf-bom diff --git a/core/pom.xml b/core/pom.xml index 7d1d0f8077c..823854936d4 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../parent/pom.xml @@ -47,7 +47,7 @@ com.sun.xml*;resolution:=optional, com.sun.codemodel.writer;resolution:=optional, org.slf4j*;resolution:=optional;version="${cxf.osgi.slf4j.version}", - net.sf.cglib*;resolution:=optional;version="${cxf.cglib.osgi.version}", + org.springframework.cglib*;resolution:=optional;version="${cxf.osgi.spring.version}", org.springframework.aop*;resolution:=optional;version="${cxf.osgi.spring.version}", org.springframework.beans*;resolution:=optional;version="${cxf.osgi.spring.version}", org.springframework.context*;resolution:=optional;version="${cxf.osgi.spring.version}", @@ -122,11 +122,6 @@ true test - - cglib - cglib-nodep - provided - com.fasterxml.woodstox woodstox-core diff --git a/core/src/main/java/org/apache/cxf/common/util/CglibProxyHelper.java b/core/src/main/java/org/apache/cxf/common/util/CglibProxyHelper.java index 2e00deffdda..9d4ff52a4b0 100644 --- a/core/src/main/java/org/apache/cxf/common/util/CglibProxyHelper.java +++ b/core/src/main/java/org/apache/cxf/common/util/CglibProxyHelper.java @@ -23,9 +23,9 @@ import java.util.ArrayList; import java.util.List; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.MethodProxy; +import org.springframework.cglib.proxy.Enhancer; +import org.springframework.cglib.proxy.MethodInterceptor; +import org.springframework.cglib.proxy.MethodProxy; /** @@ -33,9 +33,9 @@ */ class CglibProxyHelper extends ProxyHelper { CglibProxyHelper() throws Exception { - Class.forName("net.sf.cglib.proxy.Enhancer"); - Class.forName("net.sf.cglib.proxy.MethodInterceptor"); - Class.forName("net.sf.cglib.proxy.MethodProxy"); + Class.forName("org.springframework.cglib.proxy.Enhancer"); + Class.forName("org.springframework.cglib.proxy.MethodInterceptor"); + Class.forName("org.springframework.cglib.proxy.MethodProxy"); } @Override diff --git a/core/src/test/java/com/ibm/xml/mock/marshaller/MockMarshaller.java b/core/src/test/java/com/ibm/xml/mock/marshaller/MockMarshaller.java index dc0f6292576..b7349222514 100644 --- a/core/src/test/java/com/ibm/xml/mock/marshaller/MockMarshaller.java +++ b/core/src/test/java/com/ibm/xml/mock/marshaller/MockMarshaller.java @@ -121,23 +121,20 @@ public ValidationEventHandler getEventHandler() throws JAXBException { return null; } - @SuppressWarnings("rawtypes") @Override - public void setAdapter(XmlAdapter adapter) { + public > void setAdapter(A adapter) { // TODO Auto-generated method stub } - @SuppressWarnings("rawtypes") @Override - public void setAdapter(Class type, A adapter) { + public > void setAdapter(Class type, A adapter) { // TODO Auto-generated method stub } - @SuppressWarnings("rawtypes") @Override - public A getAdapter(Class type) { + public > A getAdapter(Class type) { // TODO Auto-generated method stub return null; } diff --git a/core/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java b/core/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java index aa95459a97b..5dd1662ac39 100644 --- a/core/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java +++ b/core/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java @@ -31,11 +31,11 @@ import jakarta.annotation.PreDestroy; import jakarta.annotation.Resource; import jakarta.annotation.Resources; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.MethodProxy; import org.apache.cxf.resource.ResourceManager; import org.apache.cxf.resource.ResourceResolver; +import org.springframework.cglib.proxy.Enhancer; +import org.springframework.cglib.proxy.MethodInterceptor; +import org.springframework.cglib.proxy.MethodProxy; import org.junit.Test; diff --git a/core/src/test/java/org/apache/cxf/common/util/ClassHelperTest.java b/core/src/test/java/org/apache/cxf/common/util/ClassHelperTest.java index e0d2d1750dc..1ead2766910 100644 --- a/core/src/test/java/org/apache/cxf/common/util/ClassHelperTest.java +++ b/core/src/test/java/org/apache/cxf/common/util/ClassHelperTest.java @@ -23,12 +23,12 @@ import java.lang.reflect.Proxy; import java.util.function.Function; -import net.sf.cglib.proxy.Callback; -import net.sf.cglib.proxy.Enhancer; import org.apache.cxf.Bus; import org.apache.cxf.BusFactory; import org.springframework.aop.AfterReturningAdvice; import org.springframework.aop.framework.ProxyFactory; +import org.springframework.cglib.proxy.Callback; +import org.springframework.cglib.proxy.Enhancer; import org.junit.After; import org.junit.Before; @@ -83,7 +83,7 @@ public void afterReturning(Object o, Method method, Object[] objects, Object o1) springAopObject = proxyFactory.getProxy(); - final Callback callback = new net.sf.cglib.proxy.InvocationHandler() { + final Callback callback = new org.springframework.cglib.proxy.InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return null; diff --git a/distribution/javadoc/pom.xml b/distribution/javadoc/pom.xml index 029df91f7d9..5971b38380d 100644 --- a/distribution/javadoc/pom.xml +++ b/distribution/javadoc/pom.xml @@ -20,7 +20,6 @@ 4.0.0 cxf-distribution-javadoc - 4.0.5-SNAPSHOT jar Apache CXF JavaDoc Apache CXF JavaDoc @@ -28,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent @@ -39,7 +38,7 @@ org.apache.cxf cxf-bom - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT pom import @@ -49,107 +48,107 @@ org.apache.cxf cxf-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-http-signature - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-jose - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-jose-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-oauth2 - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-oauth2-saml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-security-saml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-service-description - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-service-description-openapi-v3 - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-service-description-microprofile-openapi - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-mp-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-databinding-aegis - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-databinding-jaxb - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-reactor - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-search - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-features-clustering - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-transfer - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-websocket - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.commons @@ -261,10 +260,6 @@ wsdl4j wsdl4j - - cglib - cglib-nodep - jdom jdom @@ -394,10 +389,12 @@ io.opentelemetry.semconv opentelemetry-semconv + ${cxf.opentelemetry.semconv.version} io.opentelemetry.semconv opentelemetry-semconv-incubating + ${cxf.opentelemetry.semconv.version} io.opentracing @@ -421,19 +418,23 @@ io.undertow - undertow-servlet-jakarta + undertow-servlet org.eclipse.jetty jetty-server - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp - org.eclipse.jetty - jetty-servlet + org.eclipse.jetty.ee10 + jetty-ee10-servlet + + + org.eclipse.jetty.ee10.websocket + jetty-ee10-websocket-jetty-server org.eclipse.jetty @@ -455,13 +456,9 @@ org.eclipse.jetty jetty-http - - org.eclipse.jetty - jetty-plus - org.eclipse.jetty.http2 - http2-server + jetty-http2-server org.eclipse.jetty @@ -472,11 +469,6 @@ jacorb ${cxf.jacorb.version} - - org.eclipse.jetty.websocket - websocket-jakarta-server - ${cxf.jetty11.version} - io.reactivex.rxjava3 rxjava diff --git a/distribution/manifest/pom.xml b/distribution/manifest/pom.xml index de60e9a05af..a9b64b48613 100644 --- a/distribution/manifest/pom.xml +++ b/distribution/manifest/pom.xml @@ -20,7 +20,6 @@ 4.0.0 cxf-distribution-manifest - 4.0.5-SNAPSHOT jar Apache CXF Manifest Jar Apache CXF Manifest Jar @@ -28,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent @@ -40,52 +39,52 @@ ${project.groupId} cxf-tools-common - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-validator - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-misctools - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-databinding-jaxb - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-corba - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-frontend-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wadlto-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-java2ws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId}.xjcplugins @@ -120,52 +119,52 @@ ${project.groupId} cxf-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-features-clustering - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-management - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-local - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-hc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-netty-server - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-netty-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-udp - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.slf4j @@ -178,133 +177,133 @@ ${project.groupId} cxf-rt-transports-jms - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-soap - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-xml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-corba - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-coloc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-databinding-aegis - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-extension-search - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-cors - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-oauth2 - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-xml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-addr - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-rm - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-policy - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-mex - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-js - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-simple - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.sts cxf-services-sts-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.wsn cxf-services-wsn-api - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.wsn cxf-services-wsn-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.ws-discovery cxf-services-ws-discovery-api - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.ws-discovery cxf-services-ws-discovery-service - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.codehaus.jettison diff --git a/distribution/pom.xml b/distribution/pom.xml index cd1c0b49d2d..7d0a07ab93c 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -20,7 +20,6 @@ 4.0.0 apache-cxf - 4.0.5-SNAPSHOT pom Apache CXF Distribution Apache CXF Distribution @@ -28,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../parent @@ -45,52 +44,52 @@ ${project.groupId} cxf-tools-common - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-validator - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-frontend-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-misctools - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-corba - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-databinding-jaxb - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wsdlto-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-wadlto-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-tools-java2ws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId}.xjc-utils @@ -125,57 +124,57 @@ ${project.groupId} cxf-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-features-clustering - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-features-throttling - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-features-metrics - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-management - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-local - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-udp - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-hc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-netty-server - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.geronimo.specs @@ -190,7 +189,7 @@ ${project.groupId} cxf-rt-transports-http-netty-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT io.netty @@ -201,12 +200,12 @@ ${project.groupId} cxf-rt-transports-websocket - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-transports-http-undertow - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.slf4j @@ -219,178 +218,178 @@ ${project.groupId} cxf-rt-transports-jms - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-soap - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-corba - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-xml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-bindings-coloc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-databinding-aegis - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-addr - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-rm - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-policy - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-mex - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-transfer - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-ws-eventing - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-js - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-simple - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-extension-search - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-cors - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-oauth2 - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-oauth2-saml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-xml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-sso-saml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-sso-oidc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-security-http-signature - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-sse - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-mp-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-rs-http-sci - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.groupId} cxf-rt-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.sts cxf-services-sts-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.wsn cxf-services-wsn-api - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.wsn cxf-services-wsn-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.ws-discovery cxf-services-ws-discovery-api - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.ws-discovery cxf-services-ws-discovery-service - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.codehaus.jettison diff --git a/distribution/src/main/release/samples/aegis/pom.xml b/distribution/src/main/release/samples/aegis/pom.xml index 0e40bb5279a..4e9e41e5d26 100644 --- a/distribution/src/main/release/samples/aegis/pom.xml +++ b/distribution/src/main/release/samples/aegis/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -88,24 +88,24 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-databinding-aegis - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT junit diff --git a/distribution/src/main/release/samples/aegis_standalone/pom.xml b/distribution/src/main/release/samples/aegis_standalone/pom.xml index f825f0f131f..2c7998baa18 100644 --- a/distribution/src/main/release/samples/aegis_standalone/pom.xml +++ b/distribution/src/main/release/samples/aegis_standalone/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -88,7 +88,7 @@ org.apache.cxf cxf-rt-databinding-aegis - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT net.java.dev.stax-utils diff --git a/distribution/src/main/release/samples/callback/pom.xml b/distribution/src/main/release/samples/callback/pom.xml index 6b7cca5d7cf..0d422f7d94d 100644 --- a/distribution/src/main/release/samples/callback/pom.xml +++ b/distribution/src/main/release/samples/callback/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-CallbackService @@ -117,17 +117,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/configuration_interceptor/pom.xml b/distribution/src/main/release/samples/configuration_interceptor/pom.xml index 11ca474004b..f844f156308 100644 --- a/distribution/src/main/release/samples/configuration_interceptor/pom.xml +++ b/distribution/src/main/release/samples/configuration_interceptor/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -118,17 +118,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/corba/bank/pom.xml b/distribution/src/main/release/samples/corba/bank/pom.xml index ef05fedad05..0d561813ebb 100644 --- a/distribution/src/main/release/samples/corba/bank/pom.xml +++ b/distribution/src/main/release/samples/corba/bank/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -38,7 +38,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources diff --git a/distribution/src/main/release/samples/corba/bank_ws_addressing/pom.xml b/distribution/src/main/release/samples/corba/bank_ws_addressing/pom.xml index 46b3a8126a9..d0fffa31a44 100644 --- a/distribution/src/main/release/samples/corba/bank_ws_addressing/pom.xml +++ b/distribution/src/main/release/samples/corba/bank_ws_addressing/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -69,7 +69,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources diff --git a/distribution/src/main/release/samples/corba/hello_world/pom.xml b/distribution/src/main/release/samples/corba/hello_world/pom.xml index 85af5ec7569..4ba45c6f537 100644 --- a/distribution/src/main/release/samples/corba/hello_world/pom.xml +++ b/distribution/src/main/release/samples/corba/hello_world/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -71,7 +71,7 @@ org.apache.cxf cxf-corbatools-maven-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -97,7 +97,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + ${project.version} generate-sources @@ -279,17 +279,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-bindings-corba - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-tools-common - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/groovy_spring_support/pom.xml b/distribution/src/main/release/samples/groovy_spring_support/pom.xml index e1ea2b582cc..1529883418a 100644 --- a/distribution/src/main/release/samples/groovy_spring_support/pom.xml +++ b/distribution/src/main/release/samples/groovy_spring_support/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -108,23 +108,23 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.codehaus.groovy groovy - 3.0.21 + 3.0.20 org.springframework @@ -135,8 +135,8 @@ spring-web - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp diff --git a/distribution/src/main/release/samples/groovy_spring_support/src/main/java/demo/spring/servlet/Server.java b/distribution/src/main/release/samples/groovy_spring_support/src/main/java/demo/spring/servlet/Server.java index a5f352c6654..850c944d713 100644 --- a/distribution/src/main/release/samples/groovy_spring_support/src/main/java/demo/spring/servlet/Server.java +++ b/distribution/src/main/release/samples/groovy_spring_support/src/main/java/demo/spring/servlet/Server.java @@ -18,10 +18,9 @@ */ package demo.spring.servlet; +import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.webapp.WebAppContext; public class Server { @@ -42,8 +41,8 @@ protected Server() throws Exception { webappcontext.setWar("target/GroovySpringSupport.war"); - HandlerCollection handlers = new HandlerCollection(); - handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()}); + Handler.Collection handlers = new Handler.Sequence(webappcontext, new DefaultHandler()); + handlers.setHandlers(handlers); server.setHandler(handlers); server.start(); diff --git a/distribution/src/main/release/samples/in_jvm_transport/pom.xml b/distribution/src/main/release/samples/in_jvm_transport/pom.xml index a031677d8a4..a70016e5a99 100644 --- a/distribution/src/main/release/samples/in_jvm_transport/pom.xml +++ b/distribution/src/main/release/samples/in_jvm_transport/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + ${project.version} generate-sources @@ -87,23 +87,23 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-bindings-coloc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/java_first_jaxws/pom.xml b/distribution/src/main/release/samples/java_first_jaxws/pom.xml index 71dab881241..a36ba040187 100644 --- a/distribution/src/main/release/samples/java_first_jaxws/pom.xml +++ b/distribution/src/main/release/samples/java_first_jaxws/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -112,7 +112,7 @@ org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -144,12 +144,12 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/java_first_jaxws_factory_bean/pom.xml b/distribution/src/main/release/samples/java_first_jaxws_factory_bean/pom.xml index a825339f406..604edb50034 100644 --- a/distribution/src/main/release/samples/java_first_jaxws_factory_bean/pom.xml +++ b/distribution/src/main/release/samples/java_first_jaxws_factory_bean/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -82,18 +82,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/java_first_jms/pom.xml b/distribution/src/main/release/samples/java_first_jms/pom.xml index 398c8a75ef9..bfa3598e635 100644 --- a/distribution/src/main/release/samples/java_first_jms/pom.xml +++ b/distribution/src/main/release/samples/java_first_jms/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -97,12 +97,12 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-jms - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/java_first_pojo/pom.xml b/distribution/src/main/release/samples/java_first_pojo/pom.xml index 4aa409db48f..abda99e7be3 100644 --- a/distribution/src/main/release/samples/java_first_pojo/pom.xml +++ b/distribution/src/main/release/samples/java_first_pojo/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -82,18 +82,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/java_first_spring_support/pom.xml b/distribution/src/main/release/samples/java_first_spring_support/pom.xml index 4137b9cf57e..c853d61b24b 100644 --- a/distribution/src/main/release/samples/java_first_spring_support/pom.xml +++ b/distribution/src/main/release/samples/java_first_spring_support/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -103,17 +103,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework @@ -124,8 +124,9 @@ spring-web - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp + ${cxf.jetty12.version} diff --git a/distribution/src/main/release/samples/java_first_spring_support/src/main/java/demo/spring/service/Server.java b/distribution/src/main/release/samples/java_first_spring_support/src/main/java/demo/spring/service/Server.java index d176e834e95..84d35d6396b 100644 --- a/distribution/src/main/release/samples/java_first_spring_support/src/main/java/demo/spring/service/Server.java +++ b/distribution/src/main/release/samples/java_first_spring_support/src/main/java/demo/spring/service/Server.java @@ -18,10 +18,9 @@ */ package demo.spring.service; +import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.webapp.WebAppContext; public class Server { @@ -42,8 +41,8 @@ protected Server() throws Exception { webappcontext.setWar("target/JavaFirstSpringSupport.war"); - HandlerCollection handlers = new HandlerCollection(); - handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()}); + Handler.Collection handlers = new Handler.Sequence(webappcontext, new DefaultHandler()); + handlers.setHandlers(handlers); server.setHandler(handlers); server.start(); diff --git a/distribution/src/main/release/samples/jax_rs/basic/pom.xml b/distribution/src/main/release/samples/jax_rs/basic/pom.xml index c0999e89211..62826c61973 100644 --- a/distribution/src/main/release/samples/jax_rs/basic/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/basic/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -83,18 +83,18 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.ws.rs diff --git a/distribution/src/main/release/samples/jax_rs/basic_http2_jetty/pom.xml b/distribution/src/main/release/samples/jax_rs/basic_http2_jetty/pom.xml index 3c8861fd2f1..6b71b6fd817 100644 --- a/distribution/src/main/release/samples/jax_rs/basic_http2_jetty/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/basic_http2_jetty/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -85,7 +85,7 @@ org.eclipse.jetty jetty-alpn-java-server - ${cxf.jetty11.version} + ${cxf.jetty12.version} @@ -94,12 +94,12 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework @@ -107,13 +107,13 @@ org.eclipse.jetty.http2 - http2-server - ${cxf.jetty11.version} + jetty-http2-server + ${cxf.jetty12.version} org.eclipse.jetty jetty-alpn-server - ${cxf.jetty11.version} + ${cxf.jetty12.version} diff --git a/distribution/src/main/release/samples/jax_rs/basic_http2_netty/pom.xml b/distribution/src/main/release/samples/jax_rs/basic_http2_netty/pom.xml index 7017a4f710e..111ed941002 100644 --- a/distribution/src/main/release/samples/jax_rs/basic_http2_netty/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/basic_http2_netty/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -81,12 +81,12 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-netty-server - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/jax_rs/basic_http2_undertow/pom.xml b/distribution/src/main/release/samples/jax_rs/basic_http2_undertow/pom.xml index 9783675b1cc..b1a972360c3 100644 --- a/distribution/src/main/release/samples/jax_rs/basic_http2_undertow/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/basic_http2_undertow/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -81,12 +81,12 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-undertow - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/jax_rs/basic_https/pom.xml b/distribution/src/main/release/samples/jax_rs/basic_https/pom.xml index 0fd9e361879..bd6bf358829 100644 --- a/distribution/src/main/release/samples/jax_rs/basic_https/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/basic_https/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -81,17 +81,17 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.httpcomponents diff --git a/distribution/src/main/release/samples/jax_rs/basic_oidc/pom.xml b/distribution/src/main/release/samples/jax_rs/basic_oidc/pom.xml index 67ba350e330..7f458cc7677 100644 --- a/distribution/src/main/release/samples/jax_rs/basic_oidc/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/basic_oidc/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -34,22 +34,22 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-jose-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-sso-oidc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.ws.rs diff --git a/distribution/src/main/release/samples/jax_rs/big_query/pom.xml b/distribution/src/main/release/samples/jax_rs/big_query/pom.xml index df45b0a9881..2e0271c11eb 100644 --- a/distribution/src/main/release/samples/jax_rs/big_query/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/big_query/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -34,32 +34,32 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-jose-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-sso-oidc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-features-logging - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.ws.rs diff --git a/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml b/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml index e7233c8df6b..7fbec72017a 100644 --- a/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -83,23 +83,23 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.codehaus.jettison diff --git a/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/pom.xml b/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/pom.xml index fe26d8f511a..fb083d8f415 100644 --- a/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -78,9 +78,12 @@ cxf-rt-rs-service-description-microprofile-openapi - org.apache.johnzon - johnzon-jsonb - jakarta + org.apache.cxf + cxf-rt-rs-extension-providers + + + org.eclipse + yasson org.springframework diff --git a/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/src/main/java/demo/jaxrs/openapi/server/AppConfig.java b/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/src/main/java/demo/jaxrs/openapi/server/AppConfig.java index 0d6c33a914c..0a5fb809541 100644 --- a/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/src/main/java/demo/jaxrs/openapi/server/AppConfig.java +++ b/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring/src/main/java/demo/jaxrs/openapi/server/AppConfig.java @@ -4,7 +4,7 @@ import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; import org.apache.cxf.jaxrs.microprofile.openapi.OpenApiFeature; -import org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider; +import org.apache.cxf.jaxrs.provider.jsrjsonb.JsrJsonbProvider; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -29,7 +29,7 @@ org.apache.cxf.endpoint.Server server() { factory.setFeatures(Arrays.asList(openApiFeature())); factory.setServiceBean(sampleResource()); factory.setAddress("http://localhost:9000/"); - factory.setProvider(new JsonbJaxrsProvider<>()); + factory.setProvider(new JsrJsonbProvider()); return factory.create(); } } diff --git a/distribution/src/main/release/samples/jax_rs/description_openapi_v3/pom.xml b/distribution/src/main/release/samples/jax_rs/description_openapi_v3/pom.xml index e49baa10451..f467d39af7d 100644 --- a/distribution/src/main/release/samples/jax_rs/description_openapi_v3/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/description_openapi_v3/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -74,8 +74,8 @@ jackson-jakarta-rs-json-provider - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp diff --git a/distribution/src/main/release/samples/jax_rs/description_openapi_v3/src/main/java/demo/jaxrs/openapi/server/Server.java b/distribution/src/main/release/samples/jax_rs/description_openapi_v3/src/main/java/demo/jaxrs/openapi/server/Server.java index f8be7c7db08..18602949951 100644 --- a/distribution/src/main/release/samples/jax_rs/description_openapi_v3/src/main/java/demo/jaxrs/openapi/server/Server.java +++ b/distribution/src/main/release/samples/jax_rs/description_openapi_v3/src/main/java/demo/jaxrs/openapi/server/Server.java @@ -25,8 +25,8 @@ import org.apache.cxf.jaxrs.openapi.OpenApiFeature; import org.apache.cxf.jaxrs.provider.MultipartProvider; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; public class Server { diff --git a/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/pom.xml b/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/pom.xml index 036ba2379ef..182845104ec 100644 --- a/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. diff --git a/distribution/src/main/release/samples/jax_rs/description_openapi_v3_web/pom.xml b/distribution/src/main/release/samples/jax_rs/description_openapi_v3_web/pom.xml index 0efedd52d7d..5776ad40e60 100644 --- a/distribution/src/main/release/samples/jax_rs/description_openapi_v3_web/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/description_openapi_v3_web/pom.xml @@ -26,7 +26,7 @@ under the License. org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -35,7 +35,7 @@ under the License. org.eclipse.jetty jetty-maven-plugin - ${cxf.jetty11.version} + ${cxf.jetty12.version} / diff --git a/distribution/src/main/release/samples/jax_rs/graalvm_basic/pom.xml b/distribution/src/main/release/samples/jax_rs/graalvm_basic/pom.xml index c6f9a1528ef..865a21e9406 100644 --- a/distribution/src/main/release/samples/jax_rs/graalvm_basic/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/graalvm_basic/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. diff --git a/distribution/src/main/release/samples/jax_rs/odata/pom.xml b/distribution/src/main/release/samples/jax_rs/odata/pom.xml index 7961ce1a90a..d91c0f51f1e 100644 --- a/distribution/src/main/release/samples/jax_rs/odata/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/odata/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -57,12 +57,12 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.olingo diff --git a/distribution/src/main/release/samples/jax_rs/search/pom.xml b/distribution/src/main/release/samples/jax_rs/search/pom.xml index 940d8b7ec72..f868bd9a9a4 100644 --- a/distribution/src/main/release/samples/jax_rs/search/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/search/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -83,33 +83,33 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-search - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-security-cors - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.lucene @@ -159,8 +159,9 @@ jakarta.ws.rs-api - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp + ${cxf.jetty12.version} org.apache.httpcomponents diff --git a/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Server.java b/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Server.java index 5fe8682ce73..9e71499e913 100644 --- a/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Server.java +++ b/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Server.java @@ -26,9 +26,9 @@ import org.apache.cxf.jaxrs.provider.jsrjsonp.JsrJsonpProvider; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; import org.apache.cxf.rs.security.cors.CrossOriginResourceSharingFilter; -import org.eclipse.jetty.servlet.DefaultServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.DefaultServlet; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; public class Server { @@ -43,7 +43,7 @@ protected Server() throws Exception { context.setContextPath("/"); context.addServlet(staticHolder, "/static/*"); context.addServlet(servletHolder, "/*"); - context.setResourceBase(getClass().getResource("/browser").toURI().toString()); + context.setBaseResourceAsString(getClass().getResource("/browser").toURI().toString()); servletHolder.setInitParameter("redirects-list", "/ /index.html /js/fileinput.min.js /css/fileinput.min.css"); diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot/pom.xml b/distribution/src/main/release/samples/jax_rs/spring_boot/pom.xml index 60fc44bf361..1d9c770615a 100644 --- a/distribution/src/main/release/samples/jax_rs/spring_boot/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/spring_boot/pom.xml @@ -4,7 +4,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. org.apache.cxf.samples @@ -16,7 +16,7 @@ org.apache.cxf cxf-spring-boot-starter-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework.boot @@ -32,12 +32,12 @@ org.apache.cxf cxf-rt-rs-service-description-openapi-v3 - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-features-metrics - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT io.micrometer diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/pom.xml b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/pom.xml index 1f4059765ac..91e08f6184d 100644 --- a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/pom.xml @@ -4,7 +4,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../.. spring-boot-sample-rs-scan-app @@ -15,7 +15,7 @@ org.apache.cxf cxf-spring-boot-starter-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework.boot @@ -31,7 +31,7 @@ org.apache.cxf cxf-rt-features-metrics - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/client/pom.xml b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/client/pom.xml index 45ff8ab243f..89cfc55182f 100644 --- a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/client/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/client/pom.xml @@ -4,7 +4,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../.. spring-boot-sample-rs-scan-client @@ -25,13 +25,13 @@ org.apache.cxf cxf-rt-rs-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-features-clustering - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/eureka-registry/pom.xml b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/eureka-registry/pom.xml index ea84c252303..fa26f6a6a47 100644 --- a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/eureka-registry/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/eureka-registry/pom.xml @@ -4,7 +4,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../.. spring-boot-sample-rs-scan-eureka diff --git a/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml b/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml index aa2d32d4ad0..0aa65aed946 100644 --- a/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -100,18 +100,18 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.ws.rs @@ -152,8 +152,8 @@ ${cxf.aspectj.version} - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp org.apache.httpcomponents diff --git a/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/servlet/Server.java b/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/servlet/Server.java index f093934fcc1..db6a805d32a 100644 --- a/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/servlet/Server.java +++ b/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/servlet/Server.java @@ -18,10 +18,9 @@ */ package demo.jaxrs.servlet; +import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.webapp.WebAppContext; public class Server { @@ -42,9 +41,7 @@ protected Server() throws Exception { webappcontext.setWar("target/JAXRSSpringSecurity.war"); - HandlerCollection handlers = new HandlerCollection(); - handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()}); - + Handler.Collection handlers = new Handler.Sequence(webappcontext, new DefaultHandler()); server.setHandler(handlers); server.start(); System.out.println("Server ready..."); diff --git a/distribution/src/main/release/samples/jax_rs/sse_cdi/pom.xml b/distribution/src/main/release/samples/jax_rs/sse_cdi/pom.xml index 60ad61a416a..374678892e3 100644 --- a/distribution/src/main/release/samples/jax_rs/sse_cdi/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/sse_cdi/pom.xml @@ -7,7 +7,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -20,19 +20,19 @@ org.apache.cxf cxf-integration-cdi - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-sse - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -57,25 +57,20 @@ - org.eclipse.jetty - jetty-plus - - - - org.eclipse.jetty - apache-jsp - ${cxf.jetty11.version} + org.eclipse.jetty.ee10 + jetty-ee10-apache-jsp + ${cxf.jetty12.version} - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp - org.eclipse.jetty.websocket - websocket-jakarta-server - ${cxf.jetty11.version} + org.eclipse.jetty.ee10.websocket + jetty-ee10-websocket-jetty-server + ${cxf.jetty12.version} diff --git a/distribution/src/main/release/samples/jax_rs/sse_cdi/src/main/java/demo/jaxrs/sse/StatsServer.java b/distribution/src/main/release/samples/jax_rs/sse_cdi/src/main/java/demo/jaxrs/sse/StatsServer.java index dde5496211d..29c55a2a9af 100644 --- a/distribution/src/main/release/samples/jax_rs/sse_cdi/src/main/java/demo/jaxrs/sse/StatsServer.java +++ b/distribution/src/main/release/samples/jax_rs/sse_cdi/src/main/java/demo/jaxrs/sse/StatsServer.java @@ -19,11 +19,11 @@ package demo.jaxrs.sse; import org.apache.cxf.cdi.CXFCdiServlet; +import org.eclipse.jetty.ee10.servlet.DefaultServlet; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; +import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.handler.HandlerList; -import org.eclipse.jetty.servlet.DefaultServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; import org.jboss.weld.environment.servlet.BeanManagerResourceBindingListener; import org.jboss.weld.environment.servlet.Listener; @@ -38,7 +38,7 @@ public static void main(final String[] args) throws Exception { final ServletContextHandler staticContext = new ServletContextHandler(); staticContext.setContextPath("/static"); staticContext.addServlet(staticHolder, "/*"); - staticContext.setResourceBase(StatsServer.class.getResource("/web-ui").toURI().toString()); + staticContext.setBaseResourceAsString(StatsServer.class.getResource("/web-ui").toURI().toString()); // Register and map the dispatcher servlet final CXFCdiServlet cxfServlet = new CXFCdiServlet(); @@ -49,10 +49,7 @@ public static void main(final String[] args) throws Exception { context.addEventListener(new BeanManagerResourceBindingListener()); context.addServlet(cxfServletHolder, "/rest/*"); - HandlerList handlers = new HandlerList(); - handlers.addHandler(staticContext); - handlers.addHandler(context); - + Handler.Collection handlers = new Handler.Sequence(staticContext, context); server.setHandler(handlers); server.start(); server.join(); diff --git a/distribution/src/main/release/samples/jax_rs/sse_client/pom.xml b/distribution/src/main/release/samples/jax_rs/sse_client/pom.xml index 3bfedc65a61..5bfdb87aa79 100644 --- a/distribution/src/main/release/samples/jax_rs/sse_client/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/sse_client/pom.xml @@ -7,7 +7,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -15,19 +15,19 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-sse - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -47,10 +47,10 @@ io.undertow - undertow-servlet-jakarta + undertow-servlet - + server diff --git a/distribution/src/main/release/samples/jax_rs/sse_spring/pom.xml b/distribution/src/main/release/samples/jax_rs/sse_spring/pom.xml index 42e7f8b5a5c..adc548d49e9 100644 --- a/distribution/src/main/release/samples/jax_rs/sse_spring/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/sse_spring/pom.xml @@ -7,7 +7,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -15,13 +15,13 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-sse - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -39,26 +39,22 @@ jetty-server - - org.eclipse.jetty - jetty-plus - - org.eclipse.jetty - apache-jsp - ${cxf.jetty11.version} + org.eclipse.jetty.ee10 + jetty-ee10-apache-jsp + ${cxf.jetty12.version} - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp - org.eclipse.jetty.websocket - websocket-jakarta-server - ${cxf.jetty11.version} + org.eclipse.jetty.ee10.websocket + jetty-ee10-websocket-jetty-server + ${cxf.jetty12.version} diff --git a/distribution/src/main/release/samples/jax_rs/sse_spring/src/main/java/demo/jaxrs/sse/StatsServer.java b/distribution/src/main/release/samples/jax_rs/sse_spring/src/main/java/demo/jaxrs/sse/StatsServer.java index 9e23afc2032..8b2a157f7ad 100644 --- a/distribution/src/main/release/samples/jax_rs/sse_spring/src/main/java/demo/jaxrs/sse/StatsServer.java +++ b/distribution/src/main/release/samples/jax_rs/sse_spring/src/main/java/demo/jaxrs/sse/StatsServer.java @@ -19,11 +19,11 @@ package demo.jaxrs.sse; import org.apache.cxf.transport.servlet.CXFServlet; +import org.eclipse.jetty.ee10.servlet.DefaultServlet; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; +import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.handler.HandlerList; -import org.eclipse.jetty.servlet.DefaultServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; @@ -38,7 +38,7 @@ public static void main(final String[] args) throws Exception { final ServletContextHandler staticContext = new ServletContextHandler(); staticContext.setContextPath("/static"); staticContext.addServlet(staticHolder, "/*"); - staticContext.setResourceBase(StatsServer.class.getResource("/web-ui").toURI().toString()); + staticContext.setBaseResourceAsString(StatsServer.class.getResource("/web-ui").toURI().toString()); // Register and map the dispatcher servlet final ServletHolder cxfServletHolder = new ServletHolder(new CXFServlet()); @@ -49,10 +49,7 @@ public static void main(final String[] args) throws Exception { context.setInitParameter("contextClass", AnnotationConfigWebApplicationContext.class.getName()); context.setInitParameter("contextConfigLocation", StatsConfig.class.getName()); - HandlerList handlers = new HandlerList(); - handlers.addHandler(staticContext); - handlers.addHandler(context); - + Handler.Collection handlers = new Handler.Sequence(staticContext, context); server.setHandler(handlers); server.start(); server.join(); diff --git a/distribution/src/main/release/samples/jax_rs/sse_tomcat/pom.xml b/distribution/src/main/release/samples/jax_rs/sse_tomcat/pom.xml index ec999beeea1..7bb3a8f6347 100644 --- a/distribution/src/main/release/samples/jax_rs/sse_tomcat/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/sse_tomcat/pom.xml @@ -7,7 +7,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -25,13 +25,13 @@ org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-sse - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml index 80676033156..6d674208475 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -169,7 +169,7 @@ org.apache.cxf cxf-integration-tracing-brave - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf @@ -188,8 +188,8 @@ jakarta.ws.rs-api - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp io.zipkin.reporter2 diff --git a/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/Server.java b/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/Server.java index b50a59ed436..fc3406fe286 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/Server.java +++ b/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/Server.java @@ -20,8 +20,8 @@ package demo.jaxrs.tracing.server; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; public class Server { protected Server() throws Exception { diff --git a/distribution/src/main/release/samples/jax_rs/tracing_micrometer/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_micrometer/pom.xml index 51bc5466da0..c47ad59fcec 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_micrometer/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/tracing_micrometer/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -83,33 +83,33 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-integration-tracing-micrometer - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.json @@ -124,8 +124,9 @@ jakarta.ws.rs-api - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp + ${cxf.jetty12.version} io.github.openfeign @@ -150,13 +151,5 @@ io.opentelemetry opentelemetry-exporter-logging - - io.opentelemetry.semconv - opentelemetry-semconv - - - io.opentelemetry.semconv - opentelemetry-semconv-incubating - diff --git a/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/OpenTelemetrySetup.java b/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/OpenTelemetrySetup.java index 14f8bcfd809..3d7eb6aad0f 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/OpenTelemetrySetup.java +++ b/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/OpenTelemetrySetup.java @@ -26,12 +26,12 @@ import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.export.BatchSpanProcessor; -import io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes; +import io.opentelemetry.semconv.ResourceAttributes; public class OpenTelemetrySetup { public static OpenTelemetrySdk setup(String serviceName) { final Resource resource = Resource.getDefault() - .merge(Resource.create(Attributes.of(ServiceIncubatingAttributes.SERVICE_NAME, serviceName))); + .merge(Resource.create(Attributes.of(ResourceAttributes.SERVICE_NAME, serviceName))); final SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder() .addSpanProcessor(BatchSpanProcessor.builder(LoggingSpanExporter.create()).build()) diff --git a/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/server/Server.java b/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/server/Server.java index 126b2ab340a..9604f8570f4 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/server/Server.java +++ b/distribution/src/main/release/samples/jax_rs/tracing_micrometer/src/main/java/demo/jaxrs/tracing/server/Server.java @@ -22,8 +22,8 @@ import demo.jaxrs.tracing.OpenTelemetrySetup; import io.opentelemetry.sdk.OpenTelemetrySdk; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; public class Server { protected Server() throws Exception { diff --git a/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/pom.xml index 05fd7281820..4460a05da02 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -83,33 +83,33 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-integration-tracing-opentelemetry - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.json @@ -124,8 +124,9 @@ jakarta.ws.rs-api - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp + ${cxf.jetty12.version} io.github.openfeign @@ -150,14 +151,6 @@ io.opentelemetry opentelemetry-sdk - - io.opentelemetry.semconv - opentelemetry-semconv - - - io.opentelemetry.semconv - opentelemetry-semconv-incubating - io.opentelemetry opentelemetry-exporter-logging diff --git a/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/src/main/java/demo/jaxrs/tracing/server/Server.java b/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/src/main/java/demo/jaxrs/tracing/server/Server.java index 126b2ab340a..9604f8570f4 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/src/main/java/demo/jaxrs/tracing/server/Server.java +++ b/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry/src/main/java/demo/jaxrs/tracing/server/Server.java @@ -22,8 +22,8 @@ import demo.jaxrs.tracing.OpenTelemetrySetup; import io.opentelemetry.sdk.OpenTelemetrySdk; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; public class Server { protected Server() throws Exception { diff --git a/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry_camel/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry_camel/pom.xml index e89a96bc70f..f0a5d60eb7f 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry_camel/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/tracing_opentelemetry_camel/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -156,8 +156,9 @@ jakarta.ws.rs-api - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp + ${cxf.jetty12.version} @@ -215,14 +216,6 @@ io.opentelemetry opentelemetry-exporter-otlp - - io.opentelemetry.semconv - opentelemetry-semconv - - - io.opentelemetry.semconv - opentelemetry-semconv-incubating - io.opentelemetry opentelemetry-exporter-sender-okhttp diff --git a/distribution/src/main/release/samples/jax_rs/tracing_opentracing/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_opentracing/pom.xml index 537dfb9c17e..5a873e6e286 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_opentracing/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/tracing_opentracing/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -83,33 +83,33 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-integration-tracing-opentracing - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-rs-extension-providers - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.json @@ -124,8 +124,8 @@ jakarta.ws.rs-api - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp io.jaegertracing diff --git a/distribution/src/main/release/samples/jax_rs/tracing_opentracing/src/main/java/demo/jaxrs/tracing/server/Server.java b/distribution/src/main/release/samples/jax_rs/tracing_opentracing/src/main/java/demo/jaxrs/tracing/server/Server.java index ff574ceacda..5dd49d54aca 100644 --- a/distribution/src/main/release/samples/jax_rs/tracing_opentracing/src/main/java/demo/jaxrs/tracing/server/Server.java +++ b/distribution/src/main/release/samples/jax_rs/tracing_opentracing/src/main/java/demo/jaxrs/tracing/server/Server.java @@ -27,8 +27,8 @@ import io.jaegertracing.spi.Sender; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; import demo.jaxrs.tracing.Slf4jLogSender; import io.opentracing.Tracer; diff --git a/distribution/src/main/release/samples/jax_rs/websocket/pom.xml b/distribution/src/main/release/samples/jax_rs/websocket/pom.xml index 1f1afe44ba5..4faf08fc550 100644 --- a/distribution/src/main/release/samples/jax_rs/websocket/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/websocket/pom.xml @@ -25,16 +25,16 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. ${project.version} - ${cxf.jetty11.version} + ${cxf.jetty12.version} - jetty11 + jetty12 true @@ -42,9 +42,9 @@ - org.eclipse.jetty.websocket - websocket-jakarta-server - ${cxf.jetty11.version} + org.eclipse.jetty.ee10.websocket + jetty-ee10-websocket-jetty-server + ${cxf.jetty12.version} jakarta.servlet @@ -105,7 +105,7 @@ org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -124,13 +124,8 @@ ${cxf.jetty.version} - org.eclipse.jetty - jetty-plus - ${cxf.jetty.version} - - - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp ${cxf.jetty.version} @@ -147,17 +142,17 @@ org.apache.cxf cxf-rt-transports-websocket - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.ws.rs diff --git a/distribution/src/main/release/samples/jax_rs/websocket_web/pom.xml b/distribution/src/main/release/samples/jax_rs/websocket_web/pom.xml index 5b9594f1ef7..faf876a9295 100644 --- a/distribution/src/main/release/samples/jax_rs/websocket_web/pom.xml +++ b/distribution/src/main/release/samples/jax_rs/websocket_web/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -37,7 +37,7 @@ org.eclipse.jetty jetty-maven-plugin - ${cxf.jetty11.version} + ${cxf.jetty12.version} ${project.build.directory}/${project.name} 1 diff --git a/distribution/src/main/release/samples/jax_server_aegis_client/pom.xml b/distribution/src/main/release/samples/jax_server_aegis_client/pom.xml index 141b89e6d99..587dd216ea1 100644 --- a/distribution/src/main/release/samples/jax_server_aegis_client/pom.xml +++ b/distribution/src/main/release/samples/jax_server_aegis_client/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -82,23 +82,23 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-databinding-aegis - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/jaxws_async/pom.xml b/distribution/src/main/release/samples/jaxws_async/pom.xml index d4b64334e9e..91b61be35a6 100644 --- a/distribution/src/main/release/samples/jaxws_async/pom.xml +++ b/distribution/src/main/release/samples/jaxws_async/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -37,7 +37,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -92,7 +92,7 @@ org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -127,17 +127,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-hc - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework @@ -149,7 +149,7 @@ org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.eclipse.jetty diff --git a/distribution/src/main/release/samples/jaxws_dispatch_provider/pom.xml b/distribution/src/main/release/samples/jaxws_dispatch_provider/pom.xml index b7cc4a05a8f..524ba6b504c 100644 --- a/distribution/src/main/release/samples/jaxws_dispatch_provider/pom.xml +++ b/distribution/src/main/release/samples/jaxws_dispatch_provider/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-SOAPService1 @@ -114,18 +114,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT com.sun.xml.messaging.saaj diff --git a/distribution/src/main/release/samples/jaxws_graalvm/pom.xml b/distribution/src/main/release/samples/jaxws_graalvm/pom.xml index 27b880c371d..a439203306a 100644 --- a/distribution/src/main/release/samples/jaxws_graalvm/pom.xml +++ b/distribution/src/main/release/samples/jaxws_graalvm/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-SOAPService1 diff --git a/distribution/src/main/release/samples/jaxws_graalvm_dynamic/client/pom.xml b/distribution/src/main/release/samples/jaxws_graalvm_dynamic/client/pom.xml index 72a0802bf41..8a1c5896731 100644 --- a/distribution/src/main/release/samples/jaxws_graalvm_dynamic/client/pom.xml +++ b/distribution/src/main/release/samples/jaxws_graalvm_dynamic/client/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. diff --git a/distribution/src/main/release/samples/jaxws_graalvm_dynamic/server/pom.xml b/distribution/src/main/release/samples/jaxws_graalvm_dynamic/server/pom.xml index e8b3776ccae..01df568c9b2 100644 --- a/distribution/src/main/release/samples/jaxws_graalvm_dynamic/server/pom.xml +++ b/distribution/src/main/release/samples/jaxws_graalvm_dynamic/server/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -38,7 +38,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-SOAPService1 diff --git a/distribution/src/main/release/samples/jaxws_handlers/pom.xml b/distribution/src/main/release/samples/jaxws_handlers/pom.xml index 2267553e417..8e51a38575c 100644 --- a/distribution/src/main/release/samples/jaxws_handlers/pom.xml +++ b/distribution/src/main/release/samples/jaxws_handlers/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-SOAPService1 @@ -114,18 +114,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT com.sun.xml.messaging.saaj diff --git a/distribution/src/main/release/samples/jaxws_spring_boot/pom.xml b/distribution/src/main/release/samples/jaxws_spring_boot/pom.xml index 45a3063b25f..d648b5d071a 100644 --- a/distribution/src/main/release/samples/jaxws_spring_boot/pom.xml +++ b/distribution/src/main/release/samples/jaxws_spring_boot/pom.xml @@ -4,7 +4,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT .. spring-boot-sample-ws-cxf @@ -15,7 +15,7 @@ org.apache.cxf cxf-spring-boot-starter-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework.boot @@ -31,7 +31,7 @@ org.apache.cxf cxf-rt-features-metrics - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT io.micrometer diff --git a/distribution/src/main/release/samples/jms_pubsub/pom.xml b/distribution/src/main/release/samples/jms_pubsub/pom.xml index c69c3a9fa9f..cd1796d8acb 100644 --- a/distribution/src/main/release/samples/jms_pubsub/pom.xml +++ b/distribution/src/main/release/samples/jms_pubsub/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources diff --git a/distribution/src/main/release/samples/jms_queue/pom.xml b/distribution/src/main/release/samples/jms_queue/pom.xml index f58fa382db5..7d64eb7ff4d 100644 --- a/distribution/src/main/release/samples/jms_queue/pom.xml +++ b/distribution/src/main/release/samples/jms_queue/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -137,12 +137,12 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-jms - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.activemq diff --git a/distribution/src/main/release/samples/jms_spec_demo/pom.xml b/distribution/src/main/release/samples/jms_spec_demo/pom.xml index 5600098a8f0..bf85b8c2d33 100644 --- a/distribution/src/main/release/samples/jms_spec_demo/pom.xml +++ b/distribution/src/main/release/samples/jms_spec_demo/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -137,12 +137,12 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-jms - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.activemq diff --git a/distribution/src/main/release/samples/jms_spring_config/pom.xml b/distribution/src/main/release/samples/jms_spring_config/pom.xml index b4524cf3db7..25e86dd7356 100644 --- a/distribution/src/main/release/samples/jms_spring_config/pom.xml +++ b/distribution/src/main/release/samples/jms_spring_config/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -47,7 +47,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources diff --git a/distribution/src/main/release/samples/js_browser_client_java_first/pom.xml b/distribution/src/main/release/samples/js_browser_client_java_first/pom.xml index e208c132b0b..fdae3cf4aff 100644 --- a/distribution/src/main/release/samples/js_browser_client_java_first/pom.xml +++ b/distribution/src/main/release/samples/js_browser_client_java_first/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -59,22 +59,22 @@ org.apache.cxf cxf-rt-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/js_browser_client_simple/pom.xml b/distribution/src/main/release/samples/js_browser_client_simple/pom.xml index 2cd2e361d83..76d1d4bde34 100644 --- a/distribution/src/main/release/samples/js_browser_client_simple/pom.xml +++ b/distribution/src/main/release/samples/js_browser_client_simple/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -111,22 +111,22 @@ org.apache.cxf cxf-rt-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/js_client/pom.xml b/distribution/src/main/release/samples/js_client/pom.xml index 47a20dbd3d8..083cb270208 100644 --- a/distribution/src/main/release/samples/js_client/pom.xml +++ b/distribution/src/main/release/samples/js_client/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -113,22 +113,22 @@ org.apache.cxf cxf-rt-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.mozilla diff --git a/distribution/src/main/release/samples/js_provider/pom.xml b/distribution/src/main/release/samples/js_provider/pom.xml index b745a9b601d..d8561c6cf75 100644 --- a/distribution/src/main/release/samples/js_provider/pom.xml +++ b/distribution/src/main/release/samples/js_provider/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -46,7 +46,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -128,18 +128,18 @@ org.apache.cxf cxf-rt-frontend-js - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT com.sun.xml.messaging.saaj diff --git a/distribution/src/main/release/samples/mtom/pom.xml b/distribution/src/main/release/samples/mtom/pom.xml index 7c72f9239f8..5a9efb7fa32 100644 --- a/distribution/src/main/release/samples/mtom/pom.xml +++ b/distribution/src/main/release/samples/mtom/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -115,18 +115,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.eclipse.angus diff --git a/distribution/src/main/release/samples/pom.xml b/distribution/src/main/release/samples/pom.xml index 989f571a37b..adb6842a7aa 100644 --- a/distribution/src/main/release/samples/pom.xml +++ b/distribution/src/main/release/samples/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.samples cxf-samples pom - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT Apache CXF Samples Apache CXF Samples https://cxf.apache.org @@ -31,9 +31,9 @@ true UTF-8 - 3.0.13 - 4.0.3 - 11.0.20 + 3.2.4 + 4.1.1 + 12.0.8 4.1.108.Final 4.5.14 5.13.0 @@ -42,7 +42,7 @@ 4.0.3.Final 2.10.1 9.10.0 - 4.10.0 + 5.0.0 1.9.22 5.17.0 2.1 @@ -50,7 +50,7 @@ 2.2.224 5.13.1.Final 2.6.7 - 4.0.2 + 4.5.0 @@ -164,14 +164,14 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT pom import org.apache.cxf cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT pom import @@ -213,7 +213,7 @@ org.eclipse.jetty jetty-maven-plugin - ${cxf.jetty11.version} + ${cxf.jetty12.version} org.apache.maven.plugins diff --git a/distribution/src/main/release/samples/restful_dispatch/pom.xml b/distribution/src/main/release/samples/restful_dispatch/pom.xml index 96738f22d82..5712d6c856a 100644 --- a/distribution/src/main/release/samples/restful_dispatch/pom.xml +++ b/distribution/src/main/release/samples/restful_dispatch/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -82,23 +82,23 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxrs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.ws.rs diff --git a/distribution/src/main/release/samples/ruby_spring_support/pom.xml b/distribution/src/main/release/samples/ruby_spring_support/pom.xml index 0794be07f83..2b3db94362e 100644 --- a/distribution/src/main/release/samples/ruby_spring_support/pom.xml +++ b/distribution/src/main/release/samples/ruby_spring_support/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -108,28 +108,24 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.jruby jruby 9.4.6.0 - - cglib - cglib-nodep - org.springframework spring-context @@ -139,8 +135,8 @@ spring-web - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp diff --git a/distribution/src/main/release/samples/ruby_spring_support/src/main/java/demo/spring/service/Server.java b/distribution/src/main/release/samples/ruby_spring_support/src/main/java/demo/spring/service/Server.java index 417dd722787..3a5e837f68c 100644 --- a/distribution/src/main/release/samples/ruby_spring_support/src/main/java/demo/spring/service/Server.java +++ b/distribution/src/main/release/samples/ruby_spring_support/src/main/java/demo/spring/service/Server.java @@ -18,10 +18,9 @@ */ package demo.spring.service; +import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.webapp.WebAppContext; public class Server { @@ -42,9 +41,7 @@ protected Server() throws Exception { webappcontext.setWar("target/RubySpringSupport.war"); - HandlerCollection handlers = new HandlerCollection(); - handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()}); - + Handler.Collection handlers = new Handler.Sequence(webappcontext, new DefaultHandler()); server.setHandler(handlers); server.start(); System.out.println("Server ready..."); diff --git a/distribution/src/main/release/samples/soap_header/pom.xml b/distribution/src/main/release/samples/soap_header/pom.xml index 101f97365b1..6b98666f799 100644 --- a/distribution/src/main/release/samples/soap_header/pom.xml +++ b/distribution/src/main/release/samples/soap_header/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -114,18 +114,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/sts/pom.xml b/distribution/src/main/release/samples/sts/pom.xml index 8fba3580d1b..afc4c5e1b05 100644 --- a/distribution/src/main/release/samples/sts/pom.xml +++ b/distribution/src/main/release/samples/sts/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT .. @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -97,7 +97,7 @@ org.apache.cxf.services.sts cxf-services-sts-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -130,7 +130,7 @@ org.apache.cxf.services.sts cxf-services-sts-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -245,27 +245,27 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-policy - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/throttling/pom.xml b/distribution/src/main/release/samples/throttling/pom.xml index bf69177754f..4a24a8266f3 100644 --- a/distribution/src/main/release/samples/throttling/pom.xml +++ b/distribution/src/main/release/samples/throttling/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${basedir}/src/main/config/hello_world.wsdl @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -123,32 +123,32 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-management - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-features-metrics - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-features-throttling - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.slf4j diff --git a/distribution/src/main/release/samples/ws_addressing/pom.xml b/distribution/src/main/release/samples/ws_addressing/pom.xml index 1da6e712d65..59d4d544899 100644 --- a/distribution/src/main/release/samples/ws_addressing/pom.xml +++ b/distribution/src/main/release/samples/ws_addressing/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -118,17 +118,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/ws_discovery/pom.xml b/distribution/src/main/release/samples/ws_discovery/pom.xml index 30b3cd4465f..872d865bd9d 100644 --- a/distribution/src/main/release/samples/ws_discovery/pom.xml +++ b/distribution/src/main/release/samples/ws_discovery/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -37,22 +37,22 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.ws-discovery cxf-services-ws-discovery-api - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.services.ws-discovery cxf-services-ws-discovery-service - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -61,7 +61,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -88,7 +88,7 @@ org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/ws_eventing/pom.xml b/distribution/src/main/release/samples/ws_eventing/pom.xml index 6304c9feef8..ba7052534ff 100644 --- a/distribution/src/main/release/samples/ws_eventing/pom.xml +++ b/distribution/src/main/release/samples/ws_eventing/pom.xml @@ -25,24 +25,24 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-core - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework @@ -55,12 +55,12 @@ org.apache.cxf cxf-rt-ws-eventing - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-addr - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.servlet diff --git a/distribution/src/main/release/samples/ws_notification/pom.xml b/distribution/src/main/release/samples/ws_notification/pom.xml index 2198cb72343..4fddf7930fc 100644 --- a/distribution/src/main/release/samples/ws_notification/pom.xml +++ b/distribution/src/main/release/samples/ws_notification/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} diff --git a/distribution/src/main/release/samples/ws_policy/pom.xml b/distribution/src/main/release/samples/ws_policy/pom.xml index c4777fee590..fed32744dd5 100644 --- a/distribution/src/main/release/samples/ws_policy/pom.xml +++ b/distribution/src/main/release/samples/ws_policy/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -124,17 +124,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/ws_rm/pom.xml b/distribution/src/main/release/samples/ws_rm/pom.xml index f201d1d3664..1817e16ddc9 100644 --- a/distribution/src/main/release/samples/ws_rm/pom.xml +++ b/distribution/src/main/release/samples/ws_rm/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -108,23 +108,23 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-rm - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/ws_security/sign_enc/pom.xml b/distribution/src/main/release/samples/ws_security/sign_enc/pom.xml index 2d0d0941ec9..7831475f932 100644 --- a/distribution/src/main/release/samples/ws_security/sign_enc/pom.xml +++ b/distribution/src/main/release/samples/ws_security/sign_enc/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -47,7 +47,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -165,38 +165,38 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-rm - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-addr - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-policy - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/ws_security/sign_enc_policy/pom.xml b/distribution/src/main/release/samples/ws_security/sign_enc_policy/pom.xml index 4fc863d08fd..9be850fb453 100644 --- a/distribution/src/main/release/samples/ws_security/sign_enc_policy/pom.xml +++ b/distribution/src/main/release/samples/ws_security/sign_enc_policy/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -33,7 +33,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -169,27 +169,27 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-policy - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/ws_security/ut/pom.xml b/distribution/src/main/release/samples/ws_security/ut/pom.xml index dacc51d52d3..135ca5be90e 100644 --- a/distribution/src/main/release/samples/ws_security/ut/pom.xml +++ b/distribution/src/main/release/samples/ws_security/ut/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -154,23 +154,23 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/ws_security/ut_policy/pom.xml b/distribution/src/main/release/samples/ws_security/ut_policy/pom.xml index 4f98c8f3eba..4b10ef6918f 100644 --- a/distribution/src/main/release/samples/ws_security/ut_policy/pom.xml +++ b/distribution/src/main/release/samples/ws_security/ut_policy/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../.. @@ -34,7 +34,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -198,27 +198,27 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-ws-policy - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/ws_transaction/client/pom.xml b/distribution/src/main/release/samples/ws_transaction/client/pom.xml index 71c3cf511b6..33265c55b06 100644 --- a/distribution/src/main/release/samples/ws_transaction/client/pom.xml +++ b/distribution/src/main/release/samples/ws_transaction/client/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.samples ws_transaction - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT .. spring-boot-sample-ws-cxf-client diff --git a/distribution/src/main/release/samples/ws_transaction/pom.xml b/distribution/src/main/release/samples/ws_transaction/pom.xml index 198f30423df..8836fcab880 100644 --- a/distribution/src/main/release/samples/ws_transaction/pom.xml +++ b/distribution/src/main/release/samples/ws_transaction/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT pom @@ -45,12 +45,12 @@ org.apache.cxf cxf-rt-features-logging - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-spring-boot-starter-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework.boot diff --git a/distribution/src/main/release/samples/ws_transaction/ws_first/pom.xml b/distribution/src/main/release/samples/ws_transaction/ws_first/pom.xml index 9b4d400cfe8..af87575ffe5 100644 --- a/distribution/src/main/release/samples/ws_transaction/ws_first/pom.xml +++ b/distribution/src/main/release/samples/ws_transaction/ws_first/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.samples ws_transaction - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT .. spring-boot-sample-ws-cxf-first-service diff --git a/distribution/src/main/release/samples/ws_transaction/ws_second/pom.xml b/distribution/src/main/release/samples/ws_transaction/ws_second/pom.xml index 13a267f6ae9..80c9e7557ce 100644 --- a/distribution/src/main/release/samples/ws_transaction/ws_second/pom.xml +++ b/distribution/src/main/release/samples/ws_transaction/ws_second/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.samples ws_transaction - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT .. spring-boot-sample-ws-cxf-second-service diff --git a/distribution/src/main/release/samples/wsdl_first/pom.xml b/distribution/src/main/release/samples/wsdl_first/pom.xml index d8816eed813..9c0fb4cfd97 100644 --- a/distribution/src/main/release/samples/wsdl_first/pom.xml +++ b/distribution/src/main/release/samples/wsdl_first/pom.xml @@ -26,7 +26,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -64,7 +64,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -116,7 +116,7 @@ org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -146,7 +146,7 @@ org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -176,7 +176,7 @@ org.apache.cxf cxf-rt-transports-http-netty-server - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -235,7 +235,7 @@ org.apache.cxf cxf-rt-transports-http-netty-client - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT @@ -244,22 +244,22 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-management - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-features-metrics - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.xjc-utils diff --git a/distribution/src/main/release/samples/wsdl_first_dynamic_client/pom.xml b/distribution/src/main/release/samples/wsdl_first_dynamic_client/pom.xml index ab505a871e0..a1566f2e3df 100644 --- a/distribution/src/main/release/samples/wsdl_first_dynamic_client/pom.xml +++ b/distribution/src/main/release/samples/wsdl_first_dynamic_client/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -36,7 +36,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -112,18 +112,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/wsdl_first_https/pom.xml b/distribution/src/main/release/samples/wsdl_first_https/pom.xml index 9d525f3e9ea..a8f1a1562f2 100644 --- a/distribution/src/main/release/samples/wsdl_first_https/pom.xml +++ b/distribution/src/main/release/samples/wsdl_first_https/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${basedir}/src/main/config/hello_world.wsdl @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -198,17 +198,17 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.springframework diff --git a/distribution/src/main/release/samples/wsdl_first_pure_xml/pom.xml b/distribution/src/main/release/samples/wsdl_first_pure_xml/pom.xml index 5aa153b8d00..427fd169174 100644 --- a/distribution/src/main/release/samples/wsdl_first_pure_xml/pom.xml +++ b/distribution/src/main/release/samples/wsdl_first_pure_xml/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -114,18 +114,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/wsdl_first_rpclit/pom.xml b/distribution/src/main/release/samples/wsdl_first_rpclit/pom.xml index 859a5c8051c..9a83ce3af05 100644 --- a/distribution/src/main/release/samples/wsdl_first_rpclit/pom.xml +++ b/distribution/src/main/release/samples/wsdl_first_rpclit/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -114,18 +114,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/wsdl_first_soap12/pom.xml b/distribution/src/main/release/samples/wsdl_first_soap12/pom.xml index cd798869f92..8748133f491 100644 --- a/distribution/src/main/release/samples/wsdl_first_soap12/pom.xml +++ b/distribution/src/main/release/samples/wsdl_first_soap12/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -114,18 +114,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/distribution/src/main/release/samples/wsdl_first_xml_wrapped/pom.xml b/distribution/src/main/release/samples/wsdl_first_xml_wrapped/pom.xml index 54f1e5c84eb..61780365076 100644 --- a/distribution/src/main/release/samples/wsdl_first_xml_wrapped/pom.xml +++ b/distribution/src/main/release/samples/wsdl_first_xml_wrapped/pom.xml @@ -25,7 +25,7 @@ org.apache.cxf.samples cxf-samples - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ${project.version} @@ -35,7 +35,7 @@ org.apache.cxf cxf-codegen-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT generate-sources @@ -114,18 +114,18 @@ org.apache.cxf cxf-rt-frontend-jaxws - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf cxf-rt-transports-http-jetty - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT diff --git a/integration/cdi/pom.xml b/integration/cdi/pom.xml index e11a2138a85..0296b51cbd1 100644 --- a/integration/cdi/pom.xml +++ b/integration/cdi/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml diff --git a/integration/cdi/src/main/java/org/apache/cxf/cdi/AbstractCXFBean.java b/integration/cdi/src/main/java/org/apache/cxf/cdi/AbstractCXFBean.java index 872a82b6af8..c198b38d520 100644 --- a/integration/cdi/src/main/java/org/apache/cxf/cdi/AbstractCXFBean.java +++ b/integration/cdi/src/main/java/org/apache/cxf/cdi/AbstractCXFBean.java @@ -60,11 +60,6 @@ public boolean isAlternative() { return false; } - @Override - public boolean isNullable() { - return false; - } - @Override public Set getInjectionPoints() { return Collections.emptySet(); diff --git a/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiBusBean.java b/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiBusBean.java index 9e952167db7..a0705033e47 100644 --- a/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiBusBean.java +++ b/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiBusBean.java @@ -24,6 +24,7 @@ import jakarta.enterprise.context.spi.CreationalContext; import jakarta.enterprise.inject.spi.InjectionPoint; import jakarta.enterprise.inject.spi.InjectionTarget; +import jakarta.enterprise.inject.spi.InjectionTargetFactory; import org.apache.cxf.Bus; import org.apache.cxf.BusFactory; import org.apache.cxf.bus.extension.ExtensionManagerBus; @@ -35,8 +36,8 @@ final class CdiBusBean extends AbstractCXFBean< ExtensionManagerBus > { private final InjectionTarget injectionTarget; - CdiBusBean(final InjectionTarget injectionTarget) { - this.injectionTarget = injectionTarget; + CdiBusBean(final InjectionTargetFactory injectionTargetFactory) { + this.injectionTarget = injectionTargetFactory.createInjectionTarget(this); } @Override diff --git a/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiServerConfigurableFactory.java b/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiServerConfigurableFactory.java index ee6dded54c4..846ef24f41f 100644 --- a/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiServerConfigurableFactory.java +++ b/integration/cdi/src/main/java/org/apache/cxf/cdi/CdiServerConfigurableFactory.java @@ -67,7 +67,7 @@ public Object create(Class cls) { final CreationalContext context = beanManager.createCreationalContext(bean); if (!beanManager.isNormalScope(bean.getScope())) { - beanManager.fireEvent(new DisposableCreationalContext(context)); + beanManager.getEvent().fire(new DisposableCreationalContext(context)); } return beanManager.getReference(bean, cls, context); diff --git a/integration/cdi/src/main/java/org/apache/cxf/cdi/ContextProducerBean.java b/integration/cdi/src/main/java/org/apache/cxf/cdi/ContextProducerBean.java index 84ebe9b8987..b464e1900ee 100644 --- a/integration/cdi/src/main/java/org/apache/cxf/cdi/ContextProducerBean.java +++ b/integration/cdi/src/main/java/org/apache/cxf/cdi/ContextProducerBean.java @@ -64,11 +64,6 @@ public Object create(CreationalContext creationalContext) { return createContextValue(); } - @Override - public boolean isNullable() { - return true; - } - @Override public Set getTypes() { Set types = super.getTypes(); diff --git a/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java b/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java index 6875afea6e4..a5c027c6975 100644 --- a/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java +++ b/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java @@ -43,7 +43,6 @@ import jakarta.enterprise.inject.spi.BeforeBeanDiscovery; import jakarta.enterprise.inject.spi.BeforeShutdown; import jakarta.enterprise.inject.spi.Extension; -import jakarta.enterprise.inject.spi.InjectionTarget; import jakarta.enterprise.inject.spi.ProcessAnnotatedType; import jakarta.enterprise.inject.spi.ProcessBean; import jakarta.enterprise.inject.spi.ProcessProducerField; @@ -165,7 +164,7 @@ void onStartup(@Observes final BeforeBeanDiscovery beforeBeanDiscovery, final Be "jakarta.servlet.http.HttpServletRequest", "jakarta.servlet.ServletContext")); } - beanManager.fireEvent(this); + beanManager.getEvent().fire(this); } /** @@ -271,9 +270,7 @@ public void injectBus(@Observes final AfterBeanDiscovery event, final BeanManage final AnnotatedType< ExtensionManagerBus > busAnnotatedType = beanManager.createAnnotatedType(ExtensionManagerBus.class); - final InjectionTarget busInjectionTarget = - beanManager.createInjectionTarget(busAnnotatedType); - event.addBean(new CdiBusBean(busInjectionTarget)); + event.addBean(new CdiBusBean(beanManager.getInjectionTargetFactory(busAnnotatedType))); } if (applicationBeans.isEmpty() && !serviceBeans.isEmpty()) { diff --git a/integration/cdi/src/test/java/org/apache/cxf/cdi/JAXRSCdiResourceExtensionTest.java b/integration/cdi/src/test/java/org/apache/cxf/cdi/JAXRSCdiResourceExtensionTest.java index f3a82d4332e..0a41024b88a 100644 --- a/integration/cdi/src/test/java/org/apache/cxf/cdi/JAXRSCdiResourceExtensionTest.java +++ b/integration/cdi/src/test/java/org/apache/cxf/cdi/JAXRSCdiResourceExtensionTest.java @@ -22,6 +22,7 @@ import jakarta.enterprise.inject.spi.Annotated; import jakarta.enterprise.inject.spi.Bean; import jakarta.enterprise.inject.spi.BeanManager; +import jakarta.enterprise.inject.spi.InjectionTargetFactory; import jakarta.enterprise.inject.spi.ProcessBean; import jakarta.ws.rs.Path; import org.apache.cxf.Bus; @@ -49,9 +50,12 @@ public class JAXRSCdiResourceExtensionTest { private ProcessBean processBean; @Mock private Annotated annotated; - + @Mock + private InjectionTargetFactory factory; + @Test public void shouldNotAddDefaultApplicationWhenNoResourcesDefined() { + when(beanManager.getInjectionTargetFactory(any())).thenReturn(factory); extension.injectBus(event, beanManager); verify(event).addBean(any(CdiBusBean.class)); @@ -80,6 +84,7 @@ public void shouldAddApplicationBeanWhenResourcesProvided() { when(annotated.isAnnotationPresent(Path.class)).thenReturn(true); extension.collect(processBean, beanManager); + when(beanManager.getInjectionTargetFactory(any())).thenReturn(factory); extension.injectBus(event, beanManager); verify(event).addBean(any(DefaultApplicationBean.class)); diff --git a/integration/jca/pom.xml b/integration/jca/pom.xml index 4956329ebd4..5d1bd08f6d3 100644 --- a/integration/jca/pom.xml +++ b/integration/jca/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml diff --git a/integration/pom.xml b/integration/pom.xml index 3b07566df60..a46eff2d9d6 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jca diff --git a/integration/spring-boot/autoconfigure/pom.xml b/integration/spring-boot/autoconfigure/pom.xml index 3b3ad3d0d3e..11b0292a107 100644 --- a/integration/spring-boot/autoconfigure/pom.xml +++ b/integration/spring-boot/autoconfigure/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -115,14 +115,14 @@ true - ${cxf.servlet-api.group} - ${cxf.servlet-api.artifact} - ${cxf.servlet-api.version} + jakarta.validation + jakarta.validation-api true - jakarta.validation - jakarta.validation-api + jakarta.servlet + jakarta.servlet-api + ${cxf.servlet-api.version} true diff --git a/integration/spring-boot/pom.xml b/integration/spring-boot/pom.xml index 936fcba8a8a..37c6bfbf747 100644 --- a/integration/spring-boot/pom.xml +++ b/integration/spring-boot/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-integration - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT autoconfigure diff --git a/integration/spring-boot/starter-jaxrs/pom.xml b/integration/spring-boot/starter-jaxrs/pom.xml index 2302c83fb38..dc9e4eab7ef 100644 --- a/integration/spring-boot/starter-jaxrs/pom.xml +++ b/integration/spring-boot/starter-jaxrs/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/integration/spring-boot/starter-jaxws/pom.xml b/integration/spring-boot/starter-jaxws/pom.xml index 46fb971fb19..54c92f240c4 100644 --- a/integration/spring-boot/starter-jaxws/pom.xml +++ b/integration/spring-boot/starter-jaxws/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/integration/tracing/tracing-brave/pom.xml b/integration/tracing/tracing-brave/pom.xml index 3ed1c5cff80..23f94fcf192 100644 --- a/integration/tracing/tracing-brave/pom.xml +++ b/integration/tracing/tracing-brave/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/integration/tracing/tracing-micrometer/pom.xml b/integration/tracing/tracing-micrometer/pom.xml index 7c659203281..2ba0de9dbd0 100644 --- a/integration/tracing/tracing-micrometer/pom.xml +++ b/integration/tracing/tracing-micrometer/pom.xml @@ -8,7 +8,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/integration/tracing/tracing-micrometer/src/main/java/org/apache/cxf/tracing/micrometer/ObservationTracerContext.java b/integration/tracing/tracing-micrometer/src/main/java/org/apache/cxf/tracing/micrometer/ObservationTracerContext.java index 4653a4b134d..4fc491f8868 100644 --- a/integration/tracing/tracing-micrometer/src/main/java/org/apache/cxf/tracing/micrometer/ObservationTracerContext.java +++ b/integration/tracing/tracing-micrometer/src/main/java/org/apache/cxf/tracing/micrometer/ObservationTracerContext.java @@ -24,6 +24,7 @@ import org.apache.cxf.tracing.TracerContext; import io.micrometer.observation.Observation; +import io.micrometer.observation.Observation.Event; import io.micrometer.observation.ObservationRegistry; public class ObservationTracerContext implements TracerContext { @@ -93,7 +94,7 @@ public void annotate(String key, String value) { public void timeline(String message) { final Observation current = observationRegistry.getCurrentObservation(); if (current != null) { - current.event(() -> message); + current.event(Event.of(message)); } } diff --git a/integration/tracing/tracing-opentelemetry/pom.xml b/integration/tracing/tracing-opentelemetry/pom.xml index 683a29c3465..123b6fd1050 100644 --- a/integration/tracing/tracing-opentelemetry/pom.xml +++ b/integration/tracing/tracing-opentelemetry/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -80,10 +80,12 @@ io.opentelemetry.semconv opentelemetry-semconv + ${cxf.opentelemetry.semconv.version} io.opentelemetry.semconv opentelemetry-semconv-incubating + ${cxf.opentelemetry.semconv.version} org.slf4j diff --git a/integration/tracing/tracing-opentracing/pom.xml b/integration/tracing/tracing-opentracing/pom.xml index fa12446c901..f4fd71cb89b 100644 --- a/integration/tracing/tracing-opentracing/pom.xml +++ b/integration/tracing/tracing-opentracing/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/maven-plugins/archetypes/cxf-jaxrs-service/pom.xml b/maven-plugins/archetypes/cxf-jaxrs-service/pom.xml index 7f6eb8f939e..e53e129b354 100644 --- a/maven-plugins/archetypes/cxf-jaxrs-service/pom.xml +++ b/maven-plugins/archetypes/cxf-jaxrs-service/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml org.apache.cxf.archetype diff --git a/maven-plugins/archetypes/cxf-jaxws-javafirst/pom.xml b/maven-plugins/archetypes/cxf-jaxws-javafirst/pom.xml index 7d1b0a80a61..c2bfd4ffa04 100644 --- a/maven-plugins/archetypes/cxf-jaxws-javafirst/pom.xml +++ b/maven-plugins/archetypes/cxf-jaxws-javafirst/pom.xml @@ -22,12 +22,12 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml org.apache.cxf.archetype cxf-jaxws-javafirst - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT maven-archetype Apache CXF Archetype - Simple JAX-WS Java First Creates a project for developing a Web service starting from Java code diff --git a/maven-plugins/archetypes/cxf-jaxws-wsdlfirst/pom.xml b/maven-plugins/archetypes/cxf-jaxws-wsdlfirst/pom.xml index f9579d6e3a8..afab53947e0 100644 --- a/maven-plugins/archetypes/cxf-jaxws-wsdlfirst/pom.xml +++ b/maven-plugins/archetypes/cxf-jaxws-wsdlfirst/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml org.apache.cxf.archetype diff --git a/maven-plugins/archetypes/pom.xml b/maven-plugins/archetypes/pom.xml index 5693d96a11c..49159c02476 100644 --- a/maven-plugins/archetypes/pom.xml +++ b/maven-plugins/archetypes/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-maven-plugins - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT cxf-jaxws-javafirst diff --git a/maven-plugins/codegen-plugin/pom.xml b/maven-plugins/codegen-plugin/pom.xml index 80c76abbd4b..41cd056f778 100644 --- a/maven-plugins/codegen-plugin/pom.xml +++ b/maven-plugins/codegen-plugin/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-maven-plugins - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.plugin.codegen @@ -197,10 +197,10 @@ - - jakarta.xml.bind - jakarta.xml.bind-api - ${cxf.jaxb.version} + + jakarta.xml.bind + jakarta.xml.bind-api + ${cxf.jaxb.version} diff --git a/maven-plugins/codegen-plugin/src/it/jaxb-xjc-runtime-sources/pom.xml b/maven-plugins/codegen-plugin/src/it/jaxb-xjc-runtime-sources/pom.xml index 7388dcb99ef..ea57f60abbe 100644 --- a/maven-plugins/codegen-plugin/src/it/jaxb-xjc-runtime-sources/pom.xml +++ b/maven-plugins/codegen-plugin/src/it/jaxb-xjc-runtime-sources/pom.xml @@ -77,9 +77,9 @@ - java9 + java11 - [9,) + [11,) @@ -90,7 +90,7 @@ jakarta.xml.ws jakarta.xml.ws-api - 3.0.0 + 4.0.0 jakarta.jws @@ -100,7 +100,7 @@ jakarta.xml.bind jakarta.xml.bind-api - 3.0.1 + 4.0.0 diff --git a/maven-plugins/codegen-plugin/src/it/jdk-cxf-with-toolchain/pom.xml b/maven-plugins/codegen-plugin/src/it/jdk-cxf-with-toolchain/pom.xml index d3a7f21a58f..f156353cf8f 100644 --- a/maven-plugins/codegen-plugin/src/it/jdk-cxf-with-toolchain/pom.xml +++ b/maven-plugins/codegen-plugin/src/it/jdk-cxf-with-toolchain/pom.xml @@ -112,9 +112,9 @@ - java9 + java11 - [9,) + [11,) @@ -125,7 +125,7 @@ jakarta.xml.ws jakarta.xml.ws-api - 3.0.0 + 4.0.0 jakarta.jws @@ -135,7 +135,7 @@ jakarta.xml.bind jakarta.xml.bind-api - 3.0.1 + 4.0.0 diff --git a/maven-plugins/codegen-plugin/src/it/mark-generated/pom.xml b/maven-plugins/codegen-plugin/src/it/mark-generated/pom.xml index d91b5b619ac..b115a62caa2 100644 --- a/maven-plugins/codegen-plugin/src/it/mark-generated/pom.xml +++ b/maven-plugins/codegen-plugin/src/it/mark-generated/pom.xml @@ -75,9 +75,9 @@ - java9 + java11 - [9,) + [11,) @@ -88,7 +88,7 @@ jakarta.xml.ws jakarta.xml.ws-api - 3.0.0 + 4.0.0 jakarta.jws @@ -98,7 +98,7 @@ jakarta.xml.bind jakarta.xml.bind-api - 3.0.1 + 4.0.0 diff --git a/maven-plugins/codegen-plugin/src/it/wsdl-artifact-resolution/pom.xml b/maven-plugins/codegen-plugin/src/it/wsdl-artifact-resolution/pom.xml index 9d84c21ef56..7bdc64e0ae3 100644 --- a/maven-plugins/codegen-plugin/src/it/wsdl-artifact-resolution/pom.xml +++ b/maven-plugins/codegen-plugin/src/it/wsdl-artifact-resolution/pom.xml @@ -77,9 +77,9 @@ - java9 + java11 - [9,) + [11,) @@ -90,7 +90,7 @@ jakarta.xml.ws jakarta.xml.ws-api - 3.0.0 + 4.0.0 jakarta.jws @@ -100,7 +100,7 @@ jakarta.xml.bind jakarta.xml.bind-api - 3.0.1 + 4.0.0 diff --git a/maven-plugins/corba/pom.xml b/maven-plugins/corba/pom.xml index e547d76c1da..013b0b6166c 100644 --- a/maven-plugins/corba/pom.xml +++ b/maven-plugins/corba/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-maven-plugins - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.plugin.corbatools diff --git a/maven-plugins/java2wadl-plugin/pom.xml b/maven-plugins/java2wadl-plugin/pom.xml index bfe89084f0d..fdbf0e5a042 100644 --- a/maven-plugins/java2wadl-plugin/pom.xml +++ b/maven-plugins/java2wadl-plugin/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf cxf-java2wadl-plugin maven-plugin - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT Apache CXF Java2WADL Maven2 Plugin Apache CXF Java2WADL Maven2 Plugin https://cxf.apache.org @@ -31,7 +31,7 @@ org.apache.cxf cxf-maven-plugins - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.plugin.java2wadl diff --git a/maven-plugins/java2ws-plugin/pom.xml b/maven-plugins/java2ws-plugin/pom.xml index 5c7804907ea..f44326ed547 100644 --- a/maven-plugins/java2ws-plugin/pom.xml +++ b/maven-plugins/java2ws-plugin/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-maven-plugins - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.plugin.java2ws diff --git a/maven-plugins/pom.xml b/maven-plugins/pom.xml index 24b868afede..5d3e81d2549 100644 --- a/maven-plugins/pom.xml +++ b/maven-plugins/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../parent diff --git a/maven-plugins/wadl2java-plugin/pom.xml b/maven-plugins/wadl2java-plugin/pom.xml index b0906b43852..ea9754c928b 100644 --- a/maven-plugins/wadl2java-plugin/pom.xml +++ b/maven-plugins/wadl2java-plugin/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-maven-plugins - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.plugin.wadl2java diff --git a/maven-plugins/wsdl-validator-plugin/pom.xml b/maven-plugins/wsdl-validator-plugin/pom.xml index 1c49bbdb952..55983d642c9 100644 --- a/maven-plugins/wsdl-validator-plugin/pom.xml +++ b/maven-plugins/wsdl-validator-plugin/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-maven-plugins - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.plugin.wsdl.validator diff --git a/parent/pom.xml b/parent/pom.xml index 2af84d87849..9a83618fea4 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -21,7 +21,7 @@ org.apache.cxf cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT 4.0.0 cxf-parent @@ -74,13 +74,12 @@ [2,3) [5,6) [3,4) - [3.3,3.4) [3,4) [3,4) [2,3) [4.2,5) [3,4) - [11,12) + [12,13) [4.1,5) [3.8,4) [2.2,3) @@ -91,14 +90,14 @@ 2.31.2 2.12.3 1.8.0.Final - 3.0.0.Final + 3.0.2.Final 1.9.22 3.25.3 [3.0, 4.0) 3.0.5 1.77 5.17.1 - 3.0.0 + 4.0.1 4.8.25 1.5.1 1.16.0 @@ -112,9 +111,9 @@ 3.2.6 4.2.25 3.10.8 - 3.0.3 + 5.0.1 3.0.2 - 3.0.1 + 4.0.6 1.1.1 1.0.15 4.0.2 @@ -122,7 +121,7 @@ 32.1.3-jre 2.2 5.3.7 - 6.1.7.Final + 6.4.4.Final 7.0.5.Final 2.7.2 [4.0,4.2) @@ -139,9 +138,10 @@ 2.1.3 2.1.3 2.0.1 + 2.1.0 3.0.0 - 2.0.1 - 3.0.1 + 3.0.1 + 4.0.1 3.1.0 2.0.1 4.0.1 @@ -150,24 +150,24 @@ 0.7.2 3.29.2-GA 2.1.1 - 3.0.0 - 3.0.2 - 3.0.1 + 3.1.0 + 4.0.4 + 4.0.1 ${cxf.jaxb.runtime.version} 2.0.0 3.5.3.Final - 4.0.3.Final + 5.1.2.Final 5.13.1.Final 1.1.1 1.0 1.5.4 - 11.0.20 - ${cxf.jetty11.version} + 12.0.8 + ${cxf.jetty12.version} 3.3 2.10.10 1.2.21 - 2.0.1 - 2.0.0 + 2.1.3 + 3.0.1 1.0 4.13.2 5.10.2 @@ -177,11 +177,11 @@ 1.5.4 9.10.0 3.9.6 - 1.10.13 - 1.0.12 - 3.0.3 + 1.12.5 + 1.2.5 + 3.1 3.0.1 - 3.0 + 3.1.1 2.2.1 5.11.0 2022.7 @@ -195,35 +195,36 @@ 1.25.0-alpha 0.33.0 2.0.27 - 3.0.0 + 1.1.5 + 3.1.0 4.9.2 3.5.1 1.0.4 - 3.5.16 + 3.6.5 1.7.14 1.3.8 2.2.21 3.1.8 - 2.0.1 + 3.0.3 jakarta.servlet-api jakarta.servlet - 5.0.0 + 6.0.0 2.0.12 2.2 2.3_2 - 3.0.13 - 3.0.6 + 3.2.4 + 3.2.3 spring-test - 6.1.8 - 6.0.19 + 6.2.3 + 6.1.6 1.8.3 5.13.0 2.2.21 2.9.1 10.1.20 1.8 - 2.2.20.Final - + 2.3.7.Final + 3.0.3 @@ -251,8 +252,8 @@ 2.1.3_1 1.2.18_1 1.2.4 - 3.0.12 - 1.0.0 + 4.2.0 + 2.0.3 2.0.2 1.9.3_1 2.3.2_1 @@ -265,7 +266,6 @@ 0.9.11_2 1.7.13_1 1.9.1_1 - 3.3.0_1 3.0.0_1 2.9.1 2.3_1 @@ -787,11 +787,6 @@ - - cglib - cglib-nodep - 3.3.0 - com.sun.xml.fastinfoset FastInfoset @@ -1079,6 +1074,16 @@ ${cxf.glassfish.json.version} true + + org.eclipse.parsson + parsson + ${cxf.parsson.version} + + + org.eclipse + yasson + ${cxf.yasson.version} + org.apache.johnzon johnzon-core @@ -1166,18 +1171,33 @@ ${cxf.jetty.version} - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp ${cxf.jetty.version} - org.eclipse.jetty - jetty-servlet + org.eclipse.jetty.websocket + jetty-websocket-jetty-server + ${cxf.jetty.version} + + + org.eclipse.jetty.ee10.websocket + jetty-ee10-websocket-jetty-server + ${cxf.jetty.version} + + + org.eclipse.jetty.ee10 + jetty-ee10-apache-jsp + ${cxf.jetty.version} + + + org.eclipse.jetty.ee10 + jetty-ee10-servlet ${cxf.jetty.version} org.eclipse.jetty - jetty-servlets + jetty-session ${cxf.jetty.version} @@ -1206,14 +1226,9 @@ jetty-http ${cxf.jetty.version} - - org.eclipse.jetty - jetty-plus - ${cxf.jetty.version} - org.eclipse.jetty.http2 - http2-server + jetty-http2-server ${cxf.jetty.version} @@ -1227,8 +1242,8 @@ ${cxf.jetty.version} - org.eclipse.jetty - jetty-annotations + org.eclipse.jetty.ee10 + jetty-ee10-annotations ${cxf.jetty.version} @@ -1238,7 +1253,7 @@ io.undertow - undertow-servlet-jakarta + undertow-servlet ${cxf.undertow.version} @@ -1923,16 +1938,6 @@ pom import - - io.opentelemetry.semconv - opentelemetry-semconv - ${cxf.opentelemetry.semconv.version} - - - io.opentelemetry.semconv - opentelemetry-semconv-incubating - ${cxf.opentelemetry.semconv.version} - io.opentelemetry opentelemetry-opentracing-shim @@ -1989,6 +1994,11 @@ wss4j-ws-security-policy-stax ${cxf.jakarta.wss4j.version} + + org.apache.wss4j + wss4j-ws-security-common + ${cxf.jakarta.wss4j.version} + org.apache.maven.plugins maven-javadoc-plugin @@ -2029,7 +2039,7 @@ org.eclipse.persistence org.eclipse.persistence.moxy - 2.7.6 + 4.0.2 provided true diff --git a/pom.xml b/pom.xml index 9812c54d37c..b7325d74283 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 4.0.0 org.apache.cxf cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT Apache CXF Apache CXF is an open-source services framework that aids in the development of services using front-end programming APIs, like JAX-WS @@ -42,7 +42,7 @@ false 4.0.1 4.0.0 - 11 + 17 UTF-8 scp://people.apache.org/www/cxf.apache.org/maven-site 9.1.0 @@ -649,7 +649,7 @@ - 11 + ${cxf.jdk.version} 3.5 diff --git a/rt/bindings/coloc/pom.xml b/rt/bindings/coloc/pom.xml index dbb30a3f503..a292f00d5ca 100644 --- a/rt/bindings/coloc/pom.xml +++ b/rt/bindings/coloc/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/bindings/corba/pom.xml b/rt/bindings/corba/pom.xml index c785bac743f..498809b3331 100644 --- a/rt/bindings/corba/pom.xml +++ b/rt/bindings/corba/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/bindings/pom.xml b/rt/bindings/pom.xml index d31f22ad9be..865862725cb 100644 --- a/rt/bindings/pom.xml +++ b/rt/bindings/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT soap diff --git a/rt/bindings/soap/pom.xml b/rt/bindings/soap/pom.xml index 3d43b8afa90..04dd0d938fb 100644 --- a/rt/bindings/soap/pom.xml +++ b/rt/bindings/soap/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/bindings/xml/pom.xml b/rt/bindings/xml/pom.xml index d97981d2964..9f03b869504 100644 --- a/rt/bindings/xml/pom.xml +++ b/rt/bindings/xml/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/databinding/aegis/pom.xml b/rt/databinding/aegis/pom.xml index 2522651dbda..a2b49ca4f54 100644 --- a/rt/databinding/aegis/pom.xml +++ b/rt/databinding/aegis/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/databinding/jaxb/pom.xml b/rt/databinding/jaxb/pom.xml index 9b8325049e4..47d7e5a1679 100644 --- a/rt/databinding/jaxb/pom.xml +++ b/rt/databinding/jaxb/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/databinding/pom.xml b/rt/databinding/pom.xml index 0d0f8011e85..dc84c921f0d 100644 --- a/rt/databinding/pom.xml +++ b/rt/databinding/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jaxb diff --git a/rt/features/clustering/pom.xml b/rt/features/clustering/pom.xml index 96a56e1ca4e..aef7e3a3c84 100644 --- a/rt/features/clustering/pom.xml +++ b/rt/features/clustering/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/features/logging/pom.xml b/rt/features/logging/pom.xml index a7214e15ec3..ea51341798e 100644 --- a/rt/features/logging/pom.xml +++ b/rt/features/logging/pom.xml @@ -3,7 +3,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml cxf-rt-features-logging diff --git a/rt/features/metrics/pom.xml b/rt/features/metrics/pom.xml index 7beeea5631a..3520b3b18a6 100644 --- a/rt/features/metrics/pom.xml +++ b/rt/features/metrics/pom.xml @@ -3,7 +3,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml cxf-rt-features-metrics diff --git a/rt/features/pom.xml b/rt/features/pom.xml index 609148b5c0d..e87a4a65fea 100644 --- a/rt/features/pom.xml +++ b/rt/features/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT clustering diff --git a/rt/features/throttling/pom.xml b/rt/features/throttling/pom.xml index 5a3e6ffa367..bc778f690e7 100644 --- a/rt/features/throttling/pom.xml +++ b/rt/features/throttling/pom.xml @@ -3,7 +3,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml cxf-rt-features-throttling diff --git a/rt/frontend/jaxrs/pom.xml b/rt/frontend/jaxrs/pom.xml index 97661737fc2..7a11e12f1ed 100644 --- a/rt/frontend/jaxrs/pom.xml +++ b/rt/frontend/jaxrs/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/ConfigurationBuilderImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/ConfigurationBuilderImpl.java new file mode 100644 index 00000000000..7f890d91477 --- /dev/null +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/ConfigurationBuilderImpl.java @@ -0,0 +1,79 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.cxf.jaxrs.bootstrap; + +import java.util.AbstractMap.SimpleEntry; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import java.util.function.BiFunction; +import java.util.function.Consumer; + +import javax.net.ssl.SSLContext; + +import jakarta.ws.rs.SeBootstrap; +import jakarta.ws.rs.SeBootstrap.Configuration.SSLClientAuthentication; + +public class ConfigurationBuilderImpl implements SeBootstrap.Configuration.Builder { + private final Map, Consumer>> supported = new HashMap<>(); + private final Map properties = new HashMap<>(); + + public ConfigurationBuilderImpl() { + supported.put(SeBootstrap.Configuration.PROTOCOL, + entry(String.class, this::protocol)); + supported.put(SeBootstrap.Configuration.HOST, + entry(String.class, this::host)); + supported.put(SeBootstrap.Configuration.PORT, + entry(Integer.class, this::port)); + supported.put(SeBootstrap.Configuration.ROOT_PATH, + entry(String.class, this::rootPath)); + supported.put(SeBootstrap.Configuration.SSL_CONTEXT, + entry(SSLContext.class, this::sslContext)); + supported.put(SeBootstrap.Configuration.SSL_CLIENT_AUTHENTICATION, + entry(SSLClientAuthentication.class, this::sslClientAuthentication)); + } + + private SimpleEntry, Consumer> entry(Class clazz, Consumer consumer) { + return new SimpleEntry, Consumer>(clazz, consumer); + } + + @Override + public SeBootstrap.Configuration build() { + return new ConfigurationImpl(properties); + } + + @Override + public SeBootstrap.Configuration.Builder property(String name, Object value) { + properties.put(name, value); + return this; + } + + @SuppressWarnings("unchecked") + @Override + public SeBootstrap.Configuration.Builder from(BiFunction, Optional> propertiesProvider) { + for (Map.Entry, Consumer>> entry: supported.entrySet()) { + propertiesProvider + .apply(entry.getKey(), (Class)entry.getValue().getKey()) + .ifPresent((Consumer)entry.getValue().getValue()); + } + return this; + } + +} diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/ConfigurationImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/ConfigurationImpl.java new file mode 100644 index 00000000000..543fd1a2c56 --- /dev/null +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/ConfigurationImpl.java @@ -0,0 +1,37 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.cxf.jaxrs.bootstrap; + +import java.util.Map; + +import jakarta.ws.rs.SeBootstrap; + +class ConfigurationImpl implements SeBootstrap.Configuration { + private final Map properties; + + ConfigurationImpl(Map properties) { + this.properties = properties; + } + + @Override + public Object property(String name) { + return properties.get(name); + } +} diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/InstanceImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/InstanceImpl.java new file mode 100644 index 00000000000..6134813b24d --- /dev/null +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/bootstrap/InstanceImpl.java @@ -0,0 +1,60 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.cxf.jaxrs.bootstrap; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import jakarta.ws.rs.SeBootstrap.Configuration; +import jakarta.ws.rs.SeBootstrap.Instance; +import org.apache.cxf.endpoint.Server; + +public class InstanceImpl implements Instance { + private final Server server; + private final Configuration configuration; + + public InstanceImpl(Server server, Configuration configuration) { + this.server = server; + this.configuration = configuration; + } + + @Override + public Configuration configuration() { + return configuration; + } + + @Override + public CompletionStage stop() { + return CompletableFuture + .runAsync(() -> server.stop()) + .thenApply(f -> new StopResult() { + @Override + public T unwrap(final Class nativeClass) { + return nativeClass.cast(Void.class); + } + }); + } + + @Override + public T unwrap(Class nativeClass) { + return nativeClass.cast(Server.class); + } + +} diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/EntityPartBuilderImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/EntityPartBuilderImpl.java new file mode 100644 index 00000000000..c5d0e48afe4 --- /dev/null +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/EntityPartBuilderImpl.java @@ -0,0 +1,154 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.cxf.jaxrs.impl; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Objects; + +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.EntityPart; +import jakarta.ws.rs.core.EntityPart.Builder; +import jakarta.ws.rs.core.GenericType; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedHashMap; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.ext.MessageBodyWriter; +import org.apache.cxf.jaxrs.provider.ProviderFactory; +import org.apache.cxf.jaxrs.provider.ServerProviderFactory; +import org.apache.cxf.jaxrs.utils.JAXRSUtils; +import org.apache.cxf.message.Message; + +public class EntityPartBuilderImpl implements EntityPart.Builder { + private final String name; + private MediaType mediaType; + private MultivaluedMap headers = new MultivaluedHashMap<>(); + private String fileName; + private Object content; + private GenericType genericType; + private Class type; + + public EntityPartBuilderImpl(final String name) { + this.name = name; + } + + @Override + public Builder mediaType(MediaType mt) throws IllegalArgumentException { + this.mediaType = mt; + return this; + } + + @Override + public Builder mediaType(String mts) throws IllegalArgumentException { + this.mediaType = MediaType.valueOf(mts); + return this; + } + + @Override + public Builder header(String headerName, String... headerValues) throws IllegalArgumentException { + headers.addAll(headerName, headerValues); + return this; + } + + @Override + public Builder headers(MultivaluedMap newHeaders) throws IllegalArgumentException { + headers.clear(); + headers.putAll(newHeaders); + return this; + } + + @Override + public Builder fileName(String fn) throws IllegalArgumentException { + this.fileName = fn; + return this; + } + + @Override + public Builder content(InputStream in) throws IllegalArgumentException { + this.content = in; + return this; + } + + @Override + public Builder content(T c, Class t) throws IllegalArgumentException { + this.content = c; + this.type = t; + this.genericType = null; + return this; + } + + @Override + public Builder content(T c, GenericType t) throws IllegalArgumentException { + this.content = c; + this.genericType = t; + this.type = null; + return this; + } + + @Override + public EntityPart build() throws IllegalStateException, IOException, WebApplicationException { + final MediaType mt = Objects.requireNonNullElse(mediaType, MediaType.APPLICATION_OCTET_STREAM_TYPE); + final Message message = JAXRSUtils.getCurrentMessage(); + final ProviderFactory factory = ServerProviderFactory.getInstance(message); + + if (genericType != null) { + try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { + writeTo(factory, genericType, mt, message, out); + return new EntityPartImpl(factory, name, fileName, new ByteArrayInputStream(out.toByteArray()), + headers, mt); + } + } else if (type != null) { + try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { + writeTo(factory, type, mt, message, out); + return new EntityPartImpl(factory, name, fileName, new ByteArrayInputStream(out.toByteArray()), + headers, mt); + } + } else { + throw new IllegalStateException("Either type or genericType is expected for the content"); + } + } + + @SuppressWarnings("unchecked") + private void writeTo(final ProviderFactory providers, final GenericType t, final MediaType mt, + final Message message, final ByteArrayOutputStream out) throws IOException { + + final MessageBodyWriter writer = (MessageBodyWriter) providers + .createMessageBodyWriter(t.getRawType(), t.getType(), null, mt, message); + + writer.writeTo((T) content, t.getRawType(), t.getType(), null, mt, cast(headers), out); + } + + @SuppressWarnings("unchecked") + private void writeTo(final ProviderFactory providers, final Class t, final MediaType mt, + final Message message, final ByteArrayOutputStream out) throws IOException { + + final MessageBodyWriter writer = (MessageBodyWriter) providers + .createMessageBodyWriter(t, null, null, mt, message); + + writer.writeTo((T) content, t, null, null, mt, cast(headers), out); + } + + @SuppressWarnings("unchecked") + private static MultivaluedMap cast(MultivaluedMap p) { + return (MultivaluedMap)p; + } +} diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/EntityPartImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/EntityPartImpl.java new file mode 100644 index 00000000000..d302768b668 --- /dev/null +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/EntityPartImpl.java @@ -0,0 +1,103 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.cxf.jaxrs.impl; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Optional; + +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.EntityPart; +import jakarta.ws.rs.core.GenericType; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.ext.MessageBodyReader; +import org.apache.cxf.jaxrs.provider.ProviderFactory; +import org.apache.cxf.jaxrs.utils.JAXRSUtils; +import org.apache.cxf.message.Message; + +public class EntityPartImpl implements EntityPart { + private final String name; + private final String fileName; + private final InputStream content; + private final MultivaluedMap headers; + private final MediaType mediaType; + private final ProviderFactory providers; + + EntityPartImpl(final ProviderFactory providers, String name, String fileName, InputStream content, + MultivaluedMap headers, MediaType mediaType) { + this.providers = providers; + this.name = name; + this.fileName = fileName; + this.content = content; + this.headers = headers; + this.mediaType = mediaType; + } + + @Override + public String getName() { + return name; + } + + @Override + public Optional getFileName() { + return Optional.ofNullable(fileName); + } + + @Override + public InputStream getContent() { + return content; + } + + @Override + public T getContent(Class type) + throws IllegalArgumentException, IllegalStateException, IOException, WebApplicationException { + final Message message = JAXRSUtils.getCurrentMessage(); + + @SuppressWarnings({ "unchecked", "rawtypes" }) + final MessageBodyReader reader = (MessageBodyReader) providers + .createMessageBodyReader(type, null, null, mediaType, message); + + return reader.readFrom(type, null, null, mediaType, headers, content); + } + + @SuppressWarnings("unchecked") + @Override + public T getContent(GenericType type) + throws IllegalArgumentException, IllegalStateException, IOException, WebApplicationException { + final Message message = JAXRSUtils.getCurrentMessage(); + + @SuppressWarnings("rawtypes") + final MessageBodyReader reader = (MessageBodyReader) providers + .createMessageBodyReader(type.getRawType(), type.getType(), null, mediaType, message); + + return reader.readFrom((Class) type.getRawType(), type.getType(), null, mediaType, headers, content); + } + + @Override + public MultivaluedMap getHeaders() { + return headers; + } + + @Override + public MediaType getMediaType() { + return mediaType; + } +} diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java index 5cc8a607626..4bd9bb0e5db 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java @@ -19,13 +19,25 @@ package org.apache.cxf.jaxrs.impl; +import java.net.URI; +import java.security.AccessController; +import java.security.PrivilegedExceptionAction; import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import javax.net.ssl.SSLContext; + +import jakarta.ws.rs.SeBootstrap.Configuration; +import jakarta.ws.rs.SeBootstrap.Configuration.Builder; +import jakarta.ws.rs.SeBootstrap.Configuration.SSLClientAuthentication; +import jakarta.ws.rs.SeBootstrap.Instance; import jakarta.ws.rs.core.Application; import jakarta.ws.rs.core.CacheControl; import jakarta.ws.rs.core.Cookie; +import jakarta.ws.rs.core.EntityPart; import jakarta.ws.rs.core.EntityTag; import jakarta.ws.rs.core.Link; import jakarta.ws.rs.core.MediaType; @@ -34,15 +46,16 @@ import jakarta.ws.rs.core.UriBuilder; import jakarta.ws.rs.core.Variant.VariantListBuilder; import jakarta.ws.rs.ext.RuntimeDelegate; +import org.apache.cxf.configuration.jsse.TLSServerParameters; +import org.apache.cxf.configuration.security.ClientAuthentication; import org.apache.cxf.endpoint.Server; import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; +import org.apache.cxf.jaxrs.bootstrap.ConfigurationBuilderImpl; +import org.apache.cxf.jaxrs.bootstrap.InstanceImpl; import org.apache.cxf.jaxrs.utils.ResourceUtils; - - public class RuntimeDelegateImpl extends RuntimeDelegate { - protected Map, HeaderDelegate> headerProviders - = new HashMap<>(); + protected Map, HeaderDelegate> headerProviders = new HashMap<>(); public RuntimeDelegateImpl() { headerProviders.put(MediaType.class, new MediaTypeHeaderProvider()); @@ -118,12 +131,71 @@ public T createEndpoint(Application app, Class endpointType) return endpointType.cast(server); } - - @Override public Link.Builder createLinkBuilder() { return new LinkBuilderImpl(); } + @Override + public Builder createConfigurationBuilder() { + return new ConfigurationBuilderImpl(); + } + + @Override + public CompletionStage bootstrap(Application application, Configuration configuration) { + final JAXRSServerFactoryBean factory = ResourceUtils.createApplication(application, false, false, false, null); + final URI address = configuration.baseUriBuilder().path(factory.getAddress()).build(); + factory.setAddress(address.toString()); + factory.setStart(true); + + if ("https".equalsIgnoreCase(configuration.protocol())) { + final TLSServerParameters parameters = new TLSServerParameters(); + + final SSLClientAuthentication sslClientAuthentication = configuration.sslClientAuthentication(); + if (sslClientAuthentication != null) { + final ClientAuthentication clientAuthentication = new ClientAuthentication(); + + if (sslClientAuthentication == SSLClientAuthentication.OPTIONAL) { + clientAuthentication.setWant(true); + } else if (sslClientAuthentication == SSLClientAuthentication.MANDATORY) { + clientAuthentication.setRequired(true); + } + + parameters.setClientAuthentication(clientAuthentication); + } + + final SSLContext sslContext = configuration.sslContext(); + if (sslContext != null) { + parameters.setSecureSocketProtocol(sslContext.getProtocol()); + } + + // TODO: Support SSL context propagation down to HTTP engine + } + + return CompletableFuture + .supplyAsync(() -> factory.create()) + .thenApply(s -> new InstanceImpl(s, configuration)); + } + + @Override + public CompletionStage bootstrap(Class clazz, Configuration configuration) { + try { + final Application application = AccessController.doPrivileged( + new PrivilegedExceptionAction() { + @Override + public Application run() throws Exception { + return clazz.getDeclaredConstructor().newInstance(); + } + } + ); + return bootstrap(application, configuration); + } catch (final Exception ex) { + return CompletableFuture.failedStage(ex); + } + } + @Override + public EntityPart.Builder createEntityPartBuilder(String partName) throws IllegalArgumentException { + return new EntityPartBuilderImpl(partName); + } } diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletRequest.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletRequest.java index e8174623dbf..6859c3406a2 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletRequest.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletRequest.java @@ -28,9 +28,11 @@ import java.util.Locale; import java.util.Map; + import jakarta.servlet.AsyncContext; import jakarta.servlet.DispatcherType; import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletConnection; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; import jakarta.servlet.ServletInputStream; @@ -134,11 +136,6 @@ public boolean isRequestedSessionIdFromURL() { return get().isRequestedSessionIdFromURL(); } - @SuppressWarnings("deprecation") - public boolean isRequestedSessionIdFromUrl() { - return get().isRequestedSessionIdFromUrl(); - } - public boolean isRequestedSessionIdValid() { return get().isRequestedSessionIdValid(); } @@ -215,11 +212,6 @@ public BufferedReader getReader() throws IOException { return get().getReader(); } - @SuppressWarnings("deprecation") - public String getRealPath(String path) { - return get().getRealPath(path); - } - public String getRemoteAddr() { return get().getRemoteAddr(); } @@ -326,4 +318,19 @@ public T upgrade(Class handlerClass) throws IO ServletException { return get().upgrade(handlerClass); } + @Override + public String getRequestId() { + return get().getRequestId(); + } + + @Override + public ServletConnection getServletConnection() { + return get().getServletConnection(); + } + + @Override + public String getProtocolRequestId() { + return get().getProtocolRequestId(); + } + } diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletResponse.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletResponse.java index 9cf2f944ad5..0b886b1aa6b 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletResponse.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalHttpServletResponse.java @@ -58,20 +58,10 @@ public String encodeRedirectURL(String url) { return get().encodeRedirectURL(url); } - @SuppressWarnings("deprecation") - public String encodeRedirectUrl(String url) { - return get().encodeRedirectUrl(url); - } - public String encodeURL(String url) { return get().encodeURL(url); } - @SuppressWarnings("deprecation") - public String encodeUrl(String url) { - return get().encodeUrl(url); - } - public void sendError(int sc) throws IOException { get().sendError(sc); } @@ -102,11 +92,6 @@ public void setStatus(int sc) { } - @SuppressWarnings("deprecation") - public void setStatus(int sc, String sm) { - get().setStatus(sc, sm); - } - public void flushBuffer() throws IOException { get().flushBuffer(); diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalServletContext.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalServletContext.java index 5681cc15ea3..5e204915332 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalServletContext.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalServletContext.java @@ -110,34 +110,14 @@ public String getServerInfo() { return get().getServerInfo(); } - @SuppressWarnings("deprecation") - public Servlet getServlet(String name) throws ServletException { - return get().getServlet(name); - } - public String getServletContextName() { return get().getServletContextName(); } - @SuppressWarnings("deprecation") - public Enumeration getServletNames() { - return get().getServletNames(); - } - - @SuppressWarnings("deprecation") - public Enumeration getServlets() { - return get().getServlets(); - } - public void log(String msg) { get().log(msg); } - @SuppressWarnings("deprecation") - public void log(Exception exception, String msg) { - get().log(exception, msg); - } - public void log(String message, Throwable throwable) { get().log(message, throwable); } diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java index 5f7bb6791f7..800335cd6c1 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java @@ -22,7 +22,9 @@ import java.io.OutputStream; import java.lang.annotation.Annotation; import java.lang.reflect.Type; +import java.util.Enumeration; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.ResourceBundle; @@ -279,6 +281,30 @@ public String getParameter(String name) { public Map getParameterMap() { return params; } + + @Override + public Enumeration getParameterNames() { + + final Iterator it = params.keySet().iterator(); + return new Enumeration() { + + @Override + public boolean hasMoreElements() { + return it.hasNext(); + } + + @Override + public String nextElement() { + return it.next(); + } + + }; + } + + @Override + public String[] getParameterValues(String name) { + return params.get(name); + } } diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java index e5cdde4feb4..083871e7649 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java @@ -80,6 +80,8 @@ public final class HttpUtils { private static final String REQUEST_PATH_TO_MATCH_SLASH = "path_to_match_slash"; private static final String HTTP_SCHEME = "http"; + private static final String WS_SCHEME = "ws"; + private static final String WSS_SCHEME = "wss"; private static final String LOCAL_HOST_IP_ADDRESS = "127.0.0.1"; private static final String REPLACE_LOOPBACK_PROPERTY = "replace.loopback.address.with.localhost"; private static final String LOCAL_HOST_IP_ADDRESS_SCHEME = "://" + LOCAL_HOST_IP_ADDRESS; @@ -482,6 +484,8 @@ public static String getBaseAddress(Message m) { // RFC-3986: the scheme and host are case-insensitive and therefore should // be normalized to lowercase. if (scheme != null && !scheme.toLowerCase().startsWith(HttpUtils.HTTP_SCHEME) + && !scheme.toLowerCase().startsWith(HttpUtils.WS_SCHEME) + && !scheme.toLowerCase().startsWith(HttpUtils.WSS_SCHEME) && HttpUtils.isHttpRequest(m)) { path = HttpUtils.toAbsoluteUri(path, m).getRawPath(); } @@ -553,6 +557,7 @@ public static String getPathToMatch(String path, String address, boolean addSlas if (ind == 0) { path = path.substring(address.length()); } + if (addSlash && !path.startsWith("/")) { path = "/" + path; } diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java index 5017d1eeb6f..3cb011c9225 100644 --- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java +++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java @@ -33,6 +33,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import java.util.concurrent.CompletionStage; import javax.xml.transform.Source; import javax.xml.transform.Transformer; @@ -43,9 +44,12 @@ import jakarta.activation.DataSource; import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.SeBootstrap.Configuration; +import jakarta.ws.rs.SeBootstrap.Instance; import jakarta.ws.rs.WebApplicationException; import jakarta.ws.rs.client.ResponseProcessingException; import jakarta.ws.rs.core.Application; +import jakarta.ws.rs.core.EntityPart; import jakarta.ws.rs.core.EntityTag; import jakarta.ws.rs.core.GenericEntity; import jakarta.ws.rs.core.HttpHeaders; @@ -67,6 +71,7 @@ import jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate; import org.apache.cxf.endpoint.Endpoint; import org.apache.cxf.helpers.IOUtils; +import org.apache.cxf.jaxrs.bootstrap.ConfigurationBuilderImpl; import org.apache.cxf.jaxrs.provider.ProviderFactory; import org.apache.cxf.jaxrs.provider.ServerProviderFactory; import org.apache.cxf.jaxrs.resources.Book; @@ -844,6 +849,26 @@ public static final void assertNotStringBeanRuntimeDelegate(RuntimeDelegate dele public Builder createLinkBuilder() { return original.createLinkBuilder(); } + + @Override + public jakarta.ws.rs.SeBootstrap.Configuration.Builder createConfigurationBuilder() { + return new ConfigurationBuilderImpl(); + } + + @Override + public CompletionStage bootstrap(Application application, Configuration configuration) { + return original.bootstrap(application, configuration); + } + + @Override + public CompletionStage bootstrap(Class clazz, Configuration configuration) { + return original.bootstrap(clazz, configuration); + } + + @Override + public EntityPart.Builder createEntityPartBuilder(String partName) throws IllegalArgumentException { + return original.createEntityPartBuilder(partName); + } } public static class StringBeanHeaderDelegate implements HeaderDelegate { diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/RetryAfterHeaderProviderTest.java b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/RetryAfterHeaderProviderTest.java index c49730011f0..e7dd914abb4 100644 --- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/RetryAfterHeaderProviderTest.java +++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/RetryAfterHeaderProviderTest.java @@ -19,6 +19,8 @@ package org.apache.cxf.jaxrs.impl; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.Clock; import java.time.Duration; import java.time.OffsetDateTime; @@ -26,6 +28,7 @@ import java.time.ZoneOffset; import java.util.Arrays; import java.util.Collection; +import java.util.Locale; import java.util.TimeZone; import org.junit.Test; @@ -50,9 +53,7 @@ public RetryAfterHeaderProviderTest(String date, Duration delay) { } @Parameterized.Parameters(name = "retry after {0} is duration of {1} from 2000-01-01 00:00:00.000") - public static Collection data() { - final int offset = TimeZone.getDefault().getRawOffset() / 1000; - + public static Collection data() throws ParseException { return Arrays.asList( new Object[] {"", Duration.ZERO}, new Object[] {null, Duration.ZERO}, @@ -61,8 +62,14 @@ public static Collection data() { new Object[] {"Sun, 03 Nov 2002 08:49:37 EST", Duration.ofSeconds(89646577)}, new Object[] {"Sat, 01 Jan 2000 01:00:00 GMT", Duration.ofSeconds(3600)}, new Object[] {"Sunday, 03-Nov-02 08:49:37 GMT", Duration.ofSeconds(89628577)}, - new Object[] {"Sun Nov 3 08:49:37 2002", Duration.ofSeconds(89628577 - offset)}, - new Object[] {"Sun Nov 03 08:49:37 2002", Duration.ofSeconds(89628577 - offset)}, + new Object[] {"Sun Nov 3 08:49:37 2002", Duration.ofSeconds(89628577 - TimeZone.getDefault() + .getOffset( + new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy", Locale.US) + .parse("Sun Nov 3 08:49:37 2002").getTime()) / 1000)}, + new Object[] {"Sun Nov 03 08:49:37 2002", Duration.ofSeconds(89628577 - TimeZone.getDefault() + .getOffset( + new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy", Locale.US) + .parse("Sun Nov 03 08:49:37 2002").getTime()) / 1000)}, new Object[] {"Sun, 06 Nov 1994 08:49:37 EST", Duration.ZERO} ); diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java index d2c9e14a125..40242c0c75a 100644 --- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java +++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java @@ -1453,8 +1453,7 @@ public Map getProperties() { return props; } - @SuppressWarnings("rawtypes") - public A getAdapter(Class type) { + public > A getAdapter(Class type) { return null; } @@ -1513,13 +1512,11 @@ public void marshal(Object jaxbElement, XMLEventWriter writer) throws JAXBExcept } - @SuppressWarnings("rawtypes") - public void setAdapter(XmlAdapter adapter) { + public > void setAdapter(A adapter) { } - @SuppressWarnings("rawtypes") - public void setAdapter(Class type, A adapter) { + public > void setAdapter(Class type, A adapter) { } diff --git a/rt/frontend/jaxws/pom.xml b/rt/frontend/jaxws/pom.xml index 501e0b45228..1dd0c482616 100644 --- a/rt/frontend/jaxws/pom.xml +++ b/rt/frontend/jaxws/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/transport/http_jaxws_spi/HttpServletRequestAdapter.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/transport/http_jaxws_spi/HttpServletRequestAdapter.java index 74af87b4161..45e6c790e77 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/transport/http_jaxws_spi/HttpServletRequestAdapter.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/transport/http_jaxws_spi/HttpServletRequestAdapter.java @@ -38,6 +38,7 @@ import jakarta.servlet.DispatcherType; import jakarta.servlet.ReadListener; import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletConnection; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; import jakarta.servlet.ServletInputStream; @@ -452,4 +453,19 @@ public String changeSessionId() { public T upgrade(Class cls) throws IOException, ServletException { throw new UnsupportedOperationException(); } + + @Override + public String getRequestId() { + throw new UnsupportedOperationException(); + } + + @Override + public String getProtocolRequestId() { + throw new UnsupportedOperationException(); + } + + @Override + public ServletConnection getServletConnection() { + throw new UnsupportedOperationException(); + } } diff --git a/rt/frontend/js/pom.xml b/rt/frontend/js/pom.xml index 9574becbe72..4c348b725b9 100644 --- a/rt/frontend/js/pom.xml +++ b/rt/frontend/js/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/frontend/pom.xml b/rt/frontend/pom.xml index 288d82a0d63..d9944b8dbbf 100644 --- a/rt/frontend/pom.xml +++ b/rt/frontend/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT simple diff --git a/rt/frontend/simple/pom.xml b/rt/frontend/simple/pom.xml index 66fcc179a60..676cdc38bcf 100644 --- a/rt/frontend/simple/pom.xml +++ b/rt/frontend/simple/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/javascript/javascript-rt/pom.xml b/rt/javascript/javascript-rt/pom.xml index 5b7db8463f5..1a2a011d8f4 100644 --- a/rt/javascript/javascript-rt/pom.xml +++ b/rt/javascript/javascript-rt/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-runtime-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.js diff --git a/rt/javascript/javascript-tests/pom.xml b/rt/javascript/javascript-tests/pom.xml index fa0fd011aac..e6d2bd23df0 100644 --- a/rt/javascript/javascript-tests/pom.xml +++ b/rt/javascript/javascript-tests/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-runtime-javascript - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT org.apache.cxf.js.tests diff --git a/rt/javascript/javascript-tests/src/test/resources/XMLHttpRequestTestBeans.xml b/rt/javascript/javascript-tests/src/test/resources/XMLHttpRequestTestBeans.xml index f0a77cd0431..1a7b7e86a94 100644 --- a/rt/javascript/javascript-tests/src/test/resources/XMLHttpRequestTestBeans.xml +++ b/rt/javascript/javascript-tests/src/test/resources/XMLHttpRequestTestBeans.xml @@ -37,22 +37,14 @@ - - - - text/html; charset="utf-8" - - - - - \ No newline at end of file + diff --git a/rt/javascript/pom.xml b/rt/javascript/pom.xml index 821263b3d0b..5cdc7f77e68 100644 --- a/rt/javascript/pom.xml +++ b/rt/javascript/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml diff --git a/rt/management/pom.xml b/rt/management/pom.xml index 917e22ef379..8eae305f44b 100644 --- a/rt/management/pom.xml +++ b/rt/management/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml diff --git a/rt/pom.xml b/rt/pom.xml index 3c8df0074f1..ea69d4c9219 100644 --- a/rt/pom.xml +++ b/rt/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT wsdl diff --git a/rt/rs/client/pom.xml b/rt/rs/client/pom.xml index 907b9ec1df2..5e7c44f4889 100644 --- a/rt/rs/client/pom.xml +++ b/rt/rs/client/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -94,11 +94,6 @@ provided true - - cglib - cglib-nodep - test - ${cxf.servlet-api.group} ${cxf.servlet-api.artifact} diff --git a/rt/rs/description-common-openapi/pom.xml b/rt/rs/description-common-openapi/pom.xml index 08acd173daf..73708f2ecd6 100644 --- a/rt/rs/description-common-openapi/pom.xml +++ b/rt/rs/description-common-openapi/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/rs/description-microprofile-openapi/pom.xml b/rt/rs/description-microprofile-openapi/pom.xml index 3426abb0709..67b3af20ffb 100644 --- a/rt/rs/description-microprofile-openapi/pom.xml +++ b/rt/rs/description-microprofile-openapi/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/rs/description-openapi-v3/pom.xml b/rt/rs/description-openapi-v3/pom.xml index f03e11a03ea..3332f5bef64 100644 --- a/rt/rs/description-openapi-v3/pom.xml +++ b/rt/rs/description-openapi-v3/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/rs/description-swagger-ui/pom.xml b/rt/rs/description-swagger-ui/pom.xml index 2a363c1bae2..ddf8a44667c 100644 --- a/rt/rs/description-swagger-ui/pom.xml +++ b/rt/rs/description-swagger-ui/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/rs/description/pom.xml b/rt/rs/description/pom.xml index 168d7de8888..3d583270530 100644 --- a/rt/rs/description/pom.xml +++ b/rt/rs/description/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/rs/extensions/json-basic/pom.xml b/rt/rs/extensions/json-basic/pom.xml index f22c9e6c1b6..7749718be60 100644 --- a/rt/rs/extensions/json-basic/pom.xml +++ b/rt/rs/extensions/json-basic/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/extensions/providers/pom.xml b/rt/rs/extensions/providers/pom.xml index 04f8e3a4b6b..f9df2bab2a6 100644 --- a/rt/rs/extensions/providers/pom.xml +++ b/rt/rs/extensions/providers/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml @@ -135,22 +135,14 @@ ${cxf.mockito.version} test - - org.apache.johnzon - johnzon-jsonb - jakarta - test - - - org.apache.johnzon - johnzon-core - jakarta + + org.eclipse.parsson + parsson test - org.apache.johnzon - johnzon-mapper - jakarta + org.eclipse + yasson test 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 61b4cae86f1..f8be63e7a5c 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 @@ -29,6 +29,7 @@ import jakarta.json.JsonException; import jakarta.json.bind.Jsonb; import jakarta.json.bind.JsonbBuilder; +import jakarta.json.bind.JsonbException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.Produces; import jakarta.ws.rs.WebApplicationException; @@ -101,7 +102,7 @@ public Object readFrom(Class type, Type genericType, Annotation[] annota } else { return jsonbFor(type).fromJson(entityStream, genericType); } - } catch (JsonException ex) { + } catch (JsonException | JsonbException ex) { throw ExceptionUtils.toBadRequestException(ex, null); } } diff --git a/rt/rs/extensions/reactivestreams/pom.xml b/rt/rs/extensions/reactivestreams/pom.xml index 19d785a5797..f3d554728ee 100644 --- a/rt/rs/extensions/reactivestreams/pom.xml +++ b/rt/rs/extensions/reactivestreams/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/extensions/reactor/pom.xml b/rt/rs/extensions/reactor/pom.xml index 1e07de085d5..e0ef029e14d 100644 --- a/rt/rs/extensions/reactor/pom.xml +++ b/rt/rs/extensions/reactor/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/extensions/rx/pom.xml b/rt/rs/extensions/rx/pom.xml index 2f08f28e31f..107c8895b44 100644 --- a/rt/rs/extensions/rx/pom.xml +++ b/rt/rs/extensions/rx/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/extensions/rx2/pom.xml b/rt/rs/extensions/rx2/pom.xml index c3731d258e9..a90ab013618 100644 --- a/rt/rs/extensions/rx2/pom.xml +++ b/rt/rs/extensions/rx2/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/extensions/rx3/pom.xml b/rt/rs/extensions/rx3/pom.xml index e8b14b64ab6..7b878b8a9a1 100644 --- a/rt/rs/extensions/rx3/pom.xml +++ b/rt/rs/extensions/rx3/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/extensions/search/pom.xml b/rt/rs/extensions/search/pom.xml index 9d59da78a1a..0a515efd748 100644 --- a/rt/rs/extensions/search/pom.xml +++ b/rt/rs/extensions/search/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/http-sci/pom.xml b/rt/rs/http-sci/pom.xml index 1298bba8b72..eec1f1a1ccf 100644 --- a/rt/rs/http-sci/pom.xml +++ b/rt/rs/http-sci/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/rs/microprofile-client/pom.xml b/rt/rs/microprofile-client/pom.xml index 00745c47c81..b38b088f4a1 100644 --- a/rt/rs/microprofile-client/pom.xml +++ b/rt/rs/microprofile-client/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -95,6 +95,16 @@ cxf-rt-rs-extension-providers ${project.version} + + jakarta.inject + jakarta.inject-api + ${cxf.jakarta.injectapi.version} + + + jakarta.interceptor + jakarta.interceptor-api + ${cxf.jakarta.interceptorapi.version} + jakarta.json jakarta.json-api @@ -136,11 +146,6 @@ provided true - - cglib - cglib-nodep - test - ${cxf.servlet-api.group} ${cxf.servlet-api.artifact} @@ -172,7 +177,7 @@ org.wiremock - wiremock + wiremock-standalone ${cxf.wiremock.version} test @@ -180,6 +185,10 @@ org.xmlunit xmlunit-core + + org.eclipse.jetty.* + * + diff --git a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/cdi/RestClientBean.java b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/cdi/RestClientBean.java index 8b9fbf7a7af..f6f87f2a006 100644 --- a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/cdi/RestClientBean.java +++ b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/cdi/RestClientBean.java @@ -107,11 +107,6 @@ public Set getInjectionPoints() { return Collections.emptySet(); } - @Override - public boolean isNullable() { - return false; - } - @Override public Object create(CreationalContext creationalContext) { CxfTypeSafeClientBuilder builder = new CxfTypeSafeClientBuilder(); diff --git a/rt/rs/pom.xml b/rt/rs/pom.xml index 016a778b1b5..4ad5e794ac0 100644 --- a/rt/rs/pom.xml +++ b/rt/rs/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT client diff --git a/rt/rs/security/cors/pom.xml b/rt/rs/security/cors/pom.xml index ae20216bfed..25caee6890b 100644 --- a/rt/rs/security/cors/pom.xml +++ b/rt/rs/security/cors/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/security/http-signature/pom.xml b/rt/rs/security/http-signature/pom.xml index ebd939da9a1..a9457654c76 100644 --- a/rt/rs/security/http-signature/pom.xml +++ b/rt/rs/security/http-signature/pom.xml @@ -29,7 +29,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/security/jose-parent/jose-jaxrs/pom.xml b/rt/rs/security/jose-parent/jose-jaxrs/pom.xml index 6e383160e7a..d841b999c29 100644 --- a/rt/rs/security/jose-parent/jose-jaxrs/pom.xml +++ b/rt/rs/security/jose-parent/jose-jaxrs/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../../parent/pom.xml diff --git a/rt/rs/security/jose-parent/jose/pom.xml b/rt/rs/security/jose-parent/jose/pom.xml index 29f54f3efd0..42a6562b53e 100644 --- a/rt/rs/security/jose-parent/jose/pom.xml +++ b/rt/rs/security/jose-parent/jose/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../../parent/pom.xml diff --git a/rt/rs/security/jose-parent/pom.xml b/rt/rs/security/jose-parent/pom.xml index 8dc12ee4626..4b6487ac531 100644 --- a/rt/rs/security/jose-parent/pom.xml +++ b/rt/rs/security/jose-parent/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt-rs-security - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT jose diff --git a/rt/rs/security/oauth-parent/oauth2-saml/pom.xml b/rt/rs/security/oauth-parent/oauth2-saml/pom.xml index ef8eeb24568..5905642f88b 100644 --- a/rt/rs/security/oauth-parent/oauth2-saml/pom.xml +++ b/rt/rs/security/oauth-parent/oauth2-saml/pom.xml @@ -27,7 +27,7 @@ cxf-rt-rs-security-oauth-parent org.apache.cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml diff --git a/rt/rs/security/oauth-parent/oauth2/pom.xml b/rt/rs/security/oauth-parent/oauth2/pom.xml index 9bd8ee78cb9..1f32110b2b2 100644 --- a/rt/rs/security/oauth-parent/oauth2/pom.xml +++ b/rt/rs/security/oauth-parent/oauth2/pom.xml @@ -27,7 +27,7 @@ cxf-rt-rs-security-oauth-parent org.apache.cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml @@ -270,4 +270,3 @@ - diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/filters/OAuthRequestFilter.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/filters/OAuthRequestFilter.java index 8549c46f5f3..f9595cfc387 100644 --- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/filters/OAuthRequestFilter.java +++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/filters/OAuthRequestFilter.java @@ -202,7 +202,15 @@ protected boolean checkRequestURI(HttpServletRequest request, List uris, if (uris.isEmpty()) { return true; } - String servletPath = request.getPathInfo(); + String servletPath = request.getServletPath(); + String pathInfo = request.getPathInfo(); + if (pathInfo == null) { + if (servletPath != null) { + servletPath += ""; + } + } else { + servletPath += pathInfo; + } if (servletPath == null) { servletPath = (String)m.get(Message.PATH_INFO); } diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/grants/code/JPACodeDataProvider.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/grants/code/JPACodeDataProvider.java index d4847ed645e..082cacf2bbc 100644 --- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/grants/code/JPACodeDataProvider.java +++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/grants/code/JPACodeDataProvider.java @@ -96,9 +96,11 @@ public ServerAuthorizationCodeGrant removeCodeGrant(final String code) throws OA } private ServerAuthorizationCodeGrant removeCodeGrant(String code, EntityManager em) throws OAuthServiceException { - ServerAuthorizationCodeGrant grant = em.getReference(ServerAuthorizationCodeGrant.class, code); + ServerAuthorizationCodeGrant grant = em.find(ServerAuthorizationCodeGrant.class, code); try { - em.remove(grant); + if (grant != null) { + em.remove(grant); + } } catch (EntityNotFoundException e) { } return grant; diff --git a/rt/rs/security/oauth-parent/pom.xml b/rt/rs/security/oauth-parent/pom.xml index 617668ddb70..f6fe1593bc8 100644 --- a/rt/rs/security/oauth-parent/pom.xml +++ b/rt/rs/security/oauth-parent/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/security/pom.xml b/rt/rs/security/pom.xml index 0d4aa9e1b3a..f78a9c02db4 100644 --- a/rt/rs/security/pom.xml +++ b/rt/rs/security/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt-rs - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT xml diff --git a/rt/rs/security/sso/oidc/pom.xml b/rt/rs/security/sso/oidc/pom.xml index f79fcafc104..4414fd18429 100644 --- a/rt/rs/security/sso/oidc/pom.xml +++ b/rt/rs/security/sso/oidc/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../../parent/pom.xml diff --git a/rt/rs/security/sso/saml/pom.xml b/rt/rs/security/sso/saml/pom.xml index ce222840f5b..20ef84efb2e 100644 --- a/rt/rs/security/sso/saml/pom.xml +++ b/rt/rs/security/sso/saml/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../../parent/pom.xml diff --git a/rt/rs/security/xml/pom.xml b/rt/rs/security/xml/pom.xml index f3969b3ebff..def00bded57 100644 --- a/rt/rs/security/xml/pom.xml +++ b/rt/rs/security/xml/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/rs/sse/pom.xml b/rt/rs/sse/pom.xml index 5c652670c85..c5eb649cecb 100644 --- a/rt/rs/sse/pom.xml +++ b/rt/rs/sse/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/rs/sse/src/main/java/org/apache/cxf/jaxrs/sse/SseBroadcasterImpl.java b/rt/rs/sse/src/main/java/org/apache/cxf/jaxrs/sse/SseBroadcasterImpl.java index 8a76609ed23..de1ea2dd70c 100644 --- a/rt/rs/sse/src/main/java/org/apache/cxf/jaxrs/sse/SseBroadcasterImpl.java +++ b/rt/rs/sse/src/main/java/org/apache/cxf/jaxrs/sse/SseBroadcasterImpl.java @@ -108,11 +108,7 @@ public void onError(BiConsumer exceptioner) { @Override public void close() { - if (closed.compareAndSet(false, true)) { - subscribers.forEach(subscriber -> { - subscriber.close(); - }); - } + close(true); } private void assertNotClosed() { @@ -120,4 +116,17 @@ private void assertNotClosed() { throw new IllegalStateException("The SSE broadcaster is already closed"); } } + + @Override + public void close(boolean cascading) { + if (!cascading) { + return; + } + + if (closed.compareAndSet(false, true)) { + subscribers.forEach(subscriber -> { + subscriber.close(); + }); + } + } } diff --git a/rt/security-saml/pom.xml b/rt/security-saml/pom.xml index 804591f622f..107b1c76e52 100644 --- a/rt/security-saml/pom.xml +++ b/rt/security-saml/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml diff --git a/rt/security/pom.xml b/rt/security/pom.xml index 471703b8f94..3b492866ce3 100644 --- a/rt/security/pom.xml +++ b/rt/security/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml diff --git a/rt/transports/http-hc/pom.xml b/rt/transports/http-hc/pom.xml index 6769aaa0ded..9bb09ca36fe 100644 --- a/rt/transports/http-hc/pom.xml +++ b/rt/transports/http-hc/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/transports/http-hc5/pom.xml b/rt/transports/http-hc5/pom.xml index b14a0c8815f..f4fdf52cc7e 100644 --- a/rt/transports/http-hc5/pom.xml +++ b/rt/transports/http-hc5/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/transports/http-jetty/pom.xml b/rt/transports/http-jetty/pom.xml index 2fddab0a3ab..dcc27d0ab13 100644 --- a/rt/transports/http-jetty/pom.xml +++ b/rt/transports/http-jetty/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -69,6 +69,14 @@ spring-context true + + org.eclipse.jetty + jetty-session + + + org.eclipse.jetty.ee10 + jetty-ee10-servlet + org.eclipse.jetty jetty-server @@ -96,7 +104,7 @@ org.eclipse.jetty.http2 - http2-server + jetty-http2-server true @@ -114,6 +122,10 @@ slf4j-api runtime + + ${cxf.servlet-api.group} + ${cxf.servlet-api.artifact} + junit junit diff --git a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyContextHandler.java b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyContextHandler.java deleted file mode 100644 index 94e96bce859..00000000000 --- a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyContextHandler.java +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.cxf.transport.http_jetty; - -import org.eclipse.jetty.server.handler.ContextHandler; - -/** - * The Jetty-specific ContextHandler - */ -class JettyContextHandler extends ContextHandler { - JettyContextHandler() { - super(null, null, null); - _scontext = new JettyContext(); - } - - class JettyContext extends Context { - @Override - public String getRequestCharacterEncoding() { - return getDefaultRequestCharacterEncoding(); - } - - @Override - public void setRequestCharacterEncoding(String encoding) { - if (!isStarting()) { - throw new IllegalStateException(); - } - - setDefaultRequestCharacterEncoding(encoding); - } - - @Override - public String getResponseCharacterEncoding() { - return getDefaultResponseCharacterEncoding(); - } - - @Override - public void setResponseCharacterEncoding(String encoding) { - if (!isStarting()) { - throw new IllegalStateException(); - } - - setDefaultResponseCharacterEncoding(encoding); - } - } -} diff --git a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java index f6a683d0858..cd4a8ca9f67 100644 --- a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java +++ b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java @@ -47,10 +47,7 @@ import org.apache.cxf.transport.https.CertConstraintsJaxBUtils; import org.apache.cxf.transport.servlet.ServletDestination; import org.apache.cxf.transports.http.configuration.HTTPServerPolicy; -import org.eclipse.jetty.server.HttpChannel; -import org.eclipse.jetty.server.HttpConnection; -import org.eclipse.jetty.server.HttpOutput; -import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.ee10.servlet.HttpOutput; public class JettyHTTPDestination extends ServletDestination { @@ -223,14 +220,11 @@ protected void doService(ServletContext context, if (context == null) { context = servletContext; } - Request baseRequest = (req instanceof Request) - ? (Request)req : getCurrentRequest(); - + HTTPServerPolicy sp = getServer(); if (sp.isSetRedirectURL()) { resp.sendRedirect(sp.getRedirectURL()); resp.flushBuffer(); - baseRequest.setHandled(true); return; } @@ -257,11 +251,7 @@ protected void invokeComplete(final ServletContext context, final HttpServletResponse resp, Message m) throws IOException { resp.flushBuffer(); - Request baseRequest = (req instanceof Request) - ? (Request)req : getCurrentRequest(); - if (baseRequest != null) { - baseRequest.setHandled(true); - } + super.invokeComplete(context, req, resp, m); } @@ -369,15 +359,5 @@ public ServerEngine getEngine() { protected Message retrieveFromContinuation(HttpServletRequest req) { return (Message)req.getAttribute(CXF_CONTINUATION_MESSAGE); } - private Request getCurrentRequest() { - try { - HttpConnection con = HttpConnection.getCurrentConnection(); - - HttpChannel channel = con.getHttpChannel(); - return channel.getRequest(); - } catch (Throwable t) { - // - } - return null; - } + } diff --git a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java index 2be0114cc1c..ecd3c77de93 100644 --- a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java +++ b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java @@ -18,19 +18,22 @@ */ package org.apache.cxf.transport.http_jetty; + import java.io.IOException; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.apache.cxf.Bus; import org.apache.cxf.transport.http.HttpUrlUtil; -import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.server.handler.AbstractHandler; -import org.eclipse.jetty.server.handler.ContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletContextRequest; + + -public class JettyHTTPHandler extends AbstractHandler { +public class JettyHTTPHandler extends HttpServlet { private static final String METHOD_TRACE = "TRACE"; protected JettyHTTPDestination jettyHTTPDestination; @@ -65,10 +68,24 @@ public String getName() { return urlName; } - public void handle(String target, Request baseRequest, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException { + + public ServletContextHandler createContextHandler() { + return new ServletContextHandler(); + } + + public Bus getBus() { + return jettyHTTPDestination != null ? jettyHTTPDestination.getBus() : bus; + } + + + + + + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + String target = ServletContextRequest.getServletContextRequest(request).getDecodedPathInContext(); if (request.getMethod().equals(METHOD_TRACE)) { - baseRequest.setHandled(true); response.setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED); } else { if (contextMatchExact) { @@ -83,12 +100,5 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques } } - - public ContextHandler createContextHandler() { - return new JettyContextHandler(); - } - public Bus getBus() { - return jettyHTTPDestination != null ? jettyHTTPDestination.getBus() : bus; - } } diff --git a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java index 1e4cb9fbd9a..aa992226819 100644 --- a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java +++ b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java @@ -21,13 +21,19 @@ import java.io.Closeable; import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; import java.io.UncheckedIOException; -import java.io.Writer; import java.lang.reflect.Method; import java.net.URL; +import java.nio.BufferOverflowException; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -37,10 +43,9 @@ import jakarta.annotation.PostConstruct; import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.Servlet; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import org.apache.cxf.Bus; import org.apache.cxf.common.i18n.Message; import org.apache.cxf.common.logging.LogUtils; @@ -56,13 +61,26 @@ import org.apache.cxf.transport.HttpUriMapper; import org.apache.cxf.transport.http.HttpServerEngineSupport; import org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHandler; +import org.eclipse.jetty.ee10.servlet.ServletHandler.Default404Servlet; +import org.eclipse.jetty.ee10.servlet.ServletHandler.MappedServlet; +import org.eclipse.jetty.ee10.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.ServletMapping; +import org.eclipse.jetty.ee10.servlet.SessionHandler; import org.eclipse.jetty.http.BadMessageException; import org.eclipse.jetty.http.HttpFields.Mutable; import org.eclipse.jetty.http.HttpStatus; +import org.eclipse.jetty.http.MimeTypes.Type; +import org.eclipse.jetty.http.UriCompliance; +import org.eclipse.jetty.http.pathmap.MatchedResource; import org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory; import org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory; +import org.eclipse.jetty.io.ByteBufferOutputStream; import org.eclipse.jetty.io.Connection; import org.eclipse.jetty.io.EndPoint; +import org.eclipse.jetty.io.Retainable; +import org.eclipse.jetty.io.RetainableByteBuffer; import org.eclipse.jetty.security.SecurityHandler; import org.eclipse.jetty.server.AbstractConnector; import org.eclipse.jetty.server.ConnectionFactory; @@ -76,12 +94,10 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.SslConnectionFactory; -import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.ErrorHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.server.session.SessionHandler; +import org.eclipse.jetty.util.Callback; import org.eclipse.jetty.util.component.Container; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.util.thread.QueuedThreadPool; @@ -125,6 +141,7 @@ public class JettyHTTPServerEngine implements ServerEngine, HttpServerEngineSupp private Server server; private Connector connector; private List handlers; + private Map contextHandlerMap = new HashMap(); private ContextHandlerCollection contexts; private Container.Listener mBeanContainer; private SessionHandler sessionHandler; @@ -361,36 +378,21 @@ private Server createServer() { // need an error handler that won't leak information about the exception // back to the client. - ErrorHandler eh = new ErrorHandler() { - public void handle(String target, Request baseRequest, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException { - String msg = (String)request.getAttribute(RequestDispatcher.ERROR_MESSAGE); - if (StringUtils.isEmpty(msg) || msg.contains("org.apache.cxf.interceptor.Fault")) { - msg = HttpStatus.getMessage(response.getStatus()); - request.setAttribute(RequestDispatcher.ERROR_MESSAGE, msg); - } - if (response instanceof Response) { - ((Response)response).setStatusWithReason(response.getStatus(), msg); - } - super.handle(target, baseRequest, request, response); - } - - protected void writeErrorPage(HttpServletRequest request, Writer writer, int code, String message, - boolean showStacks) throws IOException { - super.writeErrorPage(request, writer, code, message, false); - } - }; - s.addBean(eh); + ErrorHandler eh = new CxfJettyErrorHandler(); + s.setErrorHandler(eh); return s; } + /** * Register a servant. * * @param url the URL associated with the servant * @param handler notified on incoming HTTP requests */ + //CHECKSTYLE:OFF public synchronized void addServant(URL url, JettyHTTPHandler handler) { + //CHECKSTYLE:ON if (shouldCheckUrl(handler.getBus())) { checkRegistedContext(url); } @@ -422,16 +424,16 @@ public synchronized void addServant(URL url, JettyHTTPHandler handler) { } Handler existingHandler = server.getHandler(); - HandlerCollection handlerCollection = null; - boolean existingHandlerCollection = existingHandler instanceof HandlerCollection; + Handler.Collection handlerCollection = null; + boolean existingHandlerCollection = existingHandler instanceof Handler.Collection; if (existingHandlerCollection) { - handlerCollection = (HandlerCollection) existingHandler; + handlerCollection = (Handler.Collection) existingHandler; } if (!existingHandlerCollection && (existingHandler != null || numberOfHandlers > 1)) { - handlerCollection = new HandlerCollection(); + handlerCollection = new Handler.Sequence(new ArrayList()); if (existingHandler != null) { handlerCollection.addHandler(existingHandler); } @@ -456,10 +458,22 @@ public synchronized void addServant(URL url, JettyHTTPHandler handler) { //then it need be on top of JettyHTTPHandler //set JettyHTTPHandler as inner handler if //inner handler is null - ((SecurityHandler)h).setHandler(handler); securityHandler = (SecurityHandler)h; } else { - handlerCollection.addHandler(h); + if (!(h instanceof JettyHTTPHandler)) { + //JettyHTTPHandler is a ServletHandler + //and must be added with ServletContext Handler later + handlerCollection.addHandler(h); + } else { + String contextName = HttpUriMapper.getContextName(url.getPath()); + + ServletContextHandler context = null; + context = ((JettyHTTPHandler)h).createContextHandler(); + context.setContextPath(contextName); + context.setHandler(h); + contexts.addHandler(context); + + } } } } @@ -469,7 +483,6 @@ public synchronized void addServant(URL url, JettyHTTPHandler handler) { * Which in turn implies that there can't be a 'defaultHander' to deal with. */ if (handlerCollection != null) { - handlerCollection.addHandler(contexts); if (defaultHandler != null) { handlerCollection.addHandler(defaultHandler); } @@ -494,40 +507,113 @@ public synchronized void addServant(URL url, JettyHTTPHandler handler) { } String contextName = HttpUriMapper.getContextName(url.getPath()); - if (contextName.isEmpty()) { - contextName = "/"; + if (contextName.length() == 0) { + contextName = "/"; //ensure it is mapped as root context, + } + String path = HttpUriMapper.getResourceBase(url.getPath()); + if (!path.equals("/")) { + //add /* to enable wild match + path = path + "/*"; + } + if (contextName.endsWith("/*")) { + //This is how Jetty ServletContextHandler handle the contextName + //without suffix "/", the "*" suffix will be removed + contextName = contextName + "/"; } - ContextHandler context = handler.createContextHandler(); - context.setContextPath(contextName); - // bind the jetty http handler with the context handler - if (isSessionSupport) { - SessionHandler sh = configureSession(); - - if (securityHandler != null) { - //use the securityHander which already wrap the jetty http handler - sh.setHandler(securityHandler); + ServletContextHandler context = null; + + if (this.contextHandlerMap.containsKey(contextName) + && this.contextHandlerMap.get(contextName).getServletHandler().getMatchedServlet(path) != null) { + context = this.contextHandlerMap.get(contextName); + ServletHandler servletHandler = context.getServletHandler(); + MatchedResource mappedServlet = servletHandler.getMatchedServlet(path); + ServletHolder servletHolder = mappedServlet.getResource().getServletHolder(); + Servlet servlet = null; + try { + servlet = servletHolder.getServlet(); + } catch (ServletException ex) { + LOG.log(Level.WARNING, "ADD_HANDLER_FAILED_MSG", new Object[] { + ex.getMessage() + }); + } + if (servlet != null && servlet instanceof JettyHTTPHandler && servletHolder.isStarted()) { + try { + + // the servlet exist with the same path + // just update the servlet + context.stop(); + + servletHolder.setServlet(handler); + servletHolder.stop(); + servletHolder.start(); + servletHolder.initialize(); + context.start(); + + } catch (Exception ex) { + + LOG.log(Level.WARNING, "ADD_HANDLER_FAILED_MSG", new Object[] { + ex.getMessage() + }); + } + } else { - sh.setHandler(handler); + try { + + context.addServlet(handler, path); + } catch (Exception ex) { + LOG.log(Level.WARNING, "ADD_HANDLER_FAILED_MSG", new Object[] { + ex.getMessage() + + }); + } } - context.setHandler(sh); + } else { - // otherwise, just the one. - if (securityHandler != null) { - //use the securityHander which already wrap the jetty http handler - context.setHandler(securityHandler); + context = handler.createContextHandler(); + context.setContextPath(contextName); + context.addServlet(handler, path); + contexts.addHandler(context); + this.contextHandlerMap.put(contextName, context); + // bind the jetty http handler with the context handler + if (isSessionSupport) { + SessionHandler sh = configureSession(); + + if (securityHandler != null) { + //use the securityHander which already wrap the jetty http handler + sh.setHandler(securityHandler); + } + context.setSessionHandler(sh); } else { - context.setHandler(handler); + // otherwise, just the one. + if (securityHandler != null) { + //use the securityHander which already wrap the jetty http handler + context.setSecurityHandler(securityHandler); + } + } + + } + + + if (server.getHandler() != contexts) { + for (Handler h : contexts.getHandlers()) { + ((Handler.Collection)server.getHandler()).addHandler(h); + try { + h.start(); + } catch (Exception ex) { + LOG.log(Level.WARNING, "ADD_HANDLER_FAILED_MSG", new Object[] {ex.getMessage()}); + } } } - contexts.addHandler(context); ServletContext sc = context.getServletContext(); handler.setServletContext(sc); - final String smap = getHandlerName(url, context); + String smap = getHandlerName(url, context); + handler.setName(smap); + - if (contexts.isStarted()) { + if (contexts.isStarted() && context != null && !context.isStarted()) { try { context.start(); } catch (Exception ex) { @@ -539,6 +625,7 @@ public synchronized void addServant(URL url, JettyHTTPHandler handler) { ++servantCount; } + private SessionHandler configureSession() { // If we have sessions, we need two handlers. SessionHandler sh = null; @@ -578,7 +665,7 @@ private SessionHandler configureSession() { return sh; } - private String getHandlerName(URL url, ContextHandler context) { + private String getHandlerName(URL url, ServletContextHandler context) { String contextPath = context.getContextPath(); String path = url.getPath(); if (path.startsWith(contextPath)) { @@ -665,6 +752,7 @@ public void checkKeyStore() { result.setHost(hosto); } result.setReuseAddress(isReuseAddress()); + } catch (RuntimeException rex) { throw rex; } catch (Exception ex) { @@ -679,6 +767,14 @@ AbstractConnector createConnectorJetty(SslContextFactory.Server sslcf, String ho final AbstractConnector result; try { HttpConfiguration httpConfig = new HttpConfiguration(); + /** + * LEGACY compliance mode that models Jetty-9.4 behavior + * by allowing {@link Violation#AMBIGUOUS_PATH_SEGMENT}, + * {@link Violation#AMBIGUOUS_EMPTY_SEGMENT}, {@link Violation#AMBIGUOUS_PATH_SEPARATOR}, + * {@link Violation#AMBIGUOUS_PATH_ENCODING} + * and {@link Violation#UTF16_ENCODINGS}. + */ + httpConfig.setUriCompliance(UriCompliance.LEGACY); httpConfig.setSendServerVersion(getSendServerVersion()); HttpConnectionFactory httpFactory = new HttpConnectionFactory(httpConfig); @@ -731,7 +827,7 @@ public Connection upgradeConnection(Connector c, EndPoint endPoint, Mutable response101) throws BadMessageException { if (request.getContentLength() > 0 - || request.getFields().contains("Transfer-Encoding")) { + || request.getHttpFields().contains("Transfer-Encoding")) { // if there is a body, we cannot upgrade return null; } @@ -937,25 +1033,76 @@ private ThreadPool getThreadPool() { */ public synchronized void removeServant(URL url) { - final String contextName = HttpUriMapper.getContextName(url.getPath()); - final String smap = HttpUriMapper.getResourceBase(url.getPath()); + String contextName = HttpUriMapper.getContextName(url.getPath()); + if (contextName.length() == 0) { + contextName = "/"; //ensure it is mapped as root context, + } + String smap = HttpUriMapper.getResourceBase(url.getPath()); + if (!smap.equals("/")) { + //add /* to enable wild match + smap = smap + "/*"; + } + + if (contextName.endsWith("/*")) { + //This is how Jetty ServletContextHandler handle the contextName + //without suffix "/", the "*" suffix will be removed + contextName = contextName + "/"; + } boolean found = false; if (server != null && server.isRunning()) { - for (Handler handler : contexts.getChildHandlersByClass(ContextHandler.class)) { - if (handler instanceof ContextHandler) { - ContextHandler contextHandler = (ContextHandler) handler; - Handler jh = contextHandler.getHandler(); - if (jh instanceof JettyHTTPHandler + for (Handler handler : contexts.getHandlers()) { + if (handler instanceof ServletContextHandler) { + ServletContextHandler contextHandler = (ServletContextHandler) handler; + ServletHandler servletHandler = contextHandler.getServletHandler(); + + MatchedResource mappedServlet = servletHandler.getMatchedServlet(smap); + if (mappedServlet == null) { + continue; + } + ServletHolder servletHolder = mappedServlet.getResource().getServletHolder(); + Servlet servlet = null; + + try { + servlet = servletHolder.getServlet(); + } catch (ServletException ex) { + LOG.log(Level.WARNING, "REMOVE_HANDLER_FAILED_MSG", new Object[] { + ex.getMessage() + }); + continue; + } + if (servlet != null && servlet instanceof JettyHTTPHandler && (contextName.equals(contextHandler.getContextPath()) || (StringUtils.isEmpty(contextName) && "/".equals(contextHandler.getContextPath()))) - && ((JettyHTTPHandler)jh).getName().equals(smap)) { + && smap.startsWith(((JettyHTTPHandler)servlet).getName())) { try { - contexts.removeHandler(handler); - handler.stop(); - handler.destroy(); + servletHolder.stop(); + contextHandler.getContext().destroy(servlet); + //need to remove path from ServletHandler._servletMappings + //and has to access the private field. + List servletMappings + = ReflectionUtil.accessDeclaredField("_servletMappings", + ServletHandler.class, + servletHandler, + List.class); + ServletMapping servletMapping = servletHandler.getServletMapping(smap); + servletMappings.remove(servletMapping); + boolean hasActiveServlet = false; + for (ServletHolder myHolder : servletHandler.getServlets()) { + if (myHolder.getServlet() != null + && !(myHolder.getServlet() instanceof Default404Servlet)) { + hasActiveServlet = true; + break; + } + } + if (!hasActiveServlet) { + contexts.removeHandler(handler); + handler.stop(); + handler.destroy(); + this.contextHandlerMap.remove(contextName); + } } catch (Exception ex) { LOG.log(Level.WARNING, "REMOVE_HANDLER_FAILED_MSG", new Object[] {ex.getMessage()}); @@ -988,10 +1135,11 @@ public synchronized Handler getServant(URL url) { Handler ret = null; // After a stop(), the server is null, and therefore this // operation should return null. + if (server != null) { - for (Handler handler : server.getChildHandlersByClass(ContextHandler.class)) { - if (handler instanceof ContextHandler) { - ContextHandler contextHandler = (ContextHandler) handler; + for (Handler handler : server.getDescendants(ServletContextHandler.class)) { + if (handler instanceof ServletContextHandler) { + ServletContextHandler contextHandler = (ServletContextHandler) handler; if (contextName.equals(contextHandler.getContextPath())) { ret = contextHandler.getHandler(); break; @@ -1008,15 +1156,15 @@ public synchronized Handler getServant(URL url) { * @param url the associated URL * @return the HttpHandler if registered */ - public synchronized ContextHandler getContextHandler(URL url) { + public synchronized ServletContextHandler getContextHandler(URL url) { String contextName = HttpUriMapper.getContextName(url.getPath()); - ContextHandler ret = null; + ServletContextHandler ret = null; // After a stop(), the server is null, and therefore this // operation should return null. if (server != null) { - for (Handler handler : server.getChildHandlersByClass(ContextHandler.class)) { - if (handler instanceof ContextHandler) { - ContextHandler contextHandler = (ContextHandler) handler; + for (Handler handler : server.getDescendants(ServletContextHandler.class)) { + if (handler instanceof ServletContextHandler) { + ServletContextHandler contextHandler = (ServletContextHandler) handler; if (contextName.equals(contextHandler.getContextPath())) { ret = contextHandler; break; @@ -1025,6 +1173,7 @@ public synchronized ContextHandler getContextHandler(URL url) { } } return ret; + } private boolean isSsl() { @@ -1180,5 +1329,137 @@ public int getSessionTimeout() { public void setSessionTimeout(int sessionTimeout) { this.sessionTimeout = sessionTimeout; } + + private final class CxfJettyErrorHandler extends ErrorHandler { + + public boolean handle(Request request, Response response, Callback callback) throws Exception { + String msg = (String)request.getAttribute(RequestDispatcher.ERROR_MESSAGE); + if (StringUtils.isEmpty(msg) || msg.contains("org.apache.cxf.interceptor.Fault")) { + msg = HttpStatus.getMessage(response.getStatus()); + request.setAttribute(RequestDispatcher.ERROR_MESSAGE, msg); + } + if (response instanceof Response) { + ((Response)response).setStatus(response.getStatus()); + } + return super.handle(request, response, callback); + } + + //CHECKSTYLE:OFF + protected boolean generateAcceptableResponse(Request request, Response response, + Callback callback, String contentType, + List charsets, int code, String message, + Throwable cause) + //CHECKSTYLE:ON + throws IOException { + Type type; + Charset charset; + switch (contentType) { + case "text/html": + case "text/*": + case "*/*": + type = Type.TEXT_HTML; + charset = charsets.stream().findFirst().orElse(StandardCharsets.ISO_8859_1); + break; + + case "text/json": + case "application/json": + if (charsets.contains(StandardCharsets.UTF_8)) { + charset = StandardCharsets.UTF_8; + } else if (charsets.contains(StandardCharsets.ISO_8859_1)) { + charset = StandardCharsets.ISO_8859_1; + } else { + return false; + } + type = Type.TEXT_JSON.is(contentType) ? Type.TEXT_JSON : Type.APPLICATION_JSON; + break; + + case "text/plain": + type = Type.TEXT_PLAIN; + charset = charsets.stream().findFirst().orElse(StandardCharsets.ISO_8859_1); + break; + + default: + return false; + } + + int bufferSize = request.getConnectionMetaData().getHttpConfiguration().getOutputBufferSize(); + bufferSize = Math.min(8192, bufferSize); // TODO ? + RetainableByteBuffer buffer = request.getComponents().getByteBufferPool().acquire(bufferSize, + false); + + try { + // write into the response aggregate buffer and flush it asynchronously. + // Looping to reduce size if buffer overflows + boolean showStacks = isShowStacks(); + while (true) { + try { + buffer.clear(); + ByteBufferOutputStream out = new ByteBufferOutputStream(buffer.getByteBuffer()); + PrintWriter writer = new PrintWriter(new OutputStreamWriter(out, charset)); + + switch (type) { + case TEXT_HTML: + writeErrorHtml(request, writer, charset, code, message, cause, showStacks); + break; + case TEXT_JSON: + + case APPLICATION_JSON: + writeErrorJson(request, writer, code, message, cause, showStacks); + break; + case TEXT_PLAIN: + writeErrorPlain(request, writer, code, message, cause, showStacks); + break; + default: + throw new IllegalStateException(); + } + + writer.flush(); + break; + } catch (BufferOverflowException e) { + if (showStacks) { + if (LOG.isLoggable(Level.FINER)) { + LOG.log(Level.FINER, "Disable stacks for " + e.toString()); + } + showStacks = false; + continue; + } + + LOG.log(Level.WARNING, + "Error page too large:" + message); + + break; + } + } + + if (!buffer.hasRemaining()) { + buffer.release(); + callback.succeeded(); + return true; + } + + response.getHeaders().put(type.getContentTypeField(charset)); + response.write(true, buffer.getByteBuffer(), new WriteErrorCallback(callback, buffer)); + + return true; + } catch (Throwable x) { + buffer.release(); + throw x; + } + } + + class WriteErrorCallback extends Callback.Nested { + private final Retainable retainable; + + WriteErrorCallback(Callback callback, Retainable retainable) { + super(callback); + this.retainable = retainable; + } + + @Override + public void completed() { + this.retainable.release(); + } + } + } } diff --git a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java index df563367d62..4ee15f5e227 100644 --- a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java +++ b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java @@ -70,9 +70,10 @@ import org.apache.cxf.ws.addressing.EndpointReferenceType; import org.apache.cxf.ws.addressing.EndpointReferenceUtils; import org.apache.cxf.ws.addressing.JAXWSAConstants; +import org.eclipse.jetty.ee10.servlet.ServletRequestHttpWrapper; +import org.eclipse.jetty.ee10.servlet.ServletResponseHttpWrapper; import org.eclipse.jetty.http.HttpFields; -import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.server.Response; + import org.junit.After; import org.junit.Test; @@ -110,8 +111,8 @@ public class JettyHTTPDestinationTest { private JettyHTTPServerEngine engine; private HTTPServerPolicy policy; private JettyHTTPDestination destination; - private Request request; - private Response response; + private ServletRequestHttpWrapper request; + private ServletResponseHttpWrapper response; private Message inMessage; private Message outMessage; private MessageObserver observer; @@ -620,8 +621,8 @@ private void setUpDoService(boolean setRedirectURL, is = mock(ServletInputStream.class); os = mock(ServletOutputStream.class); - request = mock(Request.class); - response = mock(Response.class); + request = mock(ServletRequestHttpWrapper.class); + response = mock(ServletResponseHttpWrapper.class); when(request.getMethod()).thenReturn(method); //request.getConnection(); //whenLastCall().thenReturn(null).anyTimes(); @@ -631,7 +632,6 @@ private void setUpDoService(boolean setRedirectURL, policy.setRedirectURL(NOWHERE + "foo/bar"); doNothing().when(response).sendRedirect(eq(NOWHERE + "foo/bar")); doNothing().when(response).flushBuffer(); - doNothing().when(request).setHandled(true); } else { //getQueryString for if statement when(request.getQueryString()).thenReturn(query); @@ -670,7 +670,6 @@ private void setUpDoService(boolean setRedirectURL, httpFields.getValues(JettyHTTPDestinationTest.AUTH_HEADER)); when(request.getInputStream()).thenReturn(is); - doNothing().when(request).setHandled(true); doNothing().when(response).flushBuffer(); if (sendResponse) { doNothing().when(response).setStatus(status); @@ -729,7 +728,6 @@ private void verifyGetWSDLQuery() throws Exception { when(request.getQueryString()).thenReturn("wsdl"); doNothing().when(response).setContentType("text/xml"); doNothing().when(response).getOutputStream(); - request.setHandled(true); } private void verifyDoService() throws Exception { @@ -871,4 +869,4 @@ public Message retrieveFromContinuation(HttpServletRequest request) { } -} \ No newline at end of file +} diff --git a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java index 509dc3342ca..0d394abfe44 100644 --- a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java +++ b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java @@ -28,7 +28,6 @@ import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; @@ -43,13 +42,12 @@ import org.apache.cxf.helpers.IOUtils; import org.apache.cxf.management.InstrumentationManager; import org.apache.cxf.testutil.common.TestUtil; -import org.eclipse.jetty.server.ConnectionFactory; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHandler; +import org.eclipse.jetty.ee10.servlet.ServletHandler.MappedServlet; +import org.eclipse.jetty.ee10.servlet.ServletHolder; +import org.eclipse.jetty.http.pathmap.MatchedResource; import org.eclipse.jetty.server.Connector; -import org.eclipse.jetty.server.Handler; -import org.eclipse.jetty.server.HttpConfiguration; -import org.eclipse.jetty.server.HttpConnectionFactory; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.util.thread.ThreadPool; @@ -72,9 +70,7 @@ public class JettyHTTPServerEngineTest { = Integer.valueOf(TestUtil.getPortNumber(JettyHTTPServerEngineTest.class, 2)); private static final int PORT3 = Integer.valueOf(TestUtil.getPortNumber(JettyHTTPServerEngineTest.class, 3)); - private static final int PORT4 - = Integer.valueOf(TestUtil.getPortNumber(JettyHTTPServerEngineTest.class, 4)); - + private Bus bus; private JettyHTTPServerEngineFactory factory; @@ -317,41 +313,21 @@ public void testJmxSupport() throws Exception { JettyHTTPServerEngineFactory.destroyForPort(PORT2); } - @Test - public void testSetHandlers() throws Exception { - URL url = new URL("http://localhost:" + PORT2 + "/hello/test"); - JettyHTTPTestHandler handler1 = new JettyHTTPTestHandler("string1", true); - JettyHTTPTestHandler handler2 = new JettyHTTPTestHandler("string2", true); - - JettyHTTPServerEngine engine = new JettyHTTPServerEngine(); - engine.setPort(PORT2); - - List handlers = new ArrayList<>(); - handlers.add(handler1); - engine.setHandlers(handlers); - engine.finalizeConfig(); - - engine.addServant(url, handler2); - - String response = getResponse(url.toString()); - assertEquals("the jetty http handler1 did not take effect", response, "string1string2"); - - engine.stop(); - JettyHTTPServerEngineFactory.destroyForPort(PORT2); - } + @Test public void testGetContextHandler() throws Exception { String urlStr = "http://localhost:" + PORT1 + "/hello/test"; JettyHTTPServerEngine engine = factory.createJettyHTTPServerEngine(PORT1, "http"); - ContextHandler contextHandler = engine.getContextHandler(new URL(urlStr)); + ServletContextHandler contextHandler = engine.getContextHandler(new URL(urlStr)); // can't find the context handler here assertNull(contextHandler); JettyHTTPTestHandler handler1 = new JettyHTTPTestHandler("string1", true); JettyHTTPTestHandler handler2 = new JettyHTTPTestHandler("string2", true); engine.addServant(new URL(urlStr), handler1); - + String response = getResponse(urlStr); + assertEquals("the jetty http handler1 did not take effect", response, "string1"); // Note: There appears to be an internal issue in Jetty that does not // unregister the MBean for handler1 during this setHandler operation. // This scenario may create a warning message in the logs @@ -359,12 +335,23 @@ public void testGetContextHandler() throws Exception { // transport.http_jetty:type=jettyhttptesthandler,id=0) // when running subsequent tests. contextHandler = engine.getContextHandler(new URL(urlStr)); - contextHandler.stop(); - contextHandler.setHandler(handler2); - contextHandler.start(); + //contextHandler.stop(); + ServletHandler servletHandler = contextHandler.getServletHandler(); + MatchedResource mappedServlet = servletHandler.getMatchedServlet("/test"); + if (mappedServlet != null) { + ServletHolder servletHolder = mappedServlet.getResource().getServletHolder(); + if (servletHolder != null) { + // the servlet exist with the same path + // just update the servlet + servletHolder.doStop(); + servletHolder.setServlet(handler2); + servletHolder.initialize(); + } + } + - String response = getResponse(urlStr); - assertEquals("the jetty http handler did not take effect", response, "string2"); + response = getResponse(urlStr); + assertEquals("the jetty http handler2 did not take effect", response, "string2"); JettyHTTPServerEngineFactory.destroyForPort(PORT1); } @@ -381,7 +368,7 @@ public void testJettyHTTPHandler() throws Exception { JettyHTTPHandler handler1 = new JettyHTTPTestHandler("test", false); JettyHTTPHandler handler2 = new JettyHTTPTestHandler("test2", false); engine.addServant(new URL(urlStr1), handler1); - + contextHandler = engine.getContextHandler(new URL(urlStr1)); assertNotNull(contextHandler); @@ -389,46 +376,16 @@ public void testJettyHTTPHandler() throws Exception { contextHandler = engine.getContextHandler(new URL(urlStr2)); assertNotNull(contextHandler); - String response = getResponse(urlStr1 + "/test"); - assertEquals("the jetty http handler did not take effect", response, "test"); + String response = getResponse(urlStr1); + assertEquals("the jetty http handler1 did not take effect", response, "test"); - response = getResponse(urlStr2 + "/test"); - assertEquals("the jetty http handler did not take effect", response, "test2"); + response = getResponse(urlStr2); + assertEquals("the jetty http handler2 did not take effect", response, "test2"); JettyHTTPServerEngineFactory.destroyForPort(PORT3); } - @Test - public void testSetConnector() throws Exception { - URL url = new URL("http://localhost:" + PORT4 + "/hello/test"); - JettyHTTPTestHandler handler1 = new JettyHTTPTestHandler("string1", true); - JettyHTTPTestHandler handler2 = new JettyHTTPTestHandler("string2", true); - - JettyHTTPServerEngine engine = new JettyHTTPServerEngine(); - engine.setPort(PORT4); - Server server = new Server(); - ServerConnector connector = new ServerConnector(server); - connector.setPort(PORT4); - HttpConfiguration httpConfig = new HttpConfiguration(); - httpConfig.addCustomizer(new org.eclipse.jetty.server.ForwardedRequestCustomizer()); - HttpConnectionFactory httpFactory = new HttpConnectionFactory(httpConfig); - Collection connectionFactories = new ArrayList<>(); - connectionFactories.add(httpFactory); - connector.setConnectionFactories(connectionFactories); - engine.setConnector(connector); - List handlers = new ArrayList<>(); - handlers.add(handler1); - engine.setHandlers(handlers); - engine.finalizeConfig(); - - engine.addServant(url, handler2); - - String response = getResponse(url.toString()); - assertEquals("the jetty http handler1 did not take effect", response, "string1string2"); - - engine.stop(); - JettyHTTPServerEngineFactory.destroyForPort(PORT4); - } + private static String getResponse(String target) throws Exception { URL url = new URL(target); diff --git a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPTestHandler.java b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPTestHandler.java index 269ec31c1e5..7bf9bcd2252 100644 --- a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPTestHandler.java +++ b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPTestHandler.java @@ -25,19 +25,20 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.apache.cxf.transport.http.HttpUrlUtil; +import org.eclipse.jetty.ee10.servlet.ServletContextRequest; import org.eclipse.jetty.server.Request; public class JettyHTTPTestHandler extends JettyHTTPHandler { private boolean contextMatchExact; - private String response; - + private String ret; + public JettyHTTPTestHandler(String s, boolean cmExact) { super(null, cmExact); contextMatchExact = cmExact; - response = s; + ret = s; } - - @Override + + public void handle(String target, Request baseRequest, HttpServletRequest request, @@ -45,17 +46,37 @@ public void handle(String target, if (contextMatchExact) { // just return the response for testing - resp.getOutputStream().write(response.getBytes()); + resp.getOutputStream().write(this.ret.getBytes()); resp.flushBuffer(); } else { if (target.equals(getName()) || HttpUrlUtil.checkContextPath(getName(), target)) { - resp.getOutputStream().write(response.getBytes()); + resp.getOutputStream().write(this.ret.getBytes()); resp.flushBuffer(); } } } + + + + + @Override + protected void service(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + String target = ServletContextRequest.getServletContextRequest(req).getDecodedPathInContext(); + if (contextMatchExact) { + // just return the response for testing + resp.getOutputStream().write(ret.getBytes()); + resp.flushBuffer(); + } else { + if (target.equals(getName()) || HttpUrlUtil.checkContextPath(getName(), target)) { + resp.getOutputStream().write(ret.getBytes()); + resp.flushBuffer(); + } + } + + } } diff --git a/rt/transports/http-netty/netty-client/pom.xml b/rt/transports/http-netty/netty-client/pom.xml index 84a6cf3712d..52c9fdeb838 100644 --- a/rt/transports/http-netty/netty-client/pom.xml +++ b/rt/transports/http-netty/netty-client/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/transports/http-netty/netty-server/pom.xml b/rt/transports/http-netty/netty-server/pom.xml index 361e1971f82..b73176a6d1d 100644 --- a/rt/transports/http-netty/netty-server/pom.xml +++ b/rt/transports/http-netty/netty-server/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java index e4c3f4819f9..98827bae869 100644 --- a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java +++ b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java @@ -40,6 +40,7 @@ import jakarta.servlet.AsyncContext; import jakarta.servlet.DispatcherType; import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletConnection; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; import jakarta.servlet.ServletInputStream; @@ -450,12 +451,6 @@ public boolean isRequestedSessionIdFromURL() { "Method 'isRequestedSessionIdFromURL' not yet implemented!"); } - @Override - public boolean isRequestedSessionIdFromUrl() { - throw new IllegalStateException( - "Method 'isRequestedSessionIdFromUrl' not yet implemented!"); - } - @Override public boolean isRequestedSessionIdValid() { return false; @@ -467,12 +462,6 @@ public boolean isUserInRole(String role) { "Method 'isUserInRole' not yet implemented!"); } - @Override - public String getRealPath(String path) { - throw new IllegalStateException( - "Method 'getRealPath' not yet implemented!"); - } - @Override public RequestDispatcher getRequestDispatcher(String path) { throw new IllegalStateException( @@ -555,4 +544,19 @@ public T upgrade(Class handlerClass) throws IOException, ServletException { throw new IllegalStateException("Method 'upgrade' not yet implemented!"); } + + @Override + public String getRequestId() { + throw new IllegalStateException("Method 'getRequestId' not yet implemented!"); + } + + @Override + public String getProtocolRequestId() { + throw new IllegalStateException("Method 'getProtocolRequestId' not yet implemented!"); + } + + @Override + public ServletConnection getServletConnection() { + throw new IllegalStateException("Method 'getServletConnection' not yet implemented!"); + } } diff --git a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpSession.java b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpSession.java index a22f41eb7c6..02f81aee6c3 100644 --- a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpSession.java +++ b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpSession.java @@ -82,27 +82,6 @@ public ServletContext getServletContext() { return null; } - @SuppressWarnings("deprecation") - @Override - public jakarta.servlet.http.HttpSessionContext getSessionContext() { - throw new IllegalStateException( - "As of Version 2.1, this method is deprecated and has no replacement."); - } - - @Override - public Object getValue(String name) { - return getAttribute(name); - } - - @Override - public String[] getValueNames() { - if (attributes == null) { - return null; - } - return attributes.keySet().toArray( - new String[attributes.keySet().size()]); - } - @Override public void invalidate() { if (attributes != null) { @@ -110,11 +89,6 @@ public void invalidate() { } } - @Override - public void putValue(String name, Object value) { - this.setAttribute(name, value); - } - @Override public void removeAttribute(String name) { if (attributes != null) { @@ -128,11 +102,6 @@ public void removeAttribute(String name) { } } - @Override - public void removeValue(String name) { - this.removeAttribute(name); - } - @Override public void setAttribute(String name, Object value) { if (attributes == null) { @@ -166,4 +135,4 @@ public void touch() { public boolean isNew() { throw new IllegalStateException("Method 'isNew' not yet implemented!"); } -} \ No newline at end of file +} diff --git a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyServletContext.java b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyServletContext.java index 58570f162ec..3ac36604c2f 100644 --- a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyServletContext.java +++ b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyServletContext.java @@ -130,11 +130,6 @@ public void log(String msg) { LOG.info(msg); } - @Override - public void log(Exception exception, String msg) { - LOG.log(Level.SEVERE, msg, exception); - } - @Override public void log(String message, Throwable throwable) { LOG.log(Level.SEVERE, message, throwable); @@ -164,26 +159,6 @@ void setServletContextName(String servletContextName) { this.servletContextName = servletContextName; } - @Override - public Servlet getServlet(String name) throws ServletException { - throw new IllegalStateException( - "Deprecated as of Java Servlet API 2.1, with no direct replacement!"); - } - - @SuppressWarnings("rawtypes") - @Override - public Enumeration getServletNames() { - throw new IllegalStateException( - "Method 'getServletNames' deprecated as of Java Servlet API 2.0, with no replacement."); - } - - @SuppressWarnings("rawtypes") - @Override - public Enumeration getServlets() { - throw new IllegalStateException( - "Method 'getServlets' deprecated as of Java Servlet API 2.0, with no replacement."); - } - @Override public ServletContext getContext(String uripath) { return this; diff --git a/rt/transports/http-undertow/pom.xml b/rt/transports/http-undertow/pom.xml index 74e0f03743a..835e30d8b20 100644 --- a/rt/transports/http-undertow/pom.xml +++ b/rt/transports/http-undertow/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -58,7 +58,7 @@ io.undertow - undertow-servlet-jakarta + undertow-servlet org.jboss.xnio diff --git a/rt/transports/http/pom.xml b/rt/transports/http/pom.xml index 9984270e82d..12ad3e5af8b 100644 --- a/rt/transports/http/pom.xml +++ b/rt/transports/http/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java index 376131af49a..c0771430de6 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java @@ -350,12 +350,26 @@ private boolean isWSAddressingReplyToSpecified(Exchange ex) { if (contextPath == null) { contextPath = ""; } - String servletPath = req.getServletPath(); + String servletPath = null; + try { + servletPath = req.getServletPath(); + } catch (Exception ex) { + //could be AmbiguousURI per RFC + //and Jetty 12 can't handle it right now + servletPath = requestURI; + } + if (servletPath == null) { servletPath = ""; } String contextServletPath = contextPath + servletPath; - String pathInfo = req.getPathInfo(); + String pathInfo = null; + try { + pathInfo = req.getPathInfo(); + } catch (Exception ex) { + //could be AmbiguousURI per RFC + //and Jetty 12 can't handle it right now + } if (pathInfo != null) { inMessage.put(Message.PATH_INFO, contextServletPath + pathInfo); } else { @@ -394,7 +408,11 @@ private boolean isWSAddressingReplyToSpecified(Exchange ex) { SecurityContext httpSecurityContext = new SecurityContext() { public Principal getUserPrincipal() { - return req.getUserPrincipal(); + try { + return req.getUserPrincipal(); + } catch (Exception ex) { + return null; + } } public boolean isUserInRole(String role) { return req.isUserInRole(role); diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/AbstractHTTPServlet.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/AbstractHTTPServlet.java index 50bc968cb8f..8f59fe7d73b 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/AbstractHTTPServlet.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/AbstractHTTPServlet.java @@ -42,6 +42,7 @@ import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletRequestWrapper; import jakarta.servlet.ServletResponse; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; @@ -287,7 +288,15 @@ protected void handleRequest(HttpServletRequest request, HttpServletResponse res && (redirectList != null && matchPath(redirectQueryCheck, redirectList, request) || redirectList == null)) { // if no redirectList is provided then this servlet is redirecting only - redirect(request, response, request.getPathInfo()); + String path = request.getPathInfo(); + if (path == null + && request instanceof ServletRequestWrapper) { + path = ((HttpServletRequest)((ServletRequestWrapper)request).getRequest()).getPathInfo(); + } + if (path == null) { + path = "/"; + } + redirect(request, response, path); return; } boolean staticResourcesMatch = staticResourcesList != null @@ -330,6 +339,10 @@ protected HttpServletRequest checkXForwardedHeaders(HttpServletRequest request) private static boolean matchPath(boolean checkRedirect, List values, HttpServletRequest request) { String path = request.getPathInfo(); + if (path == null + && request instanceof ServletRequestWrapper) { + path = ((HttpServletRequest)((ServletRequestWrapper)request).getRequest()).getPathInfo(); + } if (path == null) { path = "/"; } diff --git a/rt/transports/jms/pom.xml b/rt/transports/jms/pom.xml index dde795d9873..7d3dd56c89b 100644 --- a/rt/transports/jms/pom.xml +++ b/rt/transports/jms/pom.xml @@ -19,7 +19,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/transports/local/pom.xml b/rt/transports/local/pom.xml index 3087712ed3f..f7f4a2785fc 100644 --- a/rt/transports/local/pom.xml +++ b/rt/transports/local/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/transports/pom.xml b/rt/transports/pom.xml index 88fb27216d4..3fce5387de1 100644 --- a/rt/transports/pom.xml +++ b/rt/transports/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT local diff --git a/rt/transports/udp/pom.xml b/rt/transports/udp/pom.xml index 7199cf0b0c4..3e9a7ffc93f 100644 --- a/rt/transports/udp/pom.xml +++ b/rt/transports/udp/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/transports/websocket/pom.xml b/rt/transports/websocket/pom.xml index c88d2a7fb7f..1906d8032e5 100644 --- a/rt/transports/websocket/pom.xml +++ b/rt/transports/websocket/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -103,6 +103,10 @@ org.eclipse.jetty.orbit jakarta.servlet + + org.eclipse.jetty.toolchain + jetty-jakarta-servlet-api + @@ -110,16 +114,6 @@ jetty-security true - - org.eclipse.jetty - jetty-servlet - true - - - org.eclipse.jetty - jetty-webapp - true - org.eclipse.jetty jetty-jmx @@ -142,20 +136,19 @@ org.eclipse.jetty.websocket - websocket-jetty-server - ${cxf.jetty11.version} - - - org.eclipse.jetty.websocket - websocket-jakarta-server - ${cxf.jetty11.version} - true + jetty-websocket-jetty-server - jakarta.servlet - jakarta.servlet-api + org.eclipse.jetty.toolchain + jetty-jakarta-servlet-api + true + + + org.eclipse.jetty.ee10.websocket + jetty-ee10-websocket-jetty-server + true org.atmosphere diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/WebSocketDestinationFactory.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/WebSocketDestinationFactory.java index 4126f0d4ad8..0c089f92324 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/WebSocketDestinationFactory.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/WebSocketDestinationFactory.java @@ -44,7 +44,7 @@ public class WebSocketDestinationFactory implements HttpDestinationFactory { private static final boolean UNDERTOW_AVAILABLE = probeClass("org.apache.cxf.transport.http_undertow.UndertowHTTPServerEngineFactory"); private static final Constructor JETTY11_WEBSOCKET_DESTINATION_CTR = - probeConstructor("org.apache.cxf.transport.websocket.jetty11.Jetty11WebSocketDestination"); + probeConstructor("org.apache.cxf.transport.websocket.jetty12.Jetty12WebSocketDestination"); private static final Constructor UNDERTOW_WEBSOCKET_DESTINATION_CTR = probeUndertowConstructor("org.apache.cxf.transport.websocket.undertow.UndertowWebSocketDestination"); private static final Constructor ATMOSPHERE_WEBSOCKET_JETTY_DESTINATION_CTR = diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/atmosphere/AtmosphereWebSocketJettyDestination.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/atmosphere/AtmosphereWebSocketJettyDestination.java index 6c6f0922b9a..b9537522da3 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/atmosphere/AtmosphereWebSocketJettyDestination.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/atmosphere/AtmosphereWebSocketJettyDestination.java @@ -50,7 +50,6 @@ import org.atmosphere.cpr.AtmosphereResponseImpl; import org.atmosphere.handler.AbstractReflectorAtmosphereHandler; import org.atmosphere.util.VoidServletConfig; -import org.eclipse.jetty.server.Request; import org.springframework.util.ClassUtils; @@ -165,20 +164,21 @@ private class AtmosphereJettyWebSocketHandler extends JettyHTTPHandler { super(jhd, cmExact); } + @Override - public void handle(String target, Request baseRequest, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException { + protected void service(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { if (AtmosphereUtils.useAtmosphere(request)) { try { framework.doCometSupport(AtmosphereRequestImpl.wrap(request), AtmosphereResponseImpl.wrap(response)); - baseRequest.setHandled(true); + } catch (ServletException e) { throw new IOException(e); } return; } - super.handle(target, baseRequest, request, response); + super.service(request, response); } } diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletRequest.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletRequest.java index c9439375f17..38bf7a3939a 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletRequest.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletRequest.java @@ -40,6 +40,7 @@ import jakarta.servlet.DispatcherType; import jakarta.servlet.ReadListener; import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletConnection; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; import jakarta.servlet.ServletInputStream; @@ -191,7 +192,6 @@ public Locale getLocale() { return webSocketHolder.getLocale(); } - @Override public Enumeration getLocales() { LOG.log(Level.FINE, "getLocales()"); return webSocketHolder.getLocales(); @@ -237,12 +237,6 @@ public BufferedReader getReader() throws IOException { return new BufferedReader(new InputStreamReader(in, UTF_8)); } - @Override - public String getRealPath(String path) { - LOG.log(Level.FINE, "getRealPath"); - return null; - } - @Override public String getRemoteAddr() { LOG.log(Level.FINE, "getRemoteAddr"); @@ -290,7 +284,6 @@ public ServletContext getServletContext() { return webSocketHolder.getServletContext(); } - @Override public boolean isAsyncStarted() { LOG.log(Level.FINE, "isAsyncStarted"); return false; @@ -302,7 +295,6 @@ public boolean isAsyncSupported() { return false; } - @Override public boolean isSecure() { LOG.log(Level.FINE, "isSecure"); return webSocketHolder.isSecure(); @@ -513,12 +505,6 @@ public boolean isRequestedSessionIdFromURL() { return false; } - @Override - public boolean isRequestedSessionIdFromUrl() { - LOG.log(Level.FINE, "isRequestedSessionIdFromUrl"); - return false; - } - @Override public boolean isRequestedSessionIdValid() { LOG.log(Level.FINE, "isRequestedSessionIdValid"); @@ -556,4 +542,29 @@ public String changeSessionId() { public T upgrade(Class arg0) throws IOException, ServletException { throw new UnsupportedOperationException(); } + + + public String getRealPath(String path) { + return path; + } + + + public boolean isRequestedSessionIdFromUrl() { + LOG.log(Level.FINE, "isRequestedSessionIdFromUrl"); + return false; + } + + public String getRequestId() { + return null; + } + + @Override + public String getProtocolRequestId() { + return null; + } + + @Override + public ServletConnection getServletConnection() { + return null; + } } diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletResponse.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletResponse.java index 6084bdac8b6..6346c7550f4 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletResponse.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty/WebSocketVirtualServletResponse.java @@ -22,6 +22,8 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintWriter; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.Locale; import java.util.Map; @@ -184,21 +186,6 @@ public boolean containsHeader(String name) { return responseHeaders.containsKey(name); } - @Override - public String encodeRedirectURL(String url) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "encodeRedirectURL({0})", url); - } - return null; - } - - @Override - public String encodeRedirectUrl(String url) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "encodeRedirectUrl({0})", url); - } - return null; - } @Override public String encodeURL(String url) { @@ -208,14 +195,6 @@ public String encodeURL(String url) { return null; } - @Override - public String encodeUrl(String url) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "encodeUrl({0})", url); - } - return null; - } - @Override public String getHeader(String name) { if (LOG.isLoggable(Level.FINE)) { @@ -303,14 +282,6 @@ public void setStatus(int sc) { responseHeaders.put(WebSocketUtils.SC_KEY, Integer.toString(sc)); } - @Override - public void setStatus(int sc, String sm) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "setStatus({0}, {1})", new Object[]{sc, sm}); - } - responseHeaders.put(WebSocketUtils.SC_KEY, Integer.toString(sc)); - } - private ServletOutputStream createOutputStream() { //REVISIT // This output buffering is needed as the server side websocket does @@ -384,4 +355,24 @@ public void setContentLengthLong(long arg0) { throw new UnsupportedOperationException(); } + + + public String encodeUrl(String url) { + return URLEncoder.encode(url, StandardCharsets.UTF_8); + } + + @Override + public String encodeRedirectURL(String url) { + return URLEncoder.encode(url, StandardCharsets.UTF_8); + } + + + public void setStatus(int sc, String sm) { + if (LOG.isLoggable(Level.FINE)) { + LOG.log(Level.FINE, "setStatus({0})", sc); + } + responseHeaders.put(WebSocketUtils.SC_KEY, Integer.toString(sc)); + } + + } diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty11/Jetty11WebSocketDestination.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty12/Jetty12WebSocketDestination.java similarity index 75% rename from rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty11/Jetty11WebSocketDestination.java rename to rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty12/Jetty12WebSocketDestination.java index c9aa1fa06de..f413357f446 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty11/Jetty11WebSocketDestination.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty12/Jetty12WebSocketDestination.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.cxf.transport.websocket.jetty11; +package org.apache.cxf.transport.websocket.jetty12; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -53,23 +53,21 @@ import org.apache.cxf.transport.websocket.jetty.WebSocketVirtualServletRequest; import org.apache.cxf.transport.websocket.jetty.WebSocketVirtualServletResponse; import org.apache.cxf.workqueue.WorkQueueManager; -import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.handler.ContextHandler; +import org.eclipse.jetty.ee10.websocket.server.JettyServerUpgradeRequest; +import org.eclipse.jetty.ee10.websocket.server.JettyServerUpgradeResponse; +import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketCreator; +import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServerContainer; +import org.eclipse.jetty.websocket.api.Callback; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.UpgradeRequest; -import org.eclipse.jetty.websocket.api.WebSocketAdapter; -import org.eclipse.jetty.websocket.server.JettyServerUpgradeRequest; -import org.eclipse.jetty.websocket.server.JettyServerUpgradeResponse; -import org.eclipse.jetty.websocket.server.JettyWebSocketCreator; -import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; + /** * */ -public class Jetty11WebSocketDestination extends JettyHTTPDestination implements +public class Jetty12WebSocketDestination extends JettyHTTPDestination implements WebSocketDestinationService { - private static final Logger LOG = LogUtils.getL7dLogger(Jetty11WebSocketDestination.class); + private static final Logger LOG = LogUtils.getL7dLogger(Jetty12WebSocketDestination.class); //REVISIT make these keys configurable private static final String REQUEST_ID_KEY = WebSocketConstants.DEFAULT_REQUEST_ID_KEY; @@ -77,8 +75,9 @@ public class Jetty11WebSocketDestination extends JettyHTTPDestination implements private final Executor executor; private JettyWebSocketServerContainer webSocketServerContainer; + private Object address; - public Jetty11WebSocketDestination(Bus bus, DestinationRegistry registry, EndpointInfo ei, + public Jetty12WebSocketDestination(Bus bus, DestinationRegistry registry, EndpointInfo ei, JettyHTTPServerEngineFactory serverEngineFactory) throws IOException { super(bus, registry, ei, serverEngineFactory == null ? null : new URL(getNonWSAddress(ei)), @@ -98,10 +97,16 @@ public void invoke(final ServletConfig config, JettyWebSocketServerContainer wssc = getWebSocketContainer(context); JettyWebSocketCreator creator = getCreator(); - - if (wssc.upgrade(creator, request, response)) { - ((Request)request).setHandled(true); - return; + address = request.getAttribute("org.apache.cxf.transport.endpoint.address"); + try { + if (wssc.upgrade(creator, request, response)) { + return; + } + } catch (Exception ex) { + //do nothing + } + if (address != null) { + request.setAttribute("org.apache.cxf.transport.endpoint.address", address); } super.invoke(config, context, request, response); } @@ -118,11 +123,7 @@ protected String getAddress(EndpointInfo endpointInfo) { return getNonWSAddress(endpointInfo); } - Server getServer(ServletConfig config, ServletContext context) { - ContextHandler.Context c = (ContextHandler.Context)context; - ContextHandler h = c.getContextHandler(); - return h.getServer(); - } + public JettyWebSocketCreator getCreator() { return new Creator(); @@ -143,6 +144,25 @@ public synchronized JettyWebSocketServerContainer getWebSocketContainer(ServletC protected JettyHTTPHandler createJettyHTTPHandler(JettyHTTPDestination jhd, boolean cmExact) { return new JettyWebSocketHandler(jhd, cmExact, this); } + + /** + * Activate receipt of incoming messages. + */ + protected void activate() { + synchronized (this) { + if (registry != null) { + registry.addDestination(this); + } + } + LOG.log(Level.FINE, "Activating receipt of incoming messages"); + // pick the handler supporting websocket if jetty-websocket is available otherwise pick the default handler. + + if (engine != null) { + handler = createJettyHTTPHandler(this, contextMatchOnExact()); + engine.addServant(nurl, handler); + ((JettyWebSocketHandler)handler).initHandler(engine.getServer()); + } + } @Override public void shutdown() { @@ -159,7 +179,7 @@ private void invoke(final byte[] data, final int offset, final int length, final public void run() { HttpServletResponse response = null; try { - WebSocketServletHolder holder = new Jetty11WebSocketHolder(session); + WebSocketServletHolder holder = new Jetty12WebSocketHolder(session); response = createServletResponse(holder); HttpServletRequest request = createServletRequest(data, offset, length, holder, session); String reqid = request.getHeader(REQUEST_ID_KEY); @@ -212,40 +232,19 @@ private WebSocketVirtualServletResponse createServletResponse(WebSocketServletHo return new WebSocketVirtualServletResponse(holder); } - // hide this jetty9 interface here to avoid CNFE on WebSocketCreator + private final class Creator implements JettyWebSocketCreator { @Override public Object createWebSocket(JettyServerUpgradeRequest req, JettyServerUpgradeResponse resp) { - return new WebSocketAdapter() { - Session session; - @Override - public void onWebSocketConnect(Session session) { - this.session = session; - } - @Override - public void onWebSocketBinary(byte[] payload, int offset, int len) { - invoke(payload, offset, len, session); - } - @Override - public void onWebSocketText(String message) { - //TODO may want use string directly instead of converting it to byte[] - try { - byte[] bdata = message.getBytes("utf-8"); - onWebSocketBinary(bdata, 0, bdata.length); - } catch (UnsupportedEncodingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - }; + return new Jetty12WebSocket(); } } - class Jetty11WebSocketHolder implements WebSocketServletHolder { + class Jetty12WebSocketHolder implements WebSocketServletHolder { final Session session; - Jetty11WebSocketHolder(Session s) { + Jetty12WebSocketHolder(Session s) { session = s; } public String getAuthType() { @@ -312,18 +311,26 @@ public ServletContext getServletContext() { return null; } public int getServerPort() { - return ((InetSocketAddress)session.getLocalAddress()).getPort(); + return ((InetSocketAddress)session.getLocalSocketAddress()).getPort(); } public Principal getUserPrincipal() { return null; } public Object getAttribute(String name) { - final UpgradeRequest upgradeRequest = session.getUpgradeRequest(); - return getHttpServletRequest(upgradeRequest).getAttribute(name); + try { + final UpgradeRequest upgradeRequest = session.getUpgradeRequest(); + return getHttpServletRequest(upgradeRequest).getAttribute(name); + } catch (Exception ex) { + if (name.equals("org.apache.cxf.transport.endpoint.address")) { + return address; + } else { + return null; + } + } } @Override public void write(byte[] data, int offset, int length) throws IOException { - session.getRemote().sendBytes(ByteBuffer.wrap(data, offset, length)); + session.sendBinary(ByteBuffer.wrap(data, offset, length), null); } private HttpServletRequest getHttpServletRequest(final UpgradeRequest upgradeRequest) { @@ -335,5 +342,36 @@ private HttpServletRequest getHttpServletRequest(final UpgradeRequest upgradeReq } } + @org.eclipse.jetty.websocket.api.annotations.WebSocket + public class Jetty12WebSocket { + volatile Session session; + + @org.eclipse.jetty.websocket.api.annotations.OnWebSocketOpen + public void onOpen(Session sess) { + this.session = sess; + } + + @org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage + public void onMessage(String message) { + try { + byte[] bdata = message.getBytes("utf-8"); + onBinaryMessage(ByteBuffer.wrap(bdata), null); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + + @org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage + public void onBinaryMessage(ByteBuffer message, Callback callback) { + byte[] payload = new byte[message.remaining()]; + message.get(payload); + invoke(payload, 0, payload.length, session); + } + + @org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose + public void onClose(int code, String message) { + // members.remove(this); + } + } } diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty11/JettyWebSocketHandler.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty12/JettyWebSocketHandler.java similarity index 61% rename from rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty11/JettyWebSocketHandler.java rename to rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty12/JettyWebSocketHandler.java index a2d6c9f4a27..941ce69e670 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty11/JettyWebSocketHandler.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty12/JettyWebSocketHandler.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.cxf.transport.websocket.jetty11; +package org.apache.cxf.transport.websocket.jetty12; import java.io.IOException; @@ -25,49 +25,51 @@ import jakarta.servlet.http.HttpServletResponse; import org.apache.cxf.transport.http_jetty.JettyHTTPDestination; import org.apache.cxf.transport.http_jetty.JettyHTTPHandler; -import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.server.handler.ContextHandler; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; -import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServerContainer; +import org.eclipse.jetty.ee10.websocket.server.config.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.websocket.core.WebSocketComponents; +import org.eclipse.jetty.websocket.core.server.WebSocketServerComponents; /** * The extended version of JettyHTTPHandler that can support websocket. */ class JettyWebSocketHandler extends JettyHTTPHandler { - final Jetty11WebSocketDestination webSocketDestination; + final Jetty12WebSocketDestination webSocketDestination; JettyWebSocketServerContainer webSocketContainer; JettyWebSocketHandler(JettyHTTPDestination jhd, boolean cmExact, - Jetty11WebSocketDestination wsd) { + Jetty12WebSocketDestination wsd) { super(jhd, cmExact); this.webSocketDestination = wsd; + } - @Override - public void doStart() throws Exception { + + public void initHandler(Server server) { + ServletContextHandler servletContextHandler = createContextHandler(); + servletContextHandler.setServer(server); + setServletContext(servletContextHandler.getServletContext()); webSocketContainer = webSocketDestination.getWebSocketContainer(getServletContext()); - super.doStart(); } + + @Override - public void handle(String target, - Request baseRequest, - HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException { - + protected void service(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { if (webSocketContainer.upgrade(webSocketDestination.getCreator(), request, response)) { - baseRequest.setHandled(true); return; } - super.handle(target, baseRequest, request, response); + super.service(request, response); } @Override - public ContextHandler createContextHandler() { + public ServletContextHandler createContextHandler() { final ServletContextHandler handler = new ServletContextHandler(); JettyWebSocketServletContainerInitializer.configure(handler, null); + handler.setAttribute(WebSocketServerComponents.WEBSOCKET_COMPONENTS_ATTRIBUTE, new WebSocketComponents()); return handler; } } diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletRequest.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletRequest.java index 74441764688..bd95b7762d6 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletRequest.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletRequest.java @@ -42,6 +42,7 @@ import jakarta.servlet.DispatcherType; import jakarta.servlet.ReadListener; import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletConnection; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; import jakarta.servlet.ServletInputStream; @@ -260,12 +261,6 @@ public BufferedReader getReader() throws IOException { return new BufferedReader(new InputStreamReader(in, UTF_8)); } - @Override - public String getRealPath(String path) { - LOG.log(Level.FINE, "getRealPath"); - return null; - } - @Override public String getRemoteAddr() { LOG.log(Level.FINE, "getRemoteAddr"); @@ -538,12 +533,6 @@ public boolean isRequestedSessionIdFromURL() { return false; } - @Override - public boolean isRequestedSessionIdFromUrl() { - LOG.log(Level.FINE, "isRequestedSessionIdFromUrl"); - return false; - } - @Override public boolean isRequestedSessionIdValid() { LOG.log(Level.FINE, "isRequestedSessionIdValid"); @@ -581,4 +570,29 @@ public String changeSessionId() { public T upgrade(Class arg0) throws IOException, ServletException { throw new UnsupportedOperationException(); } + + + public String getRealPath(String path) { + return path; + } + + + public boolean isRequestedSessionIdFromUrl() { + LOG.log(Level.FINE, "isRequestedSessionIdFromUrl"); + return false; + } + + public String getRequestId() { + return null; + } + + @Override + public String getProtocolRequestId() { + return null; + } + + @Override + public ServletConnection getServletConnection() { + return null; + } } diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletResponse.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletResponse.java index 5268bdac736..51beae4cc3c 100644 --- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletResponse.java +++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/undertow/WebSocketUndertowServletResponse.java @@ -22,7 +22,9 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintWriter; +import java.net.URLEncoder; import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.Locale; import java.util.Map; @@ -188,37 +190,7 @@ public boolean containsHeader(String name) { return responseHeaders.containsKey(name); } - @Override - public String encodeRedirectURL(String url) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "encodeRedirectURL({0})", url); - } - return null; - } - - @Override - public String encodeRedirectUrl(String url) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "encodeRedirectUrl({0})", url); - } - return null; - } - - @Override - public String encodeURL(String url) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "encodeURL({0})", url); - } - return null; - } - - @Override - public String encodeUrl(String url) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "encodeUrl({0})", url); - } - return null; - } + @Override public String getHeader(String name) { @@ -307,14 +279,6 @@ public void setStatus(int sc) { responseHeaders.put(WebSocketUtils.SC_KEY, Integer.toString(sc)); } - @Override - public void setStatus(int sc, String sm) { - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "setStatus({0}, {1})", new Object[]{sc, sm}); - } - responseHeaders.put(WebSocketUtils.SC_KEY, Integer.toString(sc)); - } - private ServletOutputStream createOutputStream() { //REVISIT // This output buffering is needed as the server side websocket does @@ -388,4 +352,22 @@ public void setContentLengthLong(long arg0) { throw new UnsupportedOperationException(); } + + @Override + public String encodeURL(String url) { + return URLEncoder.encode(url, StandardCharsets.UTF_8); + } + + @Override + public String encodeRedirectURL(String url) { + return URLEncoder.encode(url, StandardCharsets.UTF_8); + } + + + public void setStatus(int sc, String sm) { + if (LOG.isLoggable(Level.FINE)) { + LOG.log(Level.FINE, "setStatus({0})", sc); + } + responseHeaders.put(WebSocketUtils.SC_KEY, Integer.toString(sc)); + } } diff --git a/rt/transports/websocket/src/test/java/org/apache/cxf/transport/websocket/jetty/JettyWebSocketDestinationTest.java b/rt/transports/websocket/src/test/java/org/apache/cxf/transport/websocket/jetty/JettyWebSocketDestinationTest.java index fb1326dab3d..3bf5da0310e 100644 --- a/rt/transports/websocket/src/test/java/org/apache/cxf/transport/websocket/jetty/JettyWebSocketDestinationTest.java +++ b/rt/transports/websocket/src/test/java/org/apache/cxf/transport/websocket/jetty/JettyWebSocketDestinationTest.java @@ -30,7 +30,8 @@ import org.apache.cxf.transport.http.HTTPTransportFactory; import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine; import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory; -import org.apache.cxf.transport.websocket.jetty11.Jetty11WebSocketDestination; +import org.apache.cxf.transport.websocket.jetty12.Jetty12WebSocketDestination; +import org.eclipse.jetty.server.Server; import org.junit.Test; @@ -52,7 +53,7 @@ public void testRegisteration() throws Exception { endpoint.setAddress(ENDPOINT_ADDRESS); endpoint.setName(ENDPOINT_NAME); JettyHTTPServerEngine engine = mock(JettyHTTPServerEngine.class); - + engine.setServer(new Server()); TestJettyWebSocketDestination dest = new TestJettyWebSocketDestination(bus, registry, endpoint, null, engine); dest.activate(); @@ -64,7 +65,7 @@ public void testRegisteration() throws Exception { assertNull(registry.getDestinationForPath(ENDPOINT_ADDRESS)); } - private static class TestJettyWebSocketDestination extends Jetty11WebSocketDestination { + private static class TestJettyWebSocketDestination extends Jetty12WebSocketDestination { TestJettyWebSocketDestination(Bus bus, DestinationRegistry registry, EndpointInfo ei, JettyHTTPServerEngineFactory serverEngineFactory, JettyHTTPServerEngine engine) throws IOException { @@ -74,12 +75,16 @@ private static class TestJettyWebSocketDestination extends Jetty11WebSocketDesti @Override public void activate() { - super.activate(); + synchronized (this) { + if (registry != null) { + registry.addDestination(this); + } + } } @Override public void deactivate() { - super.deactivate(); + super.deactivate(); } } -} \ No newline at end of file +} diff --git a/rt/ws/addr/pom.xml b/rt/ws/addr/pom.xml index d3af9bc9ee3..59c88d4850d 100644 --- a/rt/ws/addr/pom.xml +++ b/rt/ws/addr/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/ws/eventing/pom.xml b/rt/ws/eventing/pom.xml index 547239731d2..11fe4fa5417 100644 --- a/rt/ws/eventing/pom.xml +++ b/rt/ws/eventing/pom.xml @@ -9,7 +9,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/ws/mex/pom.xml b/rt/ws/mex/pom.xml index 0f224730bb4..592d2b2c1ab 100644 --- a/rt/ws/mex/pom.xml +++ b/rt/ws/mex/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/ws/policy/pom.xml b/rt/ws/policy/pom.xml index 986eaee5d97..c0267936019 100644 --- a/rt/ws/policy/pom.xml +++ b/rt/ws/policy/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/ws/pom.xml b/rt/ws/pom.xml index 356176071b4..6a12aba43b6 100644 --- a/rt/ws/pom.xml +++ b/rt/ws/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-rt - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT policy diff --git a/rt/ws/rm/pom.xml b/rt/ws/rm/pom.xml index 3fde530f3d0..bc0ec312c6d 100644 --- a/rt/ws/rm/pom.xml +++ b/rt/ws/rm/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/ws/security/pom.xml b/rt/ws/security/pom.xml index b265e8eb2f0..af75b91c935 100644 --- a/rt/ws/security/pom.xml +++ b/rt/ws/security/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml @@ -133,6 +133,10 @@ org.apache.wss4j wss4j-ws-security-policy-stax + + org.apache.wss4j + wss4j-ws-security-common + org.slf4j slf4j-jdk14 diff --git a/rt/ws/transfer/pom.xml b/rt/ws/transfer/pom.xml index 389ac20c417..be55ceaa598 100644 --- a/rt/ws/transfer/pom.xml +++ b/rt/ws/transfer/pom.xml @@ -9,7 +9,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/rt/wsdl/pom.xml b/rt/wsdl/pom.xml index 8d925a7a55b..2f629aa9165 100644 --- a/rt/wsdl/pom.xml +++ b/rt/wsdl/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml diff --git a/services/pom.xml b/services/pom.xml index 04bc05e90a9..a90bf932bf2 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -28,7 +28,7 @@ org.apache.cxf cxf ../pom.xml - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT sts diff --git a/services/sts/pom.xml b/services/sts/pom.xml index 8ed5433492d..ab7d9aaa400 100644 --- a/services/sts/pom.xml +++ b/services/sts/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf.services cxf-services - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml diff --git a/services/sts/sts-core/pom.xml b/services/sts/sts-core/pom.xml index 0b09a1e9ae1..51d21575bea 100644 --- a/services/sts/sts-core/pom.xml +++ b/services/sts/sts-core/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/sts/systests/advanced/pom.xml b/services/sts/systests/advanced/pom.xml index 72ae6e9809e..46ee47e667e 100644 --- a/services/sts/systests/advanced/pom.xml +++ b/services/sts/systests/advanced/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/services/sts/systests/basic/pom.xml b/services/sts/systests/basic/pom.xml index 3db24375c95..13dd6865040 100644 --- a/services/sts/systests/basic/pom.xml +++ b/services/sts/systests/basic/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/services/sts/systests/pom.xml b/services/sts/systests/pom.xml index 4a47edbadf3..4cbd761e9d7 100644 --- a/services/sts/systests/pom.xml +++ b/services/sts/systests/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf.services.sts cxf-services-sts - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT basic diff --git a/services/sts/systests/sts-osgi/pom.xml b/services/sts/systests/sts-osgi/pom.xml index 06863c5ece0..cd16cbd7712 100644 --- a/services/sts/systests/sts-osgi/pom.xml +++ b/services/sts/systests/sts-osgi/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../../parent/pom.xml diff --git a/services/ws-discovery/pom.xml b/services/ws-discovery/pom.xml index 5e01269740f..17bf27bf243 100644 --- a/services/ws-discovery/pom.xml +++ b/services/ws-discovery/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf.services cxf-services - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml diff --git a/services/ws-discovery/ws-discovery-api/pom.xml b/services/ws-discovery/ws-discovery-api/pom.xml index 29619017c13..bb490a24b58 100644 --- a/services/ws-discovery/ws-discovery-api/pom.xml +++ b/services/ws-discovery/ws-discovery-api/pom.xml @@ -28,7 +28,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/ws-discovery/ws-discovery-service/pom.xml b/services/ws-discovery/ws-discovery-service/pom.xml index 02d89fcb7a1..b2f02555a4f 100644 --- a/services/ws-discovery/ws-discovery-service/pom.xml +++ b/services/ws-discovery/ws-discovery-service/pom.xml @@ -28,7 +28,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/wsn/pom.xml b/services/wsn/pom.xml index 28c289139a9..735b734ef91 100644 --- a/services/wsn/pom.xml +++ b/services/wsn/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf.services cxf-services - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml diff --git a/services/wsn/wsn-api/pom.xml b/services/wsn/wsn-api/pom.xml index 86091b11532..93229b65461 100644 --- a/services/wsn/wsn-api/pom.xml +++ b/services/wsn/wsn-api/pom.xml @@ -28,7 +28,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/wsn/wsn-core/pom.xml b/services/wsn/wsn-core/pom.xml index 43dfe94a701..52c18425c0c 100644 --- a/services/wsn/wsn-core/pom.xml +++ b/services/wsn/wsn-core/pom.xml @@ -28,7 +28,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/wsn/wsn-osgi/pom.xml b/services/wsn/wsn-osgi/pom.xml index b38a0367f0d..5bf41895522 100644 --- a/services/wsn/wsn-osgi/pom.xml +++ b/services/wsn/wsn-osgi/pom.xml @@ -28,7 +28,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/xkms/pom.xml b/services/xkms/pom.xml index 44223bc6ea1..b72f490ab72 100644 --- a/services/xkms/pom.xml +++ b/services/xkms/pom.xml @@ -28,7 +28,7 @@ org.apache.cxf.services cxf-services - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml diff --git a/services/xkms/xkms-client/pom.xml b/services/xkms/xkms-client/pom.xml index a13d327eeca..903dace3019 100644 --- a/services/xkms/xkms-client/pom.xml +++ b/services/xkms/xkms-client/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/xkms/xkms-common/pom.xml b/services/xkms/xkms-common/pom.xml index db5884948b8..aedb532ddd1 100644 --- a/services/xkms/xkms-common/pom.xml +++ b/services/xkms/xkms-common/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/xkms/xkms-service/pom.xml b/services/xkms/xkms-service/pom.xml index 5dcdb400d43..13131d45ffc 100644 --- a/services/xkms/xkms-service/pom.xml +++ b/services/xkms/xkms-service/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/xkms/xkms-war/pom.xml b/services/xkms/xkms-war/pom.xml index 33367df2045..9032ff75a82 100644 --- a/services/xkms/xkms-war/pom.xml +++ b/services/xkms/xkms-war/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/xkms/xkms-x509-handlers/pom.xml b/services/xkms/xkms-x509-handlers/pom.xml index 212f3e88840..d236f6ad09e 100644 --- a/services/xkms/xkms-x509-handlers/pom.xml +++ b/services/xkms/xkms-x509-handlers/pom.xml @@ -27,7 +27,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml diff --git a/services/xkms/xkms-x509-repo-ldap/pom.xml b/services/xkms/xkms-x509-repo-ldap/pom.xml index 61956536b89..9585f795ad0 100644 --- a/services/xkms/xkms-x509-repo-ldap/pom.xml +++ b/services/xkms/xkms-x509-repo-ldap/pom.xml @@ -3,7 +3,7 @@ org.apache.cxf cxf-parent - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../../parent/pom.xml org.apache.cxf.services.xkms diff --git a/systests/cdi/base/pom.xml b/systests/cdi/base/pom.xml index 6434b2a9f35..57b681007c3 100644 --- a/systests/cdi/base/pom.xml +++ b/systests/cdi/base/pom.xml @@ -22,7 +22,7 @@ cxf-systests-cdi org.apache.cxf.systests - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT 4.0.0 @@ -39,18 +39,12 @@ jetty-server - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp - org.eclipse.jetty - apache-jsp - - - jakarta.annotation - jakarta.annotation-api - - + org.eclipse.jetty.ee10 + jetty-ee10-servlet org.apache.cxf diff --git a/systests/cdi/base/src/main/java/org/apache/cxf/systests/cdi/base/jetty/AbstractJettyServer.java b/systests/cdi/base/src/main/java/org/apache/cxf/systests/cdi/base/jetty/AbstractJettyServer.java index d9a178ed4c1..e8d1a813d3a 100644 --- a/systests/cdi/base/src/main/java/org/apache/cxf/systests/cdi/base/jetty/AbstractJettyServer.java +++ b/systests/cdi/base/src/main/java/org/apache/cxf/systests/cdi/base/jetty/AbstractJettyServer.java @@ -22,14 +22,13 @@ import org.apache.cxf.cdi.CXFCdiServlet; import org.apache.cxf.testutil.common.AbstractBusTestServerBase; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; +import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; -import org.eclipse.jetty.util.resource.Resource; -import org.eclipse.jetty.webapp.WebAppContext; + import static org.junit.Assert.fail; @@ -71,10 +70,10 @@ protected void run() { } else { final WebAppContext context = new WebAppContext(); context.setContextPath(contextPath); - context.setBaseResource(Resource.newClassPathResource(resourcePath)); + context.setBaseResourceAsString(this.getClass().getResource(resourcePath).toString()); WebAppContext.addServerClasses(server, "org.eclipse.jetty.servlet.ServletContextHandler.Decorator"); - HandlerCollection handlers = new HandlerCollection(); + Handler.Collection handlers = new Handler.Sequence(); handlers.setHandlers(new Handler[] {context, new DefaultHandler()}); server.setHandler(handlers); } diff --git a/systests/cdi/cdi-owb/cdi-multiple-apps-owb/pom.xml b/systests/cdi/cdi-owb/cdi-multiple-apps-owb/pom.xml index 6256b0d069a..d1e149bc2c0 100644 --- a/systests/cdi/cdi-owb/cdi-multiple-apps-owb/pom.xml +++ b/systests/cdi/cdi-owb/cdi-multiple-apps-owb/pom.xml @@ -21,7 +21,7 @@ org.apache.cxf.systests cxf-systests-cdi-owb - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/cdi-owb/cdi-no-apps-owb/pom.xml b/systests/cdi/cdi-owb/cdi-no-apps-owb/pom.xml index 6309795c010..d6b0963918d 100644 --- a/systests/cdi/cdi-owb/cdi-no-apps-owb/pom.xml +++ b/systests/cdi/cdi-owb/cdi-no-apps-owb/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.systests cxf-systests-cdi-owb - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/cdi-owb/cdi-producers-owb/pom.xml b/systests/cdi/cdi-owb/cdi-producers-owb/pom.xml index 7ed29dd8eac..16d408cd318 100644 --- a/systests/cdi/cdi-owb/cdi-producers-owb/pom.xml +++ b/systests/cdi/cdi-owb/cdi-producers-owb/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.systests cxf-systests-cdi-owb - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/cdi-owb/pom.xml b/systests/cdi/cdi-owb/pom.xml index 8ed8f504c4d..27489cbbbea 100644 --- a/systests/cdi/cdi-owb/pom.xml +++ b/systests/cdi/cdi-owb/pom.xml @@ -21,7 +21,7 @@ org.apache.cxf.systests cxf-systests-cdi - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/cdi-weld/cdi-multiple-apps-weld/pom.xml b/systests/cdi/cdi-weld/cdi-multiple-apps-weld/pom.xml index 5bafbb93600..99101fcf6f5 100644 --- a/systests/cdi/cdi-weld/cdi-multiple-apps-weld/pom.xml +++ b/systests/cdi/cdi-weld/cdi-multiple-apps-weld/pom.xml @@ -21,7 +21,7 @@ org.apache.cxf.systests cxf-systests-cdi-weld - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/cdi-weld/cdi-no-apps-weld/pom.xml b/systests/cdi/cdi-weld/cdi-no-apps-weld/pom.xml index 700255194ad..f742a33d933 100644 --- a/systests/cdi/cdi-weld/cdi-no-apps-weld/pom.xml +++ b/systests/cdi/cdi-weld/cdi-no-apps-weld/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.systests cxf-systests-cdi-weld - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/cdi-weld/cdi-producers-weld/pom.xml b/systests/cdi/cdi-weld/cdi-producers-weld/pom.xml index f79b6ca3cc4..425cc07df2c 100644 --- a/systests/cdi/cdi-weld/cdi-producers-weld/pom.xml +++ b/systests/cdi/cdi-weld/cdi-producers-weld/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.systests cxf-systests-cdi-weld - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/cdi-weld/pom.xml b/systests/cdi/cdi-weld/pom.xml index 67f736e3e97..9bf34de5452 100644 --- a/systests/cdi/cdi-weld/pom.xml +++ b/systests/cdi/cdi-weld/pom.xml @@ -21,7 +21,7 @@ org.apache.cxf.systests cxf-systests-cdi - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../ 4.0.0 diff --git a/systests/cdi/pom.xml b/systests/cdi/pom.xml index 6e03b4a2fc9..c2aaeeed6f7 100644 --- a/systests/cdi/pom.xml +++ b/systests/cdi/pom.xml @@ -21,7 +21,7 @@ cxf-parent org.apache.cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml 4.0.0 @@ -48,17 +48,6 @@ jakarta.el ${cxf.glassfish.el.version} - - org.eclipse.jetty - apache-jsp - ${cxf.jetty.version} - - - org.mortbay.jasper - apache-jsp - - - javax.annotation jsr250-api diff --git a/systests/container-integration/grizzly/pom.xml b/systests/container-integration/grizzly/pom.xml index 9d25d5b86d7..e0a43cc888f 100644 --- a/systests/container-integration/grizzly/pom.xml +++ b/systests/container-integration/grizzly/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.systests cxf-systests-container-integration - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml cxf-systests-ci-grizzly diff --git a/systests/container-integration/pom.xml b/systests/container-integration/pom.xml index fded145eba9..0d241c206fa 100644 --- a/systests/container-integration/pom.xml +++ b/systests/container-integration/pom.xml @@ -21,7 +21,7 @@ cxf-parent org.apache.cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml 4.0.0 diff --git a/systests/container-integration/webapp/pom.xml b/systests/container-integration/webapp/pom.xml index eb5972bbee8..c7031a6172e 100644 --- a/systests/container-integration/webapp/pom.xml +++ b/systests/container-integration/webapp/pom.xml @@ -22,7 +22,7 @@ org.apache.cxf.systests cxf-systests-container-integration - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../pom.xml cxf-systests-ci-webapp diff --git a/systests/databinding/pom.xml b/systests/databinding/pom.xml index c950aa5a5a0..487162d3f06 100644 --- a/systests/databinding/pom.xml +++ b/systests/databinding/pom.xml @@ -21,7 +21,7 @@ cxf-parent org.apache.cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml 4.0.0 @@ -192,8 +192,8 @@ jetty-server - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp org.apache.cxf diff --git a/systests/databinding/src/test/java/org/apache/cxf/systest/aegis/AegisServer.java b/systests/databinding/src/test/java/org/apache/cxf/systest/aegis/AegisServer.java index b36920d4191..e607e151a26 100644 --- a/systests/databinding/src/test/java/org/apache/cxf/systest/aegis/AegisServer.java +++ b/systests/databinding/src/test/java/org/apache/cxf/systest/aegis/AegisServer.java @@ -19,11 +19,11 @@ package org.apache.cxf.systest.aegis; + import org.apache.cxf.testutil.common.AbstractBusTestServerBase; +import org.eclipse.jetty.ee10.webapp.WebAppContext; +import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.util.resource.Resource; -import org.eclipse.jetty.webapp.WebAppContext; public class AegisServer extends AbstractBusTestServerBase { @@ -34,15 +34,17 @@ public class AegisServer extends AbstractBusTestServerBase { protected void run() { //System.out.println("Starting Server"); - server = new org.eclipse.jetty.server.Server(Integer.parseInt(PORT)); - - WebAppContext webappcontext = new WebAppContext(); - webappcontext.setContextPath("/"); - webappcontext.setBaseResource(Resource.newClassPathResource("/webapp")); - - server.setHandler(new HandlerCollection(webappcontext, new DefaultHandler())); + try { + server = new org.eclipse.jetty.server.Server(Integer.parseInt(PORT)); + + WebAppContext webappcontext = new WebAppContext(); + webappcontext.setContextPath("/"); + webappcontext.setBaseResourceAsString(this.getClass().getResource("/webapp").toString()); + + server.setHandler(new Handler.Sequence(webappcontext, new DefaultHandler())); server.start(); + } catch (Exception e) { throw new RuntimeException(e); } diff --git a/systests/forked/pom.xml b/systests/forked/pom.xml index 3bc5e43fc7d..3c2c9ad4f14 100644 --- a/systests/forked/pom.xml +++ b/systests/forked/pom.xml @@ -21,7 +21,7 @@ cxf-parent org.apache.cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml 4.0.0 diff --git a/systests/jaxrs/pom.xml b/systests/jaxrs/pom.xml index e4503f5d14a..11f782dfedd 100644 --- a/systests/jaxrs/pom.xml +++ b/systests/jaxrs/pom.xml @@ -21,7 +21,7 @@ cxf-parent org.apache.cxf - 4.0.5-SNAPSHOT + 4.1.0-SNAPSHOT ../../parent/pom.xml 4.0.0 @@ -47,6 +47,10 @@ hibernate-validator ${cxf.hibernate.validator.version} + + org.eclipse.jetty.ee10 + jetty-ee10-apache-jsp + jakarta.json jakarta.json-api @@ -120,33 +124,6 @@ org.eclipse.jetty jetty-security - - org.eclipse.jetty - jetty-plus - - - org.eclipse.jetty - jetty-webapp - - - org.eclipse.jetty - apache-jsp - ${cxf.jetty.version} - - - org.glassfish - jakarta.el - - - org.ow2.asm - asm-commons - - - jakarta.annotation - jakarta.annotation-api - - - org.eclipse.jetty jetty-util @@ -203,6 +180,11 @@ cxf-rt-transports-websocket ${project.version} + + org.eclipse.jetty.ee10.websocket + jetty-ee10-websocket-jetty-server + test + org.apache.cxf cxf-rt-features-clustering @@ -365,11 +347,6 @@ ${cxf.aspectj.version} test - - cglib - cglib-nodep - test - jakarta.management.j2ee jakarta.management.j2ee-api @@ -535,22 +512,13 @@ test - org.apache.johnzon - johnzon-core - jakarta - test - - - org.apache.johnzon - johnzon-jsonb - jakarta + org.eclipse.parsson + parsson test - org.apache.johnzon - johnzon-mapper - ${cxf.johnzon.version} - jakarta + org.eclipse + yasson test @@ -628,30 +596,5 @@ - - jetty11 - - true - - - - org.eclipse.jetty.websocket - websocket-jakarta-server - ${cxf.jetty11.version} - - - jakarta.servlet - jakarta.servlet-api - - - test - - - org.eclipse.jetty - jetty-jaas - ${cxf.jetty11.version} - - - diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractSpringServer.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractSpringServer.java index ef329cc7bf7..b470fc1581f 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractSpringServer.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractSpringServer.java @@ -20,17 +20,17 @@ package org.apache.cxf.systest.jaxrs; import org.apache.cxf.testutil.common.AbstractBusTestServerBase; +import org.eclipse.jetty.ee10.webapp.WebAppContext; +import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.util.resource.Resource; -import org.eclipse.jetty.webapp.WebAppContext; +import org.eclipse.jetty.util.resource.ResourceFactory; public abstract class AbstractSpringServer extends AbstractBusTestServerBase { - private org.eclipse.jetty.server.Server server; - private String resourcePath; - private String contextPath; - private int port; + protected org.eclipse.jetty.server.Server server; + protected String resourcePath; + protected String contextPath; + protected int port; protected AbstractSpringServer(String path, int portNumber) { this(path, "/", portNumber); @@ -47,9 +47,9 @@ protected void run() { WebAppContext webappcontext = new WebAppContext(); webappcontext.setContextPath(contextPath); - webappcontext.setBaseResource(Resource.newClassPathResource(resourcePath)); - - server.setHandler(new HandlerCollection(webappcontext, new DefaultHandler())); + webappcontext.setBaseResource(ResourceFactory.of(webappcontext).newClassPathResource(resourcePath)); + webappcontext.setThrowUnavailableOnStartupException(true); + server.setHandler(new Handler.Sequence(webappcontext, new DefaultHandler())); try { configureServer(server); @@ -71,4 +71,6 @@ public void tearDown() throws Exception { server = null; } } + + } diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookCxfContinuationServlet3Server.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookCxfContinuationServlet3Server.java index 06ae8a5652d..c2db32f688c 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookCxfContinuationServlet3Server.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookCxfContinuationServlet3Server.java @@ -25,9 +25,10 @@ import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.apache.cxf.testutil.common.AbstractBusTestServerBase; import org.apache.cxf.transport.servlet.CXFNonSpringServlet; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.servlet.ServletHandler; -import org.eclipse.jetty.servlet.ServletHolder; public class BookCxfContinuationServlet3Server extends AbstractBusTestServerBase { public static final String PORT = allocatePort(BookCxfContinuationServlet3Server.class); @@ -52,8 +53,11 @@ protected void run() { private Server httpServer(CXFNonSpringServlet cxf) { Server server = new Server(Integer.parseInt(PORT)); + ServletContextHandler servletContextHandler = new ServletContextHandler(); + ServletHandler handler = new ServletHandler(); - server.setHandler(handler); + servletContextHandler.setHandler(handler); + server.setHandler(servletContextHandler); handler.addServletWithMapping(new ServletHolder(cxf), "/*"); return server; } diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSServicesListingTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSServicesListingTest.java index 43f167f2e32..ec167f9ea39 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSServicesListingTest.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSServicesListingTest.java @@ -19,6 +19,7 @@ package org.apache.cxf.systest.jaxrs; +import java.io.IOException; import java.io.InputStream; import java.net.URL; @@ -29,7 +30,10 @@ import org.junit.BeforeClass; import org.junit.Test; +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; public class JAXRSServicesListingTest extends AbstractBusClientServerTestBase { @@ -80,10 +84,13 @@ public void testEscapeHTML() throws Exception { "http://localhost:" + PORT + "/service_listing/services//../../"; URL url = new URL(endpointAddress); - try (InputStream input = url.openStream()) { - String result = IOUtils.readStringFromStream(input); - assertFalse(result.contains("/../../?formatted=false"; URL url = new URL(endpointAddress); - try (InputStream input = url.openStream()) { - String result = IOUtils.readStringFromStream(input); - assertFalse(result.contains("/../../"; URL url = new URL(endpointAddress); - try (InputStream input = url.openStream()) { - String result = IOUtils.readStringFromStream(input); - assertFalse(result.contains("/../../?formatted=false"; URL url = new URL(endpointAddress); - try (InputStream input = url.openStream()) { - String result = IOUtils.readStringFromStream(input); - assertFalse(result.contains("