You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2021/04/03 03:14:28 UTC
[tomee] branch master updated: Passes
com.sun.ts.tests.jaxrs.ee.rs.pathparam.locator
This is an automated email from the ASF dual-hosted git repository.
dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
The following commit(s) were added to refs/heads/master by this push:
new 0cb3eac Passes com.sun.ts.tests.jaxrs.ee.rs.pathparam.locator
0cb3eac is described below
commit 0cb3eac77127a50dc8d38a2e99ac3b698209c7f8
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri Apr 2 20:13:33 2021 -0700
Passes com.sun.ts.tests.jaxrs.ee.rs.pathparam.locator
---
docs/contrib/debug/jaxrs.adoc | 20 ++++++++++++++++++++
.../java/org/apache/openejb/server/cxf/rs/Logs.java | 9 +++++++++
.../server/cxf/transport/HttpDestination.java | 17 +++++++++++++++++
.../org/apache/openejb/server/rest/RESTService.java | 6 ++++++
4 files changed, 52 insertions(+)
diff --git a/docs/contrib/debug/jaxrs.adoc b/docs/contrib/debug/jaxrs.adoc
new file mode 100644
index 0000000..ad15b18
--- /dev/null
+++ b/docs/contrib/debug/jaxrs.adoc
@@ -0,0 +1,20 @@
+:index-group: Debugging
+:jbake-date: 2021-04-02
+:jbake-type: page
+:jbake-status: published
+
+= Debugging JAX-RS Services
+
+Key classes:
+
+ - org.apache.cxf.jaxrs.model.OperationResourceInfo
+
+Key breakpoints for deployment
+
+ - org.apache.openejb.server.rest.RESTService#afterApplicationCreated
+ - org.apache.openejb.server.rest.RESTService#deployApplication
+
+Key breakpoints for runtime
+
+ - org.apache.cxf.jaxrs.utils.JAXRSUtils#findTargetMethod
+ -
\ No newline at end of file
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Logs.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Logs.java
index e061547..6697cd0 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Logs.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Logs.java
@@ -155,6 +155,15 @@ public class Logs {
return method.compareTo(o.method);
}
+
+ @Override
+ public String toString() {
+ return "LogOperationEndpointInfo{" +
+ "http='" + http + '\'' +
+ ", address='" + address + '\'' +
+ ", method='" + method + '\'' +
+ '}';
+ }
}
public static class LogResourceEndpointInfo implements Comparable<LogResourceEndpointInfo> {
diff --git a/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/HttpDestination.java b/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/HttpDestination.java
index 152434d..3a5f096 100644
--- a/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/HttpDestination.java
+++ b/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/HttpDestination.java
@@ -18,10 +18,15 @@
package org.apache.openejb.server.cxf.transport;
import org.apache.cxf.Bus;
+import org.apache.cxf.message.Message;
import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.transport.http.AbstractHTTPDestination;
import org.apache.cxf.transport.http.DestinationRegistry;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.logging.Logger;
@@ -38,4 +43,16 @@ public class HttpDestination extends AbstractHTTPDestination {
public Logger getLogger() {
return Logger.getLogger(HttpDestination.class.getName());
}
+
+ @Override
+ protected void setupMessage(final Message inMessage, final ServletConfig config, final ServletContext context, final HttpServletRequest req, final HttpServletResponse resp) throws IOException {
+ super.setupMessage(inMessage, config, context, req, resp);
+
+ /*
+ * This parameter is needed to pass these tests of the Jakarta EE TCK
+ *
+ * com.sun.ts.tests.jaxrs.ee.rs.pathparam.locator
+ */
+ inMessage.put("keep.subresource.candidates", true);
+ }
}
diff --git a/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java b/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
index ad13728..9fb42a9 100644
--- a/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
+++ b/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
@@ -109,6 +109,12 @@ public abstract class RESTService implements ServerService, SelfManaging {
protected boolean enabled = true;
private final String wildcard = SystemInstance.get().getProperty("openejb.rest.wildcard", ".*"); // embedded = regex, tomee = servlet
+ /**
+ * Deployment of JAX-RS services starts in response to a AfterApplicationCreated event
+ * after normal deployment is done
+ * @param appInfo the ear (real or auto-created) in which the webapp is contained
+ * @param webApp the webapp containing EJB or Pojo rest services to deploy
+ */
public void afterApplicationCreated(final AppInfo appInfo, final WebAppInfo webApp) {
if ("false".equalsIgnoreCase(appInfo.properties.getProperty("openejb.jaxrs.on", "true"))) {
return;