summaryrefslogtreecommitdiff
path: root/same/src/main/java/com/orbekk/same/http
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-02-06 13:44:04 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-02-06 13:53:15 +0100
commitbac2fa8e7e6286d64b50cdf6b7fd32f958080ceb (patch)
tree95e43cf95350e4a9508c3cf419ade35716fe5c9d /same/src/main/java/com/orbekk/same/http
parent922ce7491ade85b084f365b8bdcf9f8ef251cf82 (diff)
Add a class that holds server information.
– Provides access to the context and port, used in testing.
Diffstat (limited to 'same/src/main/java/com/orbekk/same/http')
-rw-r--r--same/src/main/java/com/orbekk/same/http/ServerBuilder.java6
-rw-r--r--same/src/main/java/com/orbekk/same/http/ServerContainer.java51
2 files changed, 54 insertions, 3 deletions
diff --git a/same/src/main/java/com/orbekk/same/http/ServerBuilder.java b/same/src/main/java/com/orbekk/same/http/ServerBuilder.java
index a582283..ff29e43 100644
--- a/same/src/main/java/com/orbekk/same/http/ServerBuilder.java
+++ b/same/src/main/java/com/orbekk/same/http/ServerBuilder.java
@@ -32,9 +32,9 @@ public class ServerBuilder {
return withServlet(new RpcServlet(server), pathSpec);
}
- public Server build() {
- Server server = new Server(port);
- server.setHandler(getServletContextHandler());
+ public ServerContainer build() {
+ ServerContainer server = ServerContainer.create(port);
+ server.setContext(getServletContextHandler());
return server;
}
diff --git a/same/src/main/java/com/orbekk/same/http/ServerContainer.java b/same/src/main/java/com/orbekk/same/http/ServerContainer.java
new file mode 100644
index 0000000..cd4dc4d
--- /dev/null
+++ b/same/src/main/java/com/orbekk/same/http/ServerContainer.java
@@ -0,0 +1,51 @@
+package com.orbekk.same.http;
+
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ServerContainer {
+ Logger logger = LoggerFactory.getLogger(getClass());
+ Server server;
+ int port;
+ ServletContextHandler context = null;
+
+ public ServerContainer(Server server, int port, ServletContextHandler context) {
+ this.server = server;
+ this.port = port;
+ this.context = context;
+ }
+
+ public static ServerContainer create(int port) {
+ Server server = new Server(port);
+ return new ServerContainer(server, port, null);
+ }
+
+ public void setContext(ServletContextHandler context) {
+ server.setHandler(context);
+ this.context = context;
+ }
+
+ public int getPort() {
+ if (port == 0) {
+ return server.getConnectors()[0].getLocalPort();
+ } else {
+ return port;
+ }
+ }
+
+ public void start() throws Exception {
+ server.start();
+ logger.info("Started server on port {}", getPort());
+ }
+
+ public void stop() throws Exception {
+ server.stop();
+ logger.info("Server stopped.");
+ }
+
+ public void join() throws InterruptedException {
+ server.join();
+ }
+}