annotate src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/ShowBoardMessageServlet.java @ 10:6e91ad317eb0

fix
author suruga
date Wed, 19 Jul 2017 18:07:30 +0900
parents 36f0f18ce6a8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.bbs.browsing;
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
2
10
suruga
parents: 6
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode;
suruga
parents: 6
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNodeAttributes;
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
5
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
6 import javax.servlet.http.HttpServlet;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
7 import javax.servlet.http.HttpServletRequest;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
8 import javax.servlet.http.HttpServletResponse;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
9 import java.io.PrintWriter;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
10 import java.util.Iterator;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
11
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
12 public class ShowBoardMessageServlet extends HttpServlet {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
13 /**
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
14 *
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
15 */
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
16 private static final long serialVersionUID = 1L;
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
17 private final BrowsingBulletinBoard bbs;
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
18 private final String createBoardMessagePath;
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
19 private final String createChildPath;
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
20 private final String showBoardMessagePath;
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
21 private final String editMessagePath;
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
22 private static final String PARAM_BOARD_NAME = "bname";
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
23 private static final String PARAM_NODE_PATH = "path";
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
24 private static final String PARAM_CHILDNUM = "childNum";
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
25 private static final String MOVE = "move";
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
26
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
27 public ShowBoardMessageServlet(BrowsingBulletinBoard _bbs, String _createBoardMessagePath, String _createChildMessagePath, String _editMessagePath, String _showBoardMessagePath) {
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
28 bbs = _bbs;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
29 createBoardMessagePath = _createBoardMessagePath;
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
30 showBoardMessagePath = _showBoardMessagePath;
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
31 createChildPath = _createChildMessagePath;
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
32 editMessagePath = _editMessagePath;
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
33 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
34
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
35 public void doGet(HttpServletRequest _req, HttpServletResponse _res) {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
36 String bname = _req.getParameter(PARAM_BOARD_NAME);
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
37 String path = _req.getParameter(PARAM_NODE_PATH);
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
38 String childNum = _req.getParameter(PARAM_CHILDNUM);
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
39 boolean moveSuccess = true;
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
40 if (childNum != null) {
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
41 String move = _req.getParameter(MOVE);
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
42 moveSuccess = bbs.childMove(bname, path, childNum, move);
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
43 }
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
44 try {
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
45 if (moveSuccess)
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
46 printBoard(bname, path, _res.getWriter());
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
47 else {
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
48 PrintWriter pw = _res.getWriter();
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
49 pw.write("</body></html>");
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
50 pw.flush();
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
51 }
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
52 } catch (Exception _e) {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
53 _res.setStatus(500);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
54 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
55
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
56 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
57
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
58 private void printBoard(String bname, String path, PrintWriter _pw) throws Exception {
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
59 _pw.write("<html><body>\n");
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
60 _pw.write("<h1> TreeName = " + bbs.sanitize(bname) + " <br>Node Path = " + path + "</h1>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
61
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
62
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
63 _pw.write("<p>add new Child</p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
64 _pw.write("<form action='" + createChildPath + "' method='POST'\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
65 _pw.write("<p><input type='hidden' name='bname' value='" + bname + "'/></p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
66 _pw.write("<p>ChildName<br/> <input type='textarea' name='nodeName'/> </p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
67 _pw.write("<p><input type='hidden' name='path' value='" + path + "'/></p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
68 _pw.write("<p><input type='submit' value='submit'/></form></p>\n");
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
69
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
70 _pw.write("<p>Children</p>\n");
10
suruga
parents: 6
diff changeset
71 Iterator<jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode> children = bbs.getChildren(bname, path);
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
72 for (int childCount = 0; children.hasNext(); childCount++) {
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
73 TreeNode child = children.next();
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
74 TreeNodeAttributes attribute = child.getAttributes();
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
75 String childName = attribute.getString("NodeName");
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
76 _pw.write("<p><a href='" + showBoardMessagePath + "?bname=" + bname + "&path=" + path + "," + childCount + "'>" + childName + "</a>" + " " +
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
77 "<a href='" + showBoardMessagePath + "?bname=" + bname + "&path=" + path + "&move=" + "up" + "&childNum=" + childCount + "'>" + "&#9650;" + "</a>" + " " +
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
78 "<a href='" + showBoardMessagePath + "?bname=" + bname + "&path=" + path + "&move=" + "down" + "&childNum=" + childCount + "'>" + "&#9660;" + "</a>" +
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
79 "</p>");
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
80 }
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
81
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
82
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
83 _pw.write("<p>put attribute</p>\n");
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
84 _pw.write("<form action='" + createBoardMessagePath + "' method='POST'\n");
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
85 _pw.write("<p><input type='hidden' name='bname' value='" + bname + "'/></p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
86 _pw.write("<p>Key<br/> <input type='textarea' name='key'/> </p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
87 _pw.write("<p>attribute<br/> <input type='textarea' name='attribute'/> </p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
88 _pw.write("<p><input type='hidden' name='path' value='" + path + "'/></p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
89 _pw.write("<p><input type='submit' value='submit'/></form></p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
90
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
91 _pw.write("<p>Attribute</p>\n");
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
92 GetAttributeImp attribute = bbs.getAttribute(bname, path);
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
93 Iterator<String> keys = attribute.getKeys();
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
94 for (; keys.hasNext(); ) {
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
95 String key = keys.next();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
96 String mesage = attribute.getMessage(key);
5
2b3542c5be34 move child
tatsuki
parents: 4
diff changeset
97 _pw.write("<p><a href='" + editMessagePath + "?bname=" + bbs.sanitize(bname) + "&path=" + path + "&key=" + key + "'>" + key + " = " + mesage + "</a></p>");
4
5acde010c6db add jungle browsing system
tatsuki
parents: 1
diff changeset
98 }
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
99
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
100 _pw.write("</body></html>");
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
101 _pw.flush();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
102 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
103 }