comparison src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java @ 44:9202247e6077

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