Mercurial > hg > Members > nobuyasu > jungle-network
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 } |