180
|
1 package alice.jungle.log.example;
|
|
2
|
186
|
3
|
|
4
|
180
|
5 import java.io.File;
|
183
|
6 import java.io.FileNotFoundException;
|
180
|
7 import java.io.IOException;
|
|
8 import java.nio.ByteBuffer;
|
|
9 import java.util.Iterator;
|
|
10
|
186
|
11 import org.junit.Test;
|
|
12
|
180
|
13 import fj.Ord;
|
|
14 import fj.data.List;
|
|
15 import fj.data.TreeMap;
|
|
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
|
|
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
|
|
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
|
|
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
|
|
20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
|
|
21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader;
|
|
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
|
|
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
|
|
24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
|
|
25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNodeAttributes;
|
|
26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor;
|
|
27 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
|
|
28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
|
|
29 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
|
30 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
|
|
31 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
|
|
32 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.query.Query;
|
|
33 import junit.framework.TestCase;
|
|
34 import alice.jungle.operations.NetworkNodePath;
|
|
35 import alice.jungle.persistent.PersistentJournal;
|
|
36 import alice.jungle.persistent.PersistentJungle;
|
|
37 import alice.jungle.transaction.JungleUpdater;
|
|
38 import app.bbs.NetworkBulletinBoard;
|
|
39 import app.bbs.NetworkJungleBulletinBoard;
|
|
40
|
|
41 public class FindMatrixTest extends TestCase {
|
|
42
|
186
|
43 @Test
|
183
|
44 public static void main(String[] args) throws IOException {
|
|
45 PersistentJournal journal = new PersistentJournal();
|
186
|
46 journal.setOutputFile(new File("./log/1.log"));
|
183
|
47 Jungle jungle = new PersistentJungle(journal, "uuid", new DefaultTreeEditor(new DefaultTraverser()));
|
180
|
48
|
183
|
49 String treeName = treeLoad(jungle);
|
|
50
|
|
51 JungleTree tree = jungle.getTreeByName(treeName);
|
|
52 InterfaceTraverser ifTraverser = tree.getTraverser();
|
|
53
|
|
54 Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find(
|
184
|
55 (TreeNode node) -> {
|
|
56 ByteBuffer attribute = node.getAttributes().get("mes");
|
|
57 if(attribute != null){
|
|
58 byte[] byteAttribute = attribute.array();
|
|
59 String str = new String(byteAttribute);
|
|
60 System.out.println(str);
|
186
|
61 return str.equals("比嘉健太");
|
184
|
62 }
|
|
63 return false;
|
183
|
64 }
|
|
65 );
|
184
|
66
|
183
|
67 TreeNode node = searchNode.next().left();
|
|
68 byte[] nodeAttibute = node.getAttributes().get("mes").array();
|
|
69 System.out.println(new String(nodeAttibute));
|
|
70 }
|
|
71
|
|
72 public static String treeLoad(Jungle jungle) throws FileNotFoundException {
|
|
73 String treeName = null;
|
180
|
74
|
183
|
75 for (ChangeList chList : getChangeList()) {
|
180
|
76 treeName = chList.getTreeName();
|
183
|
77 JungleTree tree = jungle.getTreeByName(treeName);
|
|
78 if(tree == null) {
|
|
79 tree = jungle.createNewTree(treeName);
|
180
|
80 }
|
183
|
81 JungleTreeEditor editor2 = tree.getTreeEditor();
|
180
|
82 Either<Error, JungleTreeEditor> either2 = JungleUpdater.edit(editor2, chList);
|
|
83 assertFalse(either2.isA());
|
|
84 editor2 = either2.b();
|
|
85 editor2.success();
|
|
86 }
|
183
|
87 return treeName;
|
|
88 }
|
|
89
|
|
90 public static ChangeListReader getChangeList() throws FileNotFoundException {
|
|
91 PersistentJournal journal1 = new PersistentJournal();
|
186
|
92 journal1.setInputFile(new File("./log/1410802370082.log"));
|
183
|
93 ChangeListReader reader = journal1.getReader();
|
|
94 return reader;
|
|
95 }
|
180
|
96 }
|