comparison src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/JungleBrowsingBulletinBoard.java @ 6:36f0f18ce6a8

change layout import method
author tatsuki
date Tue, 11 Oct 2016 07:15:09 +0900
parents 2b3542c5be34
children 6c584862fe93
comparison
equal deleted inserted replaced
5:2b3542c5be34 6:36f0f18ce6a8
19 import jp.ac.u_ryukyu.ie.cr.jungle.util.Error; 19 import jp.ac.u_ryukyu.ie.cr.jungle.util.Error;
20 import plparser.Property; 20 import plparser.Property;
21 import plparser.jungle.PropertyJungleTreeFactoryImpl; 21 import plparser.jungle.PropertyJungleTreeFactoryImpl;
22 import plparser.jungle.PropertyListJungleNodeFactory; 22 import plparser.jungle.PropertyListJungleNodeFactory;
23 import plparser.jungle.PropertyListParserCreateTree; 23 import plparser.jungle.PropertyListParserCreateTree;
24
25 import java.nio.ByteBuffer; 24 import java.nio.ByteBuffer;
26 import java.util.Iterator; 25 import java.util.Iterator;
27 26
28 public class JungleBrowsingBulletinBoard implements 27 public class JungleBrowsingBulletinBoard implements
29 BrowsingBulletinBoard { 28 BrowsingBulletinBoard {
31 30
32 public JungleBrowsingBulletinBoard() { 31 public JungleBrowsingBulletinBoard() {
33 jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor( 32 jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(
34 new DefaultTraverser())); 33 new DefaultTraverser()));
35 jungle.createNewTree("boards"); 34 jungle.createNewTree("boards");
35 }
36
37 public JungleBrowsingBulletinBoard(Jungle jungle) {
38 this.jungle = jungle;
36 } 39 }
37 40
38 public Iterable<String> getBoards() { 41 public Iterable<String> getBoards() {
39 JungleTree tree = jungle.getTreeByName("boards"); 42 JungleTree tree = jungle.getTreeByName("boards");
40 TreeNode node = tree.getRootNode(); 43 TreeNode node = tree.getRootNode();
220 @Override 223 @Override
221 public boolean childMove(String bname, String pathString, String childNumString, String move) { 224 public boolean childMove(String bname, String pathString, String childNumString, String move) {
222 int childNum = Integer.parseInt(childNumString); 225 int childNum = Integer.parseInt(childNumString);
223 JungleTree tree = jungle.getTreeByName(bname); 226 JungleTree tree = jungle.getTreeByName(bname);
224 DefaultNodePath path = createNodePath(pathString); 227 DefaultNodePath path = createNodePath(pathString);
225 TreeNode node = tree.getNodeOfPath(path).b();
226 int childrenCount = node.getChildren().size();
227 TreeNode child = node.getChildren().at(childNum).b();
228 TreeNodeChildren grandsons = child.getChildren();
229 JungleTreeEditor editor = tree.getTreeEditor(); 228 JungleTreeEditor editor = tree.getTreeEditor();
230 editor = editor.deleteChildAt(path,childNum).b(); 229 editor = editor.moveChild(path,childNum,move).b();
231 if (move.equals("up") && childNum != 0)
232 childNum--;
233 else if (move.equals("down") && childNum != childrenCount)
234 childNum++;
235 editor = editor.addNewChildAt(path,childNum).b();
236
237 Iterator<String> keys = child.getAttributes().getKeys();
238 NodePath newChildPath = path.add(childNum);
239 while (keys.hasNext()) {
240 String key = keys.next();
241 ByteBuffer value = child.getAttributes().get(key);
242 editor = editor.putAttribute(newChildPath,key,value).b();
243 }
244
245 for (TreeNode grandson : grandsons) {
246
247 }
248 return editor.success().isB(); 230 return editor.success().isB();
249 } 231 }
250 232
251 private DefaultNodePath createNodePath(String nodePath) { 233 private DefaultNodePath createNodePath(String nodePath) {
252 DefaultNodePath path = new DefaultNodePath(); 234 DefaultNodePath path = new DefaultNodePath();