You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by rm...@apache.org on 2020/09/22 16:09:47 UTC
[aries-jax-rs-whiteboard] 01/02: [ARIES-2003] ensure
@ApplicationPath is always ignored
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 <rm...@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