annotate src/test/java/alice/jungle/log/example/FindMatrixTest.java @ 186:ef5045af0753

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