Mercurial > hg > Members > nobuyasu > jungle-network
annotate src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java @ 193:89c15aa2bc6d
change transaction
author | tatsuki |
---|---|
date | Fri, 20 Mar 2015 16:18:42 +0900 |
parents | 3202a2a427b1 |
children |
rev | line source |
---|---|
112 | 1 package app.bbs.codesegment; |
44 | 2 |
3 import java.util.regex.Pattern; | |
4 import java.util.regex.Matcher; | |
5 | |
6 import javax.servlet.Servlet; | |
7 | |
154 | 8 import org.eclipse.jetty.server.Server; |
9 import org.eclipse.jetty.servlet.ServletHandler; | |
10 import org.eclipse.jetty.servlet.ServletHolder; | |
155 | 11 import org.eclipse.jetty.util.thread.ThreadPool; |
154 | 12 |
125 | 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardMessageServlet; |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardServlet; | |
178 | 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.EditMessageServlet; |
140
09b405d0830b
Removed EditMessageUseGetServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
139
diff
changeset
|
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.EditMessageUseGetServlet; |
125 | 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.ShowBoardsServlet; |
18 | |
154 | 19 |
44 | 20 |
21 import alice.codesegment.CodeSegment; | |
22 import alice.datasegment.CommandType; | |
23 import alice.datasegment.Receiver; | |
124 | 24 import app.bbs.NetworkBulletinBoard; |
112 | 25 import app.bbs.NetworkJungleBulletinBoard; |
143
7a7bac51a3cc
Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
140
diff
changeset
|
26 import app.bbs.RequestNumCheckServlet; |
146
29734d7d6521
Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
143
diff
changeset
|
27 import app.bbs.ShowMessageWithTimeStampServlet; |
106
f42f2e6b31de
Removed project reference and Added dependency in pom.xml
one
parents:
105
diff
changeset
|
28 |
44 | 29 public class StartBBSCodeSegment extends CodeSegment { |
155 | 30 |
31 int bbsPort = 8080; | |
32 Receiver host = ids.create(CommandType.PEEK); | |
33 private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$"); | |
34 private String[] args; | |
35 boolean persistentFlag = false; | |
36 | |
37 public StartBBSCodeSegment(String[] _args, int p) { | |
38 args = _args; | |
39 bbsPort = p; | |
40 host.setKey("host"); | |
41 } | |
42 | |
43 public StartBBSCodeSegment() { | |
44 args = null; | |
45 host.setKey("host"); | |
46 } | |
47 | |
48 @Override | |
49 public void run() { | |
50 String name = host.asString(); | |
51 Matcher matcher = pattern.matcher(name); | |
52 matcher.find(); | |
53 // String type = matcher.group(1); | |
54 for(String arg: args) { | |
55 if(arg.equals("-persistent")){ | |
56 persistentFlag = true; | |
57 } | |
58 } | |
59 NetworkBulletinBoard cassaBBS = null; | |
60 if(persistentFlag) { | |
61 System.out.println("log loading..."); | |
62 cassaBBS = NetworkJungleBulletinBoard.NewPersistentJungle(name); | |
63 cassaBBS.init(); | |
64 } else { | |
65 cassaBBS = new NetworkJungleBulletinBoard(name); | |
66 cassaBBS.init(); | |
67 } | |
48 | 68 |
155 | 69 System.out.println("StartBBSCodeSegment"); |
70 System.out.println("name : "+ name); | |
71 /* Jetty registration */ | |
72 String createBoardMessagePath = "/createBoardMessage"; | |
73 String createBoardPath = "/createBoard"; | |
74 String editMessagePath = "/editMessage"; | |
75 String showBoardMessagePath = "/showBoardMessage"; | |
190 | 76 |
77 | |
155 | 78 Server serv = new Server(bbsPort); |
79 ThreadPool thp = serv.getThreadPool(); | |
80 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS); | |
81 Servlet createBoard = new CreateBoardServlet(cassaBBS); | |
178 | 82 Servlet editBoardMessage = new EditMessageServlet(cassaBBS); |
155 | 83 Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath); |
84 // Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath); | |
193 | 85 Servlet board = new ShowMessageWithTimeStampServlet(cassaBBS,createBoardMessagePath,thp); |
190 | 86 |
155 | 87 ServletHandler context = new ServletHandler(); |
88 context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath); | |
89 context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath); | |
190 | 90 context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath); |
155 | 91 context.addServletWithMapping(new ServletHolder(index),"/"); |
92 context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath); | |
93 /* | |
94 * For write benchmark | |
95 */ | |
96 String editMessageUseGetPath = "/editMessageUseGet"; | |
97 Servlet editMessageUseGet = new EditMessageUseGetServlet(cassaBBS); | |
98 context.addServletWithMapping(new ServletHolder(editMessageUseGet), editMessageUseGetPath); | |
99 String requestNumCheckPath = "/requestNum"; | |
100 Servlet requestNumCheckServlet = new RequestNumCheckServlet(cassaBBS); | |
101 context.addServletWithMapping(new ServletHolder(requestNumCheckServlet), requestNumCheckPath); | |
102 | |
103 serv.setHandler(context); | |
104 try { | |
105 serv.start(); | |
192 | 106 } catch (Exception e) { } |
155 | 107 new LogUpdateCodeSegment(); |
108 } | |
44 | 109 |
110 } |