annotate src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/FindNodeservlet.java @ 5:2b3542c5be34

move child
author tatsuki
date Tue, 02 Aug 2016 17:46:03 +0900
parents
children 4a66328f0141
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
2b3542c5be34 move child
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.bbs.browsing;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
2
2b3542c5be34 move child
tatsuki
parents:
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
4
2b3542c5be34 move child
tatsuki
parents:
diff changeset
5 import javax.servlet.http.HttpServlet;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
6 import javax.servlet.http.HttpServletRequest;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
7 import javax.servlet.http.HttpServletResponse;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
8 import java.io.PrintWriter;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
9 import java.util.Iterator;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
10
2b3542c5be34 move child
tatsuki
parents:
diff changeset
11 public class FindNodeServlet extends HttpServlet
2b3542c5be34 move child
tatsuki
parents:
diff changeset
12 {
2b3542c5be34 move child
tatsuki
parents:
diff changeset
13 private final BrowsingBulletinBoard bbs;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
14 private final String showBoardMessagePath ;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
15 private static final String PARAM_BOARD_NAME = "bname";
2b3542c5be34 move child
tatsuki
parents:
diff changeset
16
2b3542c5be34 move child
tatsuki
parents:
diff changeset
17 private static final long serialVersionUID = 1L;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
18
2b3542c5be34 move child
tatsuki
parents:
diff changeset
19 public FindNodeServlet(BrowsingBulletinBoard _bbs, String _showBoardMessagePath)
2b3542c5be34 move child
tatsuki
parents:
diff changeset
20 {
2b3542c5be34 move child
tatsuki
parents:
diff changeset
21 showBoardMessagePath = _showBoardMessagePath;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
22 bbs = _bbs;
2b3542c5be34 move child
tatsuki
parents:
diff changeset
23 }
2b3542c5be34 move child
tatsuki
parents:
diff changeset
24
2b3542c5be34 move child
tatsuki
parents:
diff changeset
25 public void doGet(HttpServletRequest _req,HttpServletResponse _res)
2b3542c5be34 move child
tatsuki
parents:
diff changeset
26 {
2b3542c5be34 move child
tatsuki
parents:
diff changeset
27 String bname = _req.getParameter(PARAM_BOARD_NAME);
2b3542c5be34 move child
tatsuki
parents:
diff changeset
28 System.out.println("write");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
29
2b3542c5be34 move child
tatsuki
parents:
diff changeset
30 try{
2b3542c5be34 move child
tatsuki
parents:
diff changeset
31 PrintWriter pw = _res.getWriter();
2b3542c5be34 move child
tatsuki
parents:
diff changeset
32 pw.write("<html><body><h1>find Node</h1>");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
33 pw.write("<form method='POST'\n");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
34 pw.write("<p>" +
2b3542c5be34 move child
tatsuki
parents:
diff changeset
35 "<input type='hidden' name='bname' value='"+bname+"'</p>\n");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
36 pw.write("<p>key<br/> <input type='textarea' name='key'/> </p>\n");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
37 pw.write("<p>value<br/> <input type='textarea' name='value'/> </p>\n");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
38 pw.write("<p><input type='submit' value='submit'/></p>\n");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
39 pw.write("</body></html>");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
40 pw.flush();
2b3542c5be34 move child
tatsuki
parents:
diff changeset
41 }catch(Exception _e){
2b3542c5be34 move child
tatsuki
parents:
diff changeset
42 _res.setStatus(500);
2b3542c5be34 move child
tatsuki
parents:
diff changeset
43 }
2b3542c5be34 move child
tatsuki
parents:
diff changeset
44 }
2b3542c5be34 move child
tatsuki
parents:
diff changeset
45
2b3542c5be34 move child
tatsuki
parents:
diff changeset
46 public void doPost(HttpServletRequest _req,HttpServletResponse _res)
2b3542c5be34 move child
tatsuki
parents:
diff changeset
47 {
2b3542c5be34 move child
tatsuki
parents:
diff changeset
48 String bname = _req.getParameter("bname");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
49 String key = _req.getParameter("key");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
50 String value = _req.getParameter("value");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
51
2b3542c5be34 move child
tatsuki
parents:
diff changeset
52 try{
2b3542c5be34 move child
tatsuki
parents:
diff changeset
53 Iterator<TreeNode> iterator = bbs.findNode(bname, key, value);
2b3542c5be34 move child
tatsuki
parents:
diff changeset
54 PrintWriter pw = _res.getWriter();
2b3542c5be34 move child
tatsuki
parents:
diff changeset
55 pw.write("<p>result</p>\n");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
56 while (iterator.hasNext()) {
2b3542c5be34 move child
tatsuki
parents:
diff changeset
57 TreeNode node = iterator.next();
2b3542c5be34 move child
tatsuki
parents:
diff changeset
58 String childName = node.getAttributes().getString("NodeName");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
59 String path = bbs.getNodePath(bname, node).replace("<","").replace(">","");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
60 pw.write("<p><a href='" + showBoardMessagePath + "?bname=" + bname + "&path=" + path + "'>" +childName + " : path = <" + path + "></a></p>");
2b3542c5be34 move child
tatsuki
parents:
diff changeset
61 }
2b3542c5be34 move child
tatsuki
parents:
diff changeset
62 pw.flush();
2b3542c5be34 move child
tatsuki
parents:
diff changeset
63 }catch(Exception _e){
2b3542c5be34 move child
tatsuki
parents:
diff changeset
64 _res.setStatus(500);
2b3542c5be34 move child
tatsuki
parents:
diff changeset
65 }
2b3542c5be34 move child
tatsuki
parents:
diff changeset
66 }
2b3542c5be34 move child
tatsuki
parents:
diff changeset
67 }