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>

Reply via email to