annotate src/main/java/app/bbs/thinks/ShowMatrix.java @ 186:ef5045af0753

add permission .java
author tatsuki
date Tue, 16 Sep 2014 07:49:14 +0900
parents 6f104ab4eb81
children 269bada9eedc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
1 package app.bbs.thinks;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
2
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
3 import java.io.PrintWriter;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
4
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
5 import javax.servlet.http.HttpServlet;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
6 import javax.servlet.http.HttpServletRequest;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
7 import javax.servlet.http.HttpServletResponse;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
8
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
9 import org.eclipse.jetty.util.thread.ThreadPool;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
10
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
11 import app.bbs.NetworkBulletinBoard;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BoardMessage;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
13
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
14 public class ShowMatrix extends HttpServlet {
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
15 /**
171
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 170
diff changeset
16 * edit Node Path is rename editNodePath
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 170
diff changeset
17 **/
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
18 private static final long serialVersionUID = 1L;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
19 private final NetworkBulletinBoard bbs;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
20 private final String createBoardMessagePath;
171
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 170
diff changeset
21 private final String editNodePath;
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
22 private final String showMatrixPath;
167
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
23 private final String createAttributePath;
169
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 168
diff changeset
24 private final String editAttributePath;
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
25 private final String deleteAttributePath;
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
26 private final String deleteNodePath;
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
27 private static final String PARAM_BOARD_NAME = "bname";
173
d483caeabffc change request id
tatsuki
parents: 171
diff changeset
28 private static final String PARAM_NODE_PATH = "uuid";
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
29 private static final String PARAM_NODE_NAME = "nodeName";
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
30
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
31 public ShowMatrix(NetworkBulletinBoard _bbs,
171
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 170
diff changeset
32 String _createBoardMessagePath, String _editNodePath,
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
33 String _showMatrixPath, String _createAttributePath,
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
34 String _editAttributePath, String _deleteAttributePath,
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
35 String _deleteNodePath, ThreadPool thp) {
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
36 bbs = _bbs;
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
37 deleteAttributePath = _deleteAttributePath;
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
38 deleteNodePath = _deleteNodePath;
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
39 createAttributePath = _createAttributePath;
169
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 168
diff changeset
40 editAttributePath = _editAttributePath;
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
41 showMatrixPath = _showMatrixPath;
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
42 createBoardMessagePath = _createBoardMessagePath;
171
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 170
diff changeset
43 editNodePath = _editNodePath;
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
44 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
45
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
46 public void doGet(HttpServletRequest _req, HttpServletResponse _res) {
186
ef5045af0753 add permission .java
tatsuki
parents: 177
diff changeset
47
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
48 final String bname = _req.getParameter(PARAM_BOARD_NAME);
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
49 String path = _req.getParameter(PARAM_NODE_PATH);
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
50 String nodeName = _req.getParameter(PARAM_NODE_NAME);
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
51 try {
174
e30880a72909 change servlet encode utf-8
tatsuki
parents: 173
diff changeset
52 _res.setCharacterEncoding("UTF-8");
173
d483caeabffc change request id
tatsuki
parents: 171
diff changeset
53 printBoard(bname, path, nodeName, _res.getWriter());
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
54 } catch (Exception _e) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
55 _res.setStatus(500);
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
56 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
57 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
58
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
59 private void printBoard(String _bname, String path, String nodeName,
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
60 PrintWriter _pw) throws Exception {
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
61 _pw.write("<html><body>\n");
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
62
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
63 if (nodeName == null)
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
64 nodeName = "rootNode";
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
65
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
66 _pw.write("<h1>" + bbs.sanitize(nodeName) + " Path = " + path + "</h1>\n");
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
67
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
68 _pw.write("<form action='" + createBoardMessagePath
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
69 + "' method='POST'>\n");
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
70 _pw.write("<p><input type='hidden' name='bname' value='" + bbs.sanitize(_bname)
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
71 + "'/> </p>\n");
173
d483caeabffc change request id
tatsuki
parents: 171
diff changeset
72 _pw.write("<p>Folder Name<br/> <input type='textarea' name='name'/> </p>\n");
d483caeabffc change request id
tatsuki
parents: 171
diff changeset
73 _pw.write("<input type='hidden' name='path' value='" + path + "'/>");
167
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
74 _pw.write("<p><input type='submit' value='submit'/></p>\n");
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
75 _pw.write("</form>");
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
76
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
77 _pw.write("<p><br>add Attribute</p>");
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
78 _pw.write("<form action='" + createAttributePath + "' method='POST'\n");
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
79 _pw.write("<p><input type='hidden' name='bname' value='" + bbs.sanitize(_bname)
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
80 + "'</p>\n");
167
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
81 _pw.write("<p>attributeName<br/> <input type='textarea' name='msg'/> </p>\n");
173
d483caeabffc change request id
tatsuki
parents: 171
diff changeset
82 _pw.write("<input type='hidden' name='path' value='" + path + "'/>");
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
83 _pw.write("<p><input type='submit' value='submit'/></p>\n");
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
84 _pw.write("</form>");
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
85 _pw.write("<hr/>");
167
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
86 _pw.write("<p>Folder</p>");
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
87
173
d483caeabffc change request id
tatsuki
parents: 171
diff changeset
88 for (BoardMessage msg : bbs.getFolder(_bname, path)) {
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
89 _pw.write("<small><a href=" + showMatrixPath + "?bname=" + bbs.sanitize(_bname)
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
90 + "&uuid=" + path + "/" + msg.getUUID() + "&nodeName="
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
91 + bbs.sanitize(msg.getMessage()) + ">" + bbs.sanitize(msg.getMessage())
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
92 + "</a></small>");
171
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 170
diff changeset
93 _pw.write(" ");
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
94 _pw.write("<small><a href='" + editNodePath + "?bname=" + bbs.sanitize(_bname)
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
95 + "&path=" + path + "/" + msg.getUUID()
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
96 + "'>edit</a></small>");
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
97 _pw.write(" ");
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
98 _pw.write("<small><a href='" + deleteNodePath + "?bname=" + bbs.sanitize(_bname)
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
99 + "&path=" + path + "&id=" + msg.getUUID()
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
100 + "'>delete</a><br><br></small>");
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
101 }
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
102
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
103 _pw.write("<br><hr/><p>Value</p>");
173
d483caeabffc change request id
tatsuki
parents: 171
diff changeset
104 getAttributeImp attribute = (bbs.getAttribute(_bname, path));
167
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
105 for (int count = 0; attribute.getMessage(count) != null; count++) {
170
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 169
diff changeset
106 _pw.write("<p><b>" + count + " : </b>");
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
107 _pw.write("<a href='" + editAttributePath + "?bname=" + bbs.sanitize(_bname)
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
108 + "&path=" + path + "&id=" + count + "'>"
176
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
109 + bbs.sanitize(attribute.getMessage(count)) + "</a>");
ac7d1070f449 sanitizing
tatsuki
parents: 175
diff changeset
110 _pw.write("<a href='" + deleteAttributePath + "?bname=" + bbs.sanitize(_bname)
175
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
111 + "&path=" + path + "&id=" + count + "'>" + " delete"
066f58e93a14 remove StringEscapeUtils.unescapeHtml
tatsuki
parents: 174
diff changeset
112 + "</a></p>");
167
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 166
diff changeset
113 }
166
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
114 _pw.write("</body></html>");
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
115 _pw.flush();
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
116 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents:
diff changeset
117 }