Mercurial > hg > Members > shoshi > jungle > bbs
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(); |