This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/aries-jax-rs-whiteboard.git
commit db1cb1bff8d76104f55007d9b6801559bc4086fa Author: Romain Manni-Bucau <rmannibu...@gmail.com> AuthorDate: Tue Sep 22 17:56:24 2020 +0200 [ARIES-2003] ensure @ApplicationPath is always ignored --- .../whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java | 3 ++- .../internal/cxf/CxfJaxrsServiceRegistratorTest.java | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java index 760a94a..9debe73 100644 --- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java +++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java @@ -246,6 +246,7 @@ public class CxfJaxrsServiceRegistrator { } String address = "/"; + /* spec ignores @ApplicationPath ApplicationPath appPath = ResourceUtils.locateApplicationPath(app.getClass()); if (appPath != null) { address = appPath.value(); @@ -253,7 +254,7 @@ public class CxfJaxrsServiceRegistrator { if (!address.startsWith("/")) { address = "/" + address; } - // todo resolve conflicts between @ApplicationPath and @JaxrsApplicationBase (if same value -> use only one?) + */ bean.setAddress(address); bean.setStaticSubresourceResolution(false); bean.setResourceClasses(resourceClasses); diff --git a/jax-rs.whiteboard/src/test/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistratorTest.java b/jax-rs.whiteboard/src/test/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistratorTest.java index 3013cdd..902a4ba 100644 --- a/jax-rs.whiteboard/src/test/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistratorTest.java +++ b/jax-rs.whiteboard/src/test/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistratorTest.java @@ -21,6 +21,7 @@ import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.apache.cxf.jaxrs.model.ClassResourceInfo; import org.junit.Test; +import javax.ws.rs.ApplicationPath; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.core.Application; @@ -52,6 +53,17 @@ public class CxfJaxrsServiceRegistratorTest { assertTrue(SingletonResourceProvider.class.isInstance(cri.getResourceProvider())); } + @Test + public void ignoreAppPAth() { + final JAXRSServerFactoryBean bean = new CxfJaxrsServiceRegistrator( + null, null, emptyMap(), null + ).createEndpoint(new MyApp(), JAXRSServerFactoryBean.class); + assertEquals("/", bean.getAddress()); + } + + @ApplicationPath("foo") + public static class MyApp extends Application {} + @Path("my") public static class MyResource { @GET