comparison src/test/java/ip/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/IndexCommitTest.java @ 132:ba5370090393

index commit Prototype
author one
date Sun, 19 Oct 2014 09:15:38 +0900
parents b2c1fd513feb
children
comparison
equal deleted inserted replaced
131:1c3c3300716c 132:ba5370090393
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.IndexJungleTreeEditor;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; 18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
18 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.IndexPushThread; 19 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.IndexPushThread;
19 import junit.framework.Assert; 20 import junit.framework.Assert;
20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; 21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
21 22
22 import java.nio.ByteBuffer; 23 import java.nio.ByteBuffer;
24
25 import javax.swing.tree.DefaultTreeCellEditor.EditorContainer;
23 26
24 import org.junit.Test; 27 import org.junit.Test;
25 import org.junit.experimental.theories.suppliers.TestedOn; 28 import org.junit.experimental.theories.suppliers.TestedOn;
26 29
27 import fj.data.List; 30 import fj.data.List;
39 JungleTree tree = jungle.getTreeByName("tree"); 42 JungleTree tree = jungle.getTreeByName("tree");
40 createTree(tree); 43 createTree(tree);
41 tree.getRootNode(); 44 tree.getRootNode();
42 InterfaceTraverser ifTraverser = tree.getTraverser(); 45 InterfaceTraverser ifTraverser = tree.getTraverser();
43 46
44 Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find(( 47 ifTraverser.find((TreeNode node) -> {
45 TreeNode node) -> {
46 ByteBuffer attribute = node.getAttributes().get(key); 48 ByteBuffer attribute = node.getAttributes().get(key);
47 if (attribute != null) { 49 if (attribute != null) {
48 byte[] byteAttribute = attribute.array(); 50 byte[] byteAttribute = attribute.array();
49 String str = new String(byteAttribute); 51 String str = new String(byteAttribute);
50 System.out.println("attribute = " + str); 52 System.out.println("attribute = " + str);
58 Option<TreeMap<String, List<Pair<TreeNode, NodePath>>>> opIndex = index.get(key); 60 Option<TreeMap<String, List<Pair<TreeNode, NodePath>>>> opIndex = index.get(key);
59 Assert.assertTrue(!opIndex.isNone()); 61 Assert.assertTrue(!opIndex.isNone());
60 TreeMap<String, List<Pair<TreeNode, NodePath>>> innerIndex = opIndex.some(); 62 TreeMap<String, List<Pair<TreeNode, NodePath>>> innerIndex = opIndex.some();
61 Assert.assertTrue(!innerIndex.get("<-1,0,0>").isNone()); 63 Assert.assertTrue(!innerIndex.get("<-1,0,0>").isNone());
62 64
63 IndexPushThread wt = new IndexPushThread(index, tree,ifTraverser.getEditor(), 0); 65 JungleTreeEditor editor = tree.getTreeEditor();
64 wt.start(); 66 Either<Error, JungleTreeEditor> either = editor.addNewChildAt(new DefaultNodePath(), 0);
65 wt.join(); 67 editor = either.b();
68 editor.success();
69
70 ifTraverser.commitIndex();
66 JungleTree newTree = jungle.getTreeByName("tree"); 71 JungleTree newTree = jungle.getTreeByName("tree");
67 InterfaceTraverser newIfTraverser = newTree.getTraverser(); 72 InterfaceTraverser newIfTraverser = newTree.getTraverser();
68 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> newIndex = newIfTraverser.getIndex(); 73 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> newIndex = newIfTraverser.getIndex();
69 Assert.assertFalse(newIndex.isEmpty()); 74 Assert.assertTrue(newIndex.isEmpty());
75
76
70 77
71 } 78 }
72 79
73 public boolean compare(TreeNode compareNode, String compareAttribute) { 80 public boolean compare(TreeNode compareNode, String compareAttribute) {
74 String labName = compareNode.getAttributes().getString(key); 81 String labName = compareNode.getAttributes().getString(key);