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