comparison src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java @ 112:8f9811a1e00c

Moved app files
author one
date Fri, 29 Nov 2013 04:31:22 +0900
parents src/main/java/jungle/app/bbs/codesegment/StartBBSCodeSegment.java@f42f2e6b31de
children f64ff5bd66f5
comparison
equal deleted inserted replaced
111:6e7724d55a72 112:8f9811a1e00c
1 package app.bbs.codesegment;
2
3 import java.util.regex.Pattern;
4 import java.util.regex.Matcher;
5
6 import javax.servlet.Servlet;
7
8 import org.mortbay.jetty.Server;
9 import org.mortbay.jetty.servlet.ServletHandler;
10 import org.mortbay.jetty.servlet.ServletHolder;
11
12 import alice.codesegment.CodeSegment;
13 import alice.datasegment.CommandType;
14 import alice.datasegment.Receiver;
15 import app.bbs.BulletinBoard;
16 import app.bbs.CreateBoardMessageServlet;
17 import app.bbs.CreateBoardServlet;
18 import app.bbs.EditMessageServlet;
19 import app.bbs.NetworkJungleBulletinBoard;
20 import app.bbs.ShowBoardMessageServlet;
21 import app.bbs.ShowBoardsServlet;
22
23
24 public class StartBBSCodeSegment extends CodeSegment {
25
26 int bbsPort = 8080;
27 Receiver host = ids.create(CommandType.PEEK);
28 private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$");
29
30 public StartBBSCodeSegment(int p) {
31 bbsPort = p;
32 host.setKey("host");
33 }
34
35 public StartBBSCodeSegment() {
36 host.setKey("host");
37 }
38
39 public void run() {
40 System.out.println("StartBBSCodeSegment");
41 String name = host.asString();
42 System.out.println("name : "+ name);
43 Matcher matcher = pattern.matcher(name);
44 matcher.find();
45 // String type = matcher.group(1);
46
47 /* Jetty registration */
48 BulletinBoard cassaBBS = new NetworkJungleBulletinBoard(name);
49 String createBoardMessagePath = "/createBoardMessage";
50 String createBoardPath = "/createBoard";
51 String editMessagePath = "/editMessage";
52 String showBoardMessagePath = "/showBoardMessage";
53
54 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
55 Servlet createBoard = new CreateBoardServlet(cassaBBS);
56 Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
57 Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath);
58 Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath);
59
60 Server serv = new Server(bbsPort);
61 ServletHandler context = new ServletHandler();
62 context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath);
63 context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath);
64 context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath);
65 context.addServletWithMapping(new ServletHolder(index),"/");
66 context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath);
67 serv.addHandler(context);
68 try {
69 serv.start();
70 } catch (Exception e) {
71 e.printStackTrace();
72 }
73 new LogUpdateCodeSegment();
74 }
75
76 }