# HG changeset patch # User tatsuki # Date 1476137709 -32400 # Node ID 36f0f18ce6a8d3766656de2a93834bd11b8d7dee # Parent 2b3542c5be34ae1031f774b1a482907e913fa53f change layout import method diff -r 2b3542c5be34 -r 36f0f18ce6a8 src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/App.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/App.java Tue Aug 02 17:46:03 2016 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/App.java Tue Oct 11 07:15:09 2016 +0900 @@ -1,5 +1,9 @@ package jp.ac.u_ryukyu.ie.cr.bbs.browsing; +import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle; +import jp.ac.u_ryukyu.ie.cr.jungle.Jungle; +import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultTreeEditor; +import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser; import org.mortbay.jetty.Connector; import org.mortbay.jetty.Server; import org.mortbay.jetty.nio.SelectChannelConnector; @@ -14,9 +18,19 @@ * Hello world! */ public class App { + + public static void main(String[] args) throws Exception { - BrowsingBulletinBoard cassaBBS = new JungleBrowsingBulletinBoard(); + Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor( + new DefaultTraverser())); + new App().startBBS(args, jungle); + } + + public void startBBS(String[] args, Jungle jungle) throws Exception { + BrowsingBulletinBoard cassaBBS = new JungleBrowsingBulletinBoard(jungle); + if (args.length != 0) + cassaBBS.importLayout("Layout", args[0]); String createBoardMessagePath = "/createBoardMessage"; String createBoardPath = "/createBoard"; String editMessagePath = "/editMessage"; @@ -34,9 +48,9 @@ Servlet board = new ShowBoardMessageServlet(cassaBBS, createBoardMessagePath, createChildPath, editMessagePath, showBoardMessagePath); // Server serv = new Server(8080); - Server serv = new Server(); + Server serv = new Server(8000); SelectChannelConnector connector = new SelectChannelConnector(); - connector.setPort(8080); + connector.setPort(8000); connector.setThreadPool(new QueuedThreadPool(1000)); serv.setConnectors(new Connector[]{connector}); diff -r 2b3542c5be34 -r 36f0f18ce6a8 src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/CreateChildServlet.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/CreateChildServlet.java Tue Aug 02 17:46:03 2016 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/CreateChildServlet.java Tue Oct 11 07:15:09 2016 +0900 @@ -26,11 +26,14 @@ String boardName = StringEscapeUtils.unescapeHtml(_req.getParameter(PARAM_BOARD_NAME)); String path = _req.getParameter(PARAM_NODE_PATH); String nodeName = _req.getParameter(PARAM_NODE_NAME); - try{ - bbs.createChild(boardName,nodeName,path); PrintWriter pw = _res.getWriter(); - pw.write("successfully written"); + if (!nodeName.equals("")) { + bbs.createChild(boardName, nodeName, path); + pw.write("successfully written"); + } else { + pw.write("faild"); + } }catch(Exception _e){ _res.setStatus(500); } diff -r 2b3542c5be34 -r 36f0f18ce6a8 src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/JungleBrowsingBulletinBoard.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/JungleBrowsingBulletinBoard.java Tue Aug 02 17:46:03 2016 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/JungleBrowsingBulletinBoard.java Tue Oct 11 07:15:09 2016 +0900 @@ -21,7 +21,6 @@ import plparser.jungle.PropertyJungleTreeFactoryImpl; import plparser.jungle.PropertyListJungleNodeFactory; import plparser.jungle.PropertyListParserCreateTree; - import java.nio.ByteBuffer; import java.util.Iterator; @@ -35,6 +34,10 @@ jungle.createNewTree("boards"); } + public JungleBrowsingBulletinBoard(Jungle jungle) { + this.jungle = jungle; + } + public Iterable getBoards() { JungleTree tree = jungle.getTreeByName("boards"); TreeNode node = tree.getRootNode(); @@ -222,29 +225,8 @@ int childNum = Integer.parseInt(childNumString); JungleTree tree = jungle.getTreeByName(bname); DefaultNodePath path = createNodePath(pathString); - TreeNode node = tree.getNodeOfPath(path).b(); - int childrenCount = node.getChildren().size(); - TreeNode child = node.getChildren().at(childNum).b(); - TreeNodeChildren grandsons = child.getChildren(); JungleTreeEditor editor = tree.getTreeEditor(); - editor = editor.deleteChildAt(path,childNum).b(); - if (move.equals("up") && childNum != 0) - childNum--; - else if (move.equals("down") && childNum != childrenCount) - childNum++; - editor = editor.addNewChildAt(path,childNum).b(); - - Iterator keys = child.getAttributes().getKeys(); - NodePath newChildPath = path.add(childNum); - while (keys.hasNext()) { - String key = keys.next(); - ByteBuffer value = child.getAttributes().get(key); - editor = editor.putAttribute(newChildPath,key,value).b(); - } - - for (TreeNode grandson : grandsons) { - - } + editor = editor.moveChild(path,childNum,move).b(); return editor.success().isB(); } diff -r 2b3542c5be34 -r 36f0f18ce6a8 src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/ShowBoardMessageServlet.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/ShowBoardMessageServlet.java Tue Aug 02 17:46:03 2016 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/ShowBoardMessageServlet.java Tue Oct 11 07:15:09 2016 +0900 @@ -89,7 +89,6 @@ _pw.write("

\n"); _pw.write("

\n"); - _pw.write("

Attribute

\n"); GetAttributeImp attribute = bbs.getAttribute(bname, path); Iterator keys = attribute.getKeys();