changeset 6:36f0f18ce6a8

change layout import method
author tatsuki
date Tue, 11 Oct 2016 07:15:09 +0900
parents 2b3542c5be34
children 6c584862fe93
files src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/App.java src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/CreateChildServlet.java src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/JungleBrowsingBulletinBoard.java src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/ShowBoardMessageServlet.java
diffstat 4 files changed, 28 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- 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});
 
--- 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);
 		}
--- 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<String> 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<String> 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();
     }
 
--- 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("<p><input type='hidden' name='path' value='" + path + "'/></p>\n");
         _pw.write("<p><input type='submit' value='submit'/></form></p>\n");
 
-
         _pw.write("<p>Attribute</p>\n");
         GetAttributeImp attribute = bbs.getAttribute(bname, path);
         Iterator<String> keys = attribute.getKeys();