annotate src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java @ 186:ef5045af0753

add permission .java
author tatsuki
date Tue, 16 Sep 2014 07:49:14 +0900
parents 89db8388db0f
children 269bada9eedc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
112
8f9811a1e00c Moved app files
one
parents: 106
diff changeset
1 package app.bbs.codesegment;
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
2
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
3 import java.util.regex.Pattern;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
4 import java.util.regex.Matcher;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
5
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
6 import javax.servlet.Servlet;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
7
154
a6bf0369f0a6 Change jetty Ver
tatsuki
parents: 153
diff changeset
8 import org.eclipse.jetty.server.Server;
a6bf0369f0a6 Change jetty Ver
tatsuki
parents: 153
diff changeset
9 import org.eclipse.jetty.servlet.ServletHandler;
a6bf0369f0a6 Change jetty Ver
tatsuki
parents: 153
diff changeset
10 import org.eclipse.jetty.servlet.ServletHolder;
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
11 import org.eclipse.jetty.util.thread.ThreadPool;
154
a6bf0369f0a6 Change jetty Ver
tatsuki
parents: 153
diff changeset
12
125
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardMessageServlet;
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardServlet;
178
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
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
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.ShowBoardsServlet;
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
18
154
a6bf0369f0a6 Change jetty Ver
tatsuki
parents: 153
diff changeset
19
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
20
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
21 import alice.codesegment.CodeSegment;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
22 import alice.datasegment.CommandType;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
23 import alice.datasegment.Receiver;
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
24 import app.bbs.NetworkBulletinBoard;
112
8f9811a1e00c Moved app files
one
parents: 106
diff changeset
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;
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
28 import app.bbs.thinks.CreateNode;
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
29 import app.bbs.thinks.EditAttributeServlet;
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
30 import app.bbs.thinks.EditNodeName;
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
31 import app.bbs.thinks.ShowMatrix;
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
32 import app.bbs.thinks.createAttributeMatrix;
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
33 import app.bbs.thinks.deleteAttributeServlet;
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
34 import app.bbs.thinks.deleteNodeServlet;
186
ef5045af0753 add permission .java
tatsuki
parents: 178
diff changeset
35 import app.bbs.thinks.permission;
106
f42f2e6b31de Removed project reference and Added dependency in pom.xml
one
parents: 105
diff changeset
36
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
37 public class StartBBSCodeSegment extends CodeSegment {
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
38
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
39 int bbsPort = 8080;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
40 Receiver host = ids.create(CommandType.PEEK);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
41 private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$");
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
42 private String[] args;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
43 boolean persistentFlag = false;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
44
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
45 public StartBBSCodeSegment(String[] _args, int p) {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
46 args = _args;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
47 bbsPort = p;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
48 host.setKey("host");
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
49 }
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
50
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
51 public StartBBSCodeSegment() {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
52 args = null;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
53 host.setKey("host");
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
54 }
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
55
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
56 @Override
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
57 public void run() {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
58 String name = host.asString();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
59 Matcher matcher = pattern.matcher(name);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
60 matcher.find();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
61 // String type = matcher.group(1);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
62 for(String arg: args) {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
63 if(arg.equals("-persistent")){
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
64 persistentFlag = true;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
65 }
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
66 }
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
67 NetworkBulletinBoard cassaBBS = null;
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
68 if(persistentFlag) {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
69 System.out.println("log loading...");
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
70 cassaBBS = NetworkJungleBulletinBoard.NewPersistentJungle(name);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
71 cassaBBS.init();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
72 } else {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
73 cassaBBS = new NetworkJungleBulletinBoard(name);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
74 cassaBBS.init();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
75 }
48
ab8c655ef457 implemented bbsPort setting
one
parents: 47
diff changeset
76
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
77 System.out.println("StartBBSCodeSegment");
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
78 System.out.println("name : "+ name);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
79 /* Jetty registration */
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
80 String createBoardMessagePath = "/createBoardMessage";
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
81 String createFolderPath = "/createFolder";
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
82 String createBoardPath = "/createBoard";
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
83 String editMessagePath = "/editMessage";
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
84 String showBoardMessagePath = "/showBoardMessage";
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
85 String showMatrixPath = "/showMatrix";
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
86 String createAttributePath = "/createAttribute";
169
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 166
diff changeset
87 String editAttributePath = "/editAttribute";
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
88 String deleteAttributePath = "/deleteAttribute";
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
89 String deleteNodePath = "/deleteNode";
178
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
90 String editNodePath = "/editNode";
186
ef5045af0753 add permission .java
tatsuki
parents: 178
diff changeset
91 String permissionPath = "/permission";
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
92 Server serv = new Server(bbsPort);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
93 ThreadPool thp = serv.getThreadPool();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
94 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
95 Servlet createFolder = new CreateNode(cassaBBS);
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
96 Servlet createBoard = new CreateBoardServlet(cassaBBS);
178
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
97 Servlet editNode = new EditNodeName(cassaBBS);
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
98 Servlet createAttribute = new createAttributeMatrix(cassaBBS);
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
99 Servlet editAttribute = new EditAttributeServlet(cassaBBS);
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
100 Servlet deleteAttribute = new deleteAttributeServlet(cassaBBS);
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
101 Servlet deleteNode = new deleteNodeServlet(cassaBBS);
178
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
102 Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
103 Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
104 // Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath);
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
105 Servlet board = new ShowMessageWithTimeStampServlet(cassaBBS,createBoardMessagePath,editMessagePath,showMatrixPath, thp);
178
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
106 Servlet matrix = new ShowMatrix(cassaBBS,createFolderPath,editNodePath, showMatrixPath, createAttributePath, editAttributePath,deleteAttributePath,deleteNodePath,thp);
186
ef5045af0753 add permission .java
tatsuki
parents: 178
diff changeset
107 Servlet per = new permission(cassaBBS,permissionPath,thp);
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
108 ServletHandler context = new ServletHandler();
178
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
109 context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath);
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
110
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
111 context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath);
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
112 context.addServletWithMapping(new ServletHolder(createFolder),createFolderPath);
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
113 context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath);
178
89db8388db0f bag fix
tatsuki
parents: 177
diff changeset
114 context.addServletWithMapping(new ServletHolder(editNode),editNodePath);
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
115 context.addServletWithMapping(new ServletHolder(createAttribute),createAttributePath);
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
116 context.addServletWithMapping(new ServletHolder(index),"/");
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
117 context.addServletWithMapping(new ServletHolder(deleteAttribute),deleteAttributePath);
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
118 context.addServletWithMapping(new ServletHolder(deleteNode),deleteNodePath);
169
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 166
diff changeset
119 context.addServletWithMapping(new ServletHolder(editAttribute),editAttributePath);
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
120 context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath);
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 157
diff changeset
121 context.addServletWithMapping(new ServletHolder(matrix),showMatrixPath);
186
ef5045af0753 add permission .java
tatsuki
parents: 178
diff changeset
122 context.addServletWithMapping(new ServletHolder(per),permissionPath);
155
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
123 /*
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
124 * For write benchmark
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
125 */
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
126 String editMessageUseGetPath = "/editMessageUseGet";
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
127 Servlet editMessageUseGet = new EditMessageUseGetServlet(cassaBBS);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
128 context.addServletWithMapping(new ServletHolder(editMessageUseGet), editMessageUseGetPath);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
129 String requestNumCheckPath = "/requestNum";
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
130 Servlet requestNumCheckServlet = new RequestNumCheckServlet(cassaBBS);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
131 context.addServletWithMapping(new ServletHolder(requestNumCheckServlet), requestNumCheckPath);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
132
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
133 serv.setHandler(context);
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
134 try {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
135 serv.start();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
136 } catch (Exception e) {
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
137 e.printStackTrace();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
138 }
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
139 new LogUpdateCodeSegment();
83e99eba6ec1 async thread comtext in showmessage servlet
tatsuki
parents: 154
diff changeset
140 }
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
141
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
142 }