From 1c7bbed107d0767536c93a092dbf192a6a45a620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Fri, 3 Feb 2012 16:09:18 +0100 Subject: Refactor Handler code. Use servlets for everything. Ping service not yet implemented (becuase it's ugly and will be replaced with something else). --- .../main/java/com/orbekk/same/SameController.java | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'same/src/main/java/com/orbekk/same/SameController.java') diff --git a/same/src/main/java/com/orbekk/same/SameController.java b/same/src/main/java/com/orbekk/same/SameController.java index b75de96..bc912e6 100644 --- a/same/src/main/java/com/orbekk/same/SameController.java +++ b/same/src/main/java/com/orbekk/same/SameController.java @@ -1,6 +1,10 @@ package com.orbekk.same; +import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.handler.HandlerList; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -8,6 +12,10 @@ import com.googlecode.jsonrpc4j.JsonRpcServer; import com.orbekk.net.HttpUtil; import com.orbekk.paxos.PaxosService; import com.orbekk.paxos.PaxosServiceImpl; +import com.orbekk.same.http.HandlerFactory; +import com.orbekk.same.http.RpcHandler; +import com.orbekk.same.http.ServerBuilder; +import com.orbekk.same.http.StateServlet; public class SameController implements UrlReceiver { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -30,23 +38,18 @@ public class SameController implements UrlReceiver { MasterServiceImpl master = new MasterServiceImpl(state, connections, broadcaster); - JsonRpcServer jsonMaster = new JsonRpcServer(master, MasterService.class); ClientServiceImpl client = new ClientServiceImpl(state, connections); - JsonRpcServer jsonClient = new JsonRpcServer(client.getService(), - ClientService.class); PaxosServiceImpl paxos = new PaxosServiceImpl(""); - JsonRpcServer jsonPaxos = new JsonRpcServer(paxos, PaxosService.class); - Server server = new Server(port); + Server server = new ServerBuilder(port) + .withServlet(new StateServlet(), "/_/state") + .withService(client.getService(), ClientService.class) + .withService(master, MasterService.class) + .withService(paxos, PaxosService.class) + .build(); + SameController controller = new SameController(port, server, master, client, paxos); - RpcHandler rpcHandler = new RpcHandler(null); - - rpcHandler.addRpcServer("/MasterService.json", jsonMaster); - rpcHandler.addRpcServer("/ClientService.json", jsonClient); - rpcHandler.addRpcServer("/PaxosService.json", jsonPaxos); - - server.setHandler(rpcHandler); return controller; } -- cgit v1.2.3