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 <[email protected]>
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>