This is an automated email from the ASF dual-hosted git repository. veithen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git
The following commit(s) were added to refs/heads/master by this push: new f246851 Upgrade axis2-transport-testkit to Jetty 9 f246851 is described below commit f246851c4ba4bf6d55ab8e2ff3575f9a79d15b32 Author: Andreas Veithen <andreas.veit...@gmail.com> AuthorDate: Sat Jan 23 18:29:25 2021 +0000 Upgrade axis2-transport-testkit to Jetty 9 --- modules/transport/testkit/pom.xml | 5 ++- .../transport/testkit/http/JettyAsyncEndpoint.java | 13 ++++---- .../testkit/http/JettyByteArrayAsyncEndpoint.java | 15 +++++---- .../transport/testkit/http/JettyEchoEndpoint.java | 12 +++---- .../transport/testkit/http/JettyEndpoint.java | 37 +++++++++++----------- .../testkit/http/JettyRESTAsyncEndpoint.java | 13 ++++---- .../axis2/transport/testkit/http/JettyServer.java | 26 ++++++++------- pom.xml | 5 +++ 8 files changed, 69 insertions(+), 57 deletions(-) diff --git a/modules/transport/testkit/pom.xml b/modules/transport/testkit/pom.xml index 8f297ab..242244c 100644 --- a/modules/transport/testkit/pom.xml +++ b/modules/transport/testkit/pom.xml @@ -76,9 +76,8 @@ <artifactId>aspectjrt</artifactId> </dependency> <dependency> - <groupId>jetty</groupId> - <artifactId>jetty</artifactId> - <version>5.1.10</version> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java index 42cb529..e8ed2ae 100644 --- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java +++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java @@ -21,15 +21,16 @@ package org.apache.axis2.transport.testkit.http; import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.apache.axis2.transport.testkit.endpoint.AsyncEndpoint; import org.apache.axis2.transport.testkit.endpoint.InOnlyEndpointSupport; import org.apache.axis2.transport.testkit.message.IncomingMessage; import org.apache.axis2.transport.testkit.name.Name; import org.apache.axis2.transport.testkit.tests.Setup; import org.apache.axis2.transport.testkit.tests.Transient; -import org.mortbay.http.HttpException; -import org.mortbay.http.HttpRequest; -import org.mortbay.http.HttpResponse; @Name("jetty") public abstract class JettyAsyncEndpoint<M> extends JettyEndpoint implements AsyncEndpoint<M> { @@ -41,13 +42,13 @@ public abstract class JettyAsyncEndpoint<M> extends JettyEndpoint implements Asy } @Override - protected void handle(String pathParams, HttpRequest request, HttpResponse response) - throws HttpException, IOException { + protected void handle(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { support.putMessage(handle(request)); } - protected abstract IncomingMessage<M> handle(HttpRequest request) throws HttpException, IOException; + protected abstract IncomingMessage<M> handle(HttpServletRequest request) throws ServletException, IOException; public void clear() throws Exception { support.clear(); diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java index b338e40..31538cf 100644 --- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java +++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java @@ -26,14 +26,15 @@ import java.io.PrintWriter; import java.text.ParseException; import java.util.Enumeration; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; + import org.apache.axiom.mime.ContentType; import org.apache.axis2.transport.testkit.message.IncomingMessage; import org.apache.axis2.transport.testkit.tests.Setup; import org.apache.axis2.transport.testkit.tests.Transient; import org.apache.axis2.transport.testkit.util.TestKitLogManager; import org.apache.commons.io.IOUtils; -import org.mortbay.http.HttpException; -import org.mortbay.http.HttpRequest; public class JettyByteArrayAsyncEndpoint extends JettyAsyncEndpoint<byte[]> { private @Transient TestKitLogManager logManager; @@ -44,24 +45,24 @@ public class JettyByteArrayAsyncEndpoint extends JettyAsyncEndpoint<byte[]> { } @Override - protected IncomingMessage<byte[]> handle(HttpRequest request) throws HttpException, IOException { + protected IncomingMessage<byte[]> handle(HttpServletRequest request) throws ServletException, IOException { byte[] data = IOUtils.toByteArray(request.getInputStream()); logRequest(request, data); ContentType contentType; try { contentType = new ContentType(request.getContentType()); } catch (ParseException ex) { - throw new HttpException(500, "Unparsable Content-Type"); + throw new ServletException("Unparsable Content-Type"); } return new IncomingMessage<byte[]>(contentType, data); } - private void logRequest(HttpRequest request, byte[] data) throws IOException { + private void logRequest(HttpServletRequest request, byte[] data) throws IOException { OutputStream out = logManager.createLog("jetty"); PrintWriter pw = new PrintWriter(new OutputStreamWriter(out), false); - for (Enumeration<?> e = request.getFieldNames(); e.hasMoreElements(); ) { + for (Enumeration<?> e = request.getHeaderNames(); e.hasMoreElements(); ) { String name = (String)e.nextElement(); - for (Enumeration<?> e2 = request.getFieldValues(name); e2.hasMoreElements(); ) { + for (Enumeration<?> e2 = request.getHeaders(name); e2.hasMoreElements(); ) { pw.print(name); pw.print(": "); pw.println((String)e2.nextElement()); diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java index 80bf483..7bf5871 100644 --- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java +++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java @@ -22,6 +22,10 @@ package org.apache.axis2.transport.testkit.http; import java.io.IOException; import java.util.Map; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import junit.framework.Assert; import org.apache.axis2.context.MessageContext; @@ -29,17 +33,13 @@ import org.apache.axis2.transport.testkit.axis2.MessageContextValidator; import org.apache.axis2.transport.testkit.endpoint.EndpointErrorListener; import org.apache.axis2.transport.testkit.endpoint.InOutEndpoint; import org.apache.commons.io.IOUtils; -import org.mortbay.http.HttpException; -import org.mortbay.http.HttpRequest; -import org.mortbay.http.HttpResponse; public class JettyEchoEndpoint extends JettyEndpoint implements InOutEndpoint, MessageContextValidator { @Override - protected void handle(String pathParams, HttpRequest request, - HttpResponse response) throws HttpException, IOException { + protected void handle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(request.getContentType()); - response.addField("X-Test-Header", "test value"); + response.addHeader("X-Test-Header", "test value"); IOUtils.copy(request.getInputStream(), response.getOutputStream()); } diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java index 3cba81f..0acc671 100644 --- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java +++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java @@ -21,45 +21,46 @@ package org.apache.axis2.transport.testkit.http; import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.apache.axis2.transport.testkit.tests.Setup; import org.apache.axis2.transport.testkit.tests.TearDown; import org.apache.axis2.transport.testkit.tests.Transient; -import org.mortbay.http.HttpException; -import org.mortbay.http.HttpHandler; -import org.mortbay.http.HttpRequest; -import org.mortbay.http.HttpResponse; -import org.mortbay.http.handler.AbstractHttpHandler; +import org.eclipse.jetty.server.Handler; +import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.handler.AbstractHandler; public abstract class JettyEndpoint { private @Transient JettyServer server; - private @Transient HttpHandler handler; + private @Transient Handler handler; @Setup @SuppressWarnings({ "unused", "serial" }) private void setUp(JettyServer server, HttpChannel channel) throws Exception { this.server = server; final String path = "/" + channel.getServiceName(); - handler = new AbstractHttpHandler() { - public void handle(String pathInContext, String pathParams, - HttpRequest request, HttpResponse response) throws HttpException, - IOException { - - if (pathInContext.equals(path)) { - JettyEndpoint.this.handle(pathParams, request, response); - request.setHandled(true); + handler = new AbstractHandler() { + @Override + public void handle(String target, Request baseRequest, HttpServletRequest request, + HttpServletResponse response) throws IOException, ServletException { + if (target.equals(path)) { + JettyEndpoint.this.handle(request, response); + baseRequest.setHandled(true); } } }; - server.getContext().addHandler(handler); + server.addHandler(handler); handler.start(); } @TearDown @SuppressWarnings("unused") private void tearDown() throws Exception { handler.stop(); - server.getContext().removeHandler(handler); + server.removeHandler(handler); } - protected abstract void handle(String pathParams, HttpRequest request, HttpResponse response) - throws HttpException, IOException; + protected abstract void handle(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException; } diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java index f4dc238..c91495f 100644 --- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java +++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java @@ -24,20 +24,21 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; + import org.apache.axis2.transport.testkit.message.IncomingMessage; import org.apache.axis2.transport.testkit.message.RESTMessage; import org.apache.axis2.transport.testkit.message.RESTMessage.Parameter; -import org.mortbay.http.HttpException; -import org.mortbay.http.HttpRequest; public class JettyRESTAsyncEndpoint extends JettyAsyncEndpoint<RESTMessage> { @Override - protected IncomingMessage<RESTMessage> handle(HttpRequest request) - throws HttpException, IOException { + protected IncomingMessage<RESTMessage> handle(HttpServletRequest request) + throws ServletException, IOException { List<Parameter> parameters = new LinkedList<Parameter>(); - for (Map.Entry<String,List<String>> entry : - ((Map<String,List<String>>)request.getParameters()).entrySet()) { + for (Map.Entry<String,String[]> entry : + request.getParameterMap().entrySet()) { for (String value : entry.getValue()) { parameters.add(new Parameter(entry.getKey(), value)); } diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java index d205f3c..83a2b02 100644 --- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java +++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java @@ -23,30 +23,34 @@ import org.apache.axis2.transport.testkit.channel.Channel; import org.apache.axis2.transport.testkit.tests.Setup; import org.apache.axis2.transport.testkit.tests.TearDown; import org.apache.axis2.transport.testkit.tests.Transient; -import org.mortbay.http.HttpContext; -import org.mortbay.http.SocketListener; -import org.mortbay.jetty.Server; +import org.eclipse.jetty.server.Handler; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.handler.ContextHandler; +import org.eclipse.jetty.server.handler.HandlerList; public class JettyServer { public static final JettyServer INSTANCE = new JettyServer(); private @Transient Server server; - private @Transient HttpContext context; + private @Transient HandlerList handlerList; private JettyServer() {} @Setup @SuppressWarnings("unused") private void setUp(HttpTestEnvironment env) throws Exception { - server = new Server(); - SocketListener listener = new SocketListener(); - listener.setPort(env.getServerPort()); - server.addListener(listener); - context = new HttpContext(server, Channel.CONTEXT_PATH + "/*"); + server = new Server(env.getServerPort()); + ContextHandler context = new ContextHandler(server, Channel.CONTEXT_PATH); + handlerList = new HandlerList(); + context.setHandler(handlerList); server.start(); } - public HttpContext getContext() { - return context; + public void addHandler(Handler handler) { + handlerList.addHandler(handler); + } + + public void removeHandler(Handler handler) { + handlerList.removeHandler(handler); } @TearDown @SuppressWarnings("unused") diff --git a/pom.xml b/pom.xml index ef2bde1..c4ed9c8 100644 --- a/pom.xml +++ b/pom.xml @@ -1079,6 +1079,11 @@ </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> </dependency>