comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java @ 146:371b6ddb78f2

repair putAttributeIndex and deleteAttributeIndex
author one
date Fri, 21 Nov 2014 12:46:06 +0900
parents 72f454eb04ec
children a2c374a2686b feb2346ace19
comparison
equal deleted inserted replaced
145:72f454eb04ec 146:371b6ddb78f2
8 import fj.data.TreeMap; 8 import fj.data.TreeMap;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal;
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; 14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.IndexTreeEditor; 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.IndexTreeEditor;
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; 21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; 22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traverser; 23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traverser;
25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; 24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; 25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
27 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.TreeMapOrd; 26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.TreeMapOrd;
29 27
30 public class DefaultJungle implements Jungle 28 public class DefaultJungle implements Jungle
31 { 29 {
32 private Journal journal; 30 private Journal journal;
84 } 82 }
85 83
86 }; 84 };
87 85
88 DefaultTreeNode root = new DefaultTreeNode(); 86 DefaultTreeNode root = new DefaultTreeNode();
89 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index = TreeMap.empty(Ord.stringOrd); 87 TreeMap<String, TreeMap<String, List<TreeNode>>> index = TreeMap.empty(Ord.stringOrd);
90 TreeMap<TreeNode,TreeNode> parentIndex = TreeMap.empty(TreeMapOrd.treeNodeOrd); 88 TreeMap<TreeNode,TreeNode> parentIndex = TreeMap.empty(TreeMapOrd.treeNodeOrd);
91 ChangeSet set = new DefaultChangeSet(root,null,list,uuid,name,0,index,parentIndex); 89 ChangeSet set = new DefaultChangeSet(root,null,list,uuid,name,0,index,parentIndex);
92 DefaultTreeContext tc = new DefaultTreeContext(root,set); 90 DefaultTreeContext tc = new DefaultTreeContext(root,set);
93 JungleTree newTree = new DefaultJungleTree(tc,uuid,journal.getWriter(),editor,new IndexTreeEditor(traverser)); 91 JungleTree newTree = new DefaultJungleTree(tc,uuid,journal.getWriter(),editor,new IndexTreeEditor(traverser));
94 if(trees.putIfAbsent(name,newTree) != null){ 92 if(trees.putIfAbsent(name,newTree) != null){