diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-02-06 13:44:04 +0100 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-02-06 13:53:15 +0100 |
commit | bac2fa8e7e6286d64b50cdf6b7fd32f958080ceb (patch) | |
tree | 95e43cf95350e4a9508c3cf419ade35716fe5c9d /same/src/main/java/com/orbekk/same/http | |
parent | 922ce7491ade85b084f365b8bdcf9f8ef251cf82 (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.java | 6 | ||||
-rw-r--r-- | same/src/main/java/com/orbekk/same/http/ServerContainer.java | 51 |
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(); + } +} |