Mercurial > hg > Database > jungle-network
view 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 |
line wrap: on
line source
package alice.jungle.log.example; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.ByteBuffer; import java.util.Iterator; import org.junit.Test; import fj.Ord; import fj.data.List; import fj.data.TreeMap; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNodeAttributes; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.query.Query; import junit.framework.TestCase; import alice.jungle.operations.NetworkNodePath; import alice.jungle.persistent.PersistentJournal; import alice.jungle.persistent.PersistentJungle; import alice.jungle.transaction.JungleUpdater; import app.bbs.NetworkBulletinBoard; import app.bbs.NetworkJungleBulletinBoard; public class FindMatrixTest extends TestCase { @Test public static void main(String[] args) throws IOException { PersistentJournal journal = new PersistentJournal(); journal.setOutputFile(new File("./log/1.log")); Jungle jungle = new PersistentJungle(journal, "uuid", new DefaultTreeEditor(new DefaultTraverser())); String treeName = treeLoad(jungle); JungleTree tree = jungle.getTreeByName(treeName); InterfaceTraverser ifTraverser = tree.getTraverser(); Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find( (TreeNode node) -> { ByteBuffer attribute = node.getAttributes().get("mes"); if(attribute != null){ byte[] byteAttribute = attribute.array(); String str = new String(byteAttribute); System.out.println(str); return str.equals("比嘉健太"); } return false; } ); TreeNode node = searchNode.next().left(); byte[] nodeAttibute = node.getAttributes().get("mes").array(); System.out.println(new String(nodeAttibute)); } public static String treeLoad(Jungle jungle) throws FileNotFoundException { String treeName = null; for (ChangeList chList : getChangeList()) { treeName = chList.getTreeName(); JungleTree tree = jungle.getTreeByName(treeName); if(tree == null) { tree = jungle.createNewTree(treeName); } JungleTreeEditor editor2 = tree.getTreeEditor(); Either<Error, JungleTreeEditor> either2 = JungleUpdater.edit(editor2, chList); assertFalse(either2.isA()); editor2 = either2.b(); editor2.success(); } return treeName; } public static ChangeListReader getChangeList() throws FileNotFoundException { PersistentJournal journal1 = new PersistentJournal(); journal1.setInputFile(new File("./log/1410802370082.log")); ChangeListReader reader = journal1.getReader(); return reader; } }