From ba7132f3ce5629cff2cc4857fff7bd672511bee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Fri, 13 Jan 2012 10:18:02 +0100 Subject: Rename projects. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit – jsonrpc → same – master → same-android --- .../src/main/java/com/orbekk/PingServer.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 same-android/src/main/java/com/orbekk/PingServer.java (limited to 'same-android/src/main/java/com/orbekk/PingServer.java') diff --git a/same-android/src/main/java/com/orbekk/PingServer.java b/same-android/src/main/java/com/orbekk/PingServer.java new file mode 100644 index 0000000..5df2346 --- /dev/null +++ b/same-android/src/main/java/com/orbekk/PingServer.java @@ -0,0 +1,51 @@ +package com.orbekk; + +import org.eclipse.jetty.server.Server; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.googlecode.jsonrpc4j.JsonRpcServer; +import com.orbekk.rpc.PingService; +import com.orbekk.rpc.PingServiceImpl; +import com.orbekk.rpc.RpcHandler; + +public class PingServer { + private Server server; + private Logger logger = LoggerFactory.getLogger(getClass()); + + public PingServer(Server server) { + this.server = server; + } + + public static PingServer createPingServer(int port) { + PingService service = new PingServiceImpl(); + JsonRpcServer jsonServer = new JsonRpcServer(service, PingService.class); + + Server server = new Server(port); + RpcHandler rpcHandler = new RpcHandler(jsonServer); + server.setHandler(rpcHandler); + + return new PingServer(server); + } + + public void start() throws Exception { + logger.info("Starting server."); + server.start(); + } + + public void join() { + try { + server.join(); + } catch (InterruptedException e) { + logger.info("Received InterruptException while waiting for server.", e.fillInStackTrace()); + } + } + + public void stop() { + try { + server.stop(); + } catch (Exception e) { + logger.warn("Exception when stopping server.", e.fillInStackTrace()); + } + } +} -- cgit v1.2.3