4
|
1 package jp.ac.u_ryukyu.ie.cr.bbs.browsing;
|
1
|
2
|
6
|
3 import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle;
|
|
4 import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
|
|
5 import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultTreeEditor;
|
|
6 import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser;
|
1
|
7 import org.mortbay.jetty.Connector;
|
|
8 import org.mortbay.jetty.Server;
|
|
9 import org.mortbay.jetty.nio.SelectChannelConnector;
|
|
10 import org.mortbay.jetty.servlet.ServletHandler;
|
|
11 import org.mortbay.jetty.servlet.ServletHolder;
|
|
12 import org.mortbay.thread.QueuedThreadPool;
|
|
13
|
|
14 import javax.servlet.Servlet;
|
|
15
|
|
16
|
|
17 /**
|
|
18 * Hello world!
|
|
19 */
|
5
|
20 public class App {
|
6
|
21
|
|
22
|
5
|
23 public static void main(String[] args) throws Exception {
|
6
|
24 Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(
|
|
25 new DefaultTraverser()));
|
|
26 new App().startBBS(args, jungle);
|
|
27 }
|
4
|
28
|
6
|
29
|
|
30 public void startBBS(String[] args, Jungle jungle) throws Exception {
|
|
31 BrowsingBulletinBoard cassaBBS = new JungleBrowsingBulletinBoard(jungle);
|
|
32 if (args.length != 0)
|
|
33 cassaBBS.importLayout("Layout", args[0]);
|
5
|
34 String createBoardMessagePath = "/createBoardMessage";
|
|
35 String createBoardPath = "/createBoard";
|
|
36 String editMessagePath = "/editMessage";
|
|
37 String showBoardMessagePath = "/showBoardMessage";
|
|
38 String createChildPath = "/createChildMessage";
|
|
39 String layoutImportPath = "/layoutImportPath";
|
|
40 String findNodeMessagePath = "/findNode";
|
|
41 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
|
|
42 Servlet createBoard = new CreateBoardServlet(cassaBBS);
|
|
43 Servlet importLayout = new importLayoutServlet(cassaBBS);
|
|
44 Servlet createChild = new CreateChildServlet(cassaBBS);
|
|
45 Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
|
|
46 Servlet index = new ShowBoardsServlet(cassaBBS, createBoardPath, showBoardMessagePath, layoutImportPath, findNodeMessagePath);
|
|
47 Servlet find = new FindNodeServlet(cassaBBS, showBoardMessagePath);
|
|
48 Servlet board = new ShowBoardMessageServlet(cassaBBS, createBoardMessagePath, createChildPath, editMessagePath, showBoardMessagePath);
|
|
49
|
1
|
50 // Server serv = new Server(8080);
|
6
|
51 Server serv = new Server(8000);
|
5
|
52 SelectChannelConnector connector = new SelectChannelConnector();
|
6
|
53 connector.setPort(8000);
|
5
|
54 connector.setThreadPool(new QueuedThreadPool(1000));
|
|
55 serv.setConnectors(new Connector[]{connector});
|
4
|
56
|
5
|
57 ServletHandler context = new ServletHandler();
|
|
58 context.addServletWithMapping(new ServletHolder(find), findNodeMessagePath);
|
|
59 context.addServletWithMapping(new ServletHolder(createBoardMessage), createBoardMessagePath);
|
|
60 context.addServletWithMapping(new ServletHolder(createBoard), createBoardPath);
|
|
61 context.addServletWithMapping(new ServletHolder(importLayout), layoutImportPath);
|
|
62 context.addServletWithMapping(new ServletHolder(createChild), createChildPath);
|
|
63 context.addServletWithMapping(new ServletHolder(editBoardMessage), editMessagePath);
|
|
64 context.addServletWithMapping(new ServletHolder(index), "/");
|
|
65 context.addServletWithMapping(new ServletHolder(board), showBoardMessagePath);
|
|
66
|
|
67 serv.addHandler(context);
|
|
68 serv.start();
|
1
|
69 }
|
|
70 }
|