comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java @ 183:066d9c5758dc

change TreeContext
author tatsuki
date Mon, 23 Mar 2015 15:44:28 +0900
parents 67d4c68578cf
children
comparison
equal deleted inserted replaced
182:67d4c68578cf 183:066d9c5758dc
2 2
3 3
4 import java.util.Iterator; 4 import java.util.Iterator;
5 import java.util.concurrent.atomic.AtomicReference; 5 import java.util.concurrent.atomic.AtomicReference;
6 6
7 import fj.data.List;
7 import fj.data.TreeMap; 8 import fj.data.TreeMap;
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeContext; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeContext;
11 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;
56 57
57 }; 58 };
58 59
59 InterfaceTraverser traverser = new InterfaceTraverser(newRoot, true); 60 InterfaceTraverser traverser = new InterfaceTraverser(newRoot, true);
60 traverser.createIndex(); 61 traverser.createIndex();
61 TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> index = traverser.getIndex(); 62 TreeContext newTreeContext = new DefaultTreeContext(newRoot , tip, list, uuid, _treeName, nextRevision,traverser);
62 ParentIndex parentIndex = traverser.getParentIndex();
63 TreeContext newTreeContext = new DefaultTreeContext(newRoot , tip, list, uuid, _treeName, nextRevision,index,parentIndex.getParentIndex());
64 63
65 if (repository.compareAndSet(newTreeContext.prev(),newTreeContext)) { 64 if (repository.compareAndSet(newTreeContext.prev(),newTreeContext)) {
66 TransactionManager txManager = new DefaultTransactionManager(writer, newTreeContext, repository, uuid); 65 TransactionManager txManager = new DefaultTransactionManager(writer, newTreeContext, repository, uuid);
67 return DefaultEither.newB(txManager); 66 return DefaultEither.newB(txManager);
68 } 67 }