This is an automated email from the ASF dual-hosted git repository. jlmonteiro pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomee.git
commit 620d257e8e40d1ab479da831f6abf099c1a369b0 Author: Jean-Louis Monteiro <[email protected]> AuthorDate: Wed Mar 30 13:23:20 2022 +0200 Fix arquillian servlet issue with jakarta --- .../apache/openejb/arquillian/openejb/server/ServiceManagers.java | 2 +- .../apache/openejb/arquillian/common/ArquillianFilterRunner.java | 5 +++-- .../java/org/apache/openejb/arquillian/common/TomEEContainer.java | 8 ++++---- .../openejb/arquillian/embedded/EmbeddedTomEEContainer.java | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/arquillian/arquillian-openejb-embedded/src/main/java/org/apache/openejb/arquillian/openejb/server/ServiceManagers.java b/arquillian/arquillian-openejb-embedded/src/main/java/org/apache/openejb/arquillian/openejb/server/ServiceManagers.java index 0a33c0b..da52c78 100644 --- a/arquillian/arquillian-openejb-embedded/src/main/java/org/apache/openejb/arquillian/openejb/server/ServiceManagers.java +++ b/arquillian/arquillian-openejb-embedded/src/main/java/org/apache/openejb/arquillian/openejb/server/ServiceManagers.java @@ -47,7 +47,7 @@ public final class ServiceManagers { private static ProtocolMetaData newHttpProtocolMetaData(final ServerService ss, final String contextRoot) { final HTTPContext httpContext = new HTTPContext(ss.getIP(), ss.getPort()); - httpContext.add(new Servlet("ArquillianServletRunner", contextRoot)); + httpContext.add(new Servlet("ArquillianServletRunnerEE9", contextRoot)); return new ProtocolMetaData().addContext(httpContext); } } diff --git a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java index 0031c89..ceef140 100644 --- a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java +++ b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java @@ -25,6 +25,7 @@ import jakarta.servlet.ServletException; import jakarta.servlet.ServletRequest; import jakarta.servlet.ServletResponse; import jakarta.servlet.http.HttpServlet; + import java.io.IOException; import java.util.Enumeration; @@ -39,9 +40,9 @@ import static java.util.Collections.emptyEnumeration; // We can't rely on scanning (@WebFilter) since we can't enrich the app because we need it for client tests too and // we need it to be added first // -// @WebFilter(urlPatterns = "/ArquillianServletRunner", filterName = "org.apache.openejb.arquillian.common.ArquillianFilterRunner") +// @WebFilter(urlPatterns = "/ArquillianServletRunnerEE9", filterName = "org.apache.openejb.arquillian.common.ArquillianFilterRunner") public class ArquillianFilterRunner implements Filter { - private static final String ARQUILLIAN_SERVLET_RUNNER = "org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner"; + private static final String ARQUILLIAN_SERVLET_RUNNER = "org.jboss.arquillian.protocol.servlet5.runner.ServletTestRunner"; private HttpServlet delegate; diff --git a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java index 1964ac9..c0764d4 100644 --- a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java +++ b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java @@ -145,18 +145,18 @@ public abstract class TomEEContainer<Configuration extends TomEEConfiguration> i final String archiveName, final HTTPContext httpContext) { // Avoids "inconvertible types" error in windows build if (archiveName.endsWith(".war")) { - httpContext.add(new Servlet("ArquillianServletRunner", "/" + getArchiveNameWithoutExtension(archive))); + httpContext.add(new Servlet("ArquillianServletRunnerEE9", "/" + getArchiveNameWithoutExtension(archive))); } else if (archiveName.endsWith(".ear") && appInfo.webApps.size() > 0) { final String contextRoot = System.getProperty("tomee.arquillian.ear.context", configuration.getWebContextToUseWithEars()); if (contextRoot != null) { - httpContext.add(new Servlet("ArquillianServletRunner", ("/" + contextRoot).replace("//", "/"))); + httpContext.add(new Servlet("ArquillianServletRunnerEE9", ("/" + contextRoot).replace("//", "/"))); } else { for (final WebAppInfo web : appInfo.webApps) { // normally a single webapp is supported cause of arquillian resolution - httpContext.add(new Servlet("ArquillianServletRunner", ("/" + web.contextRoot).replace("//", "/"))); + httpContext.add(new Servlet("ArquillianServletRunnerEE9", ("/" + web.contextRoot).replace("//", "/"))); } } } else { - httpContext.add(new Servlet("ArquillianServletRunner", "/arquillian-protocol")); // needs another jar to add the fake webapp + httpContext.add(new Servlet("ArquillianServletRunnerEE9", "/arquillian-protocol")); // needs another jar to add the fake webapp } } diff --git a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java index fd1de77..b26f5d9 100644 --- a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java +++ b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java @@ -136,7 +136,7 @@ public class EmbeddedTomEEContainer extends TomEEContainer<EmbeddedTomEEConfigur this.container.start(); SystemInstance.get().setComponent(AdditionalBeanDiscoverer.class, new TestClassDiscoverer()); // this property is not mandatory by default but depending the protocol it can be relevant so adding it by default - SystemInstance.get().setProperty("org.apache.openejb.servlet.filters", ArquillianFilterRunner.class.getName() + "=/ArquillianServletRunner"); + SystemInstance.get().setProperty("org.apache.openejb.servlet.filters", ArquillianFilterRunner.class.getName() + "=/ArquillianServletRunnerEE9"); } catch (final Exception e) { throw new LifecycleException("Something went wrong", e); } @@ -180,7 +180,7 @@ public class EmbeddedTomEEContainer extends TomEEContainer<EmbeddedTomEEConfigur final String context = this.getArchiveNameWithoutExtension(archive); final HTTPContext httpContext = new HTTPContext(this.configuration.getHost(), this.configuration.getHttpPort()); - httpContext.add(new Servlet("ArquillianServletRunner", "/" + context)); + httpContext.add(new Servlet("ArquillianServletRunnerEE9", "/" + context)); this.addServlets(httpContext, info); startCdiContexts(name); // ensure tests can use request/session scopes even if we don't have a request
