Mercurial > hg > Members > nobuyasu > jungle-network
comparison src/main/java/alice/jungle/persistent/PersistentTransactionManager.java @ 181:4493dd7692ce
add FindMatrixTest
author | tatsuki |
---|---|
date | Mon, 15 Sep 2014 14:04:22 +0900 |
parents | 2828205bdc3a |
children | 5d0734fd859d |
comparison
equal
deleted
inserted
replaced
180:2828205bdc3a | 181:4493dd7692ce |
---|---|
3 import fj.data.List; | 3 import fj.data.List; |
4 import fj.data.TreeMap; | 4 import fj.data.TreeMap; |
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; | 5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Result; | 6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Result; |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; | 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; | |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; | 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager; | 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager; |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference.Reservation; | 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference.Reservation; |
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; | 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; |
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError; | 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError; |
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; | 18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; |
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; | 19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; |
20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; | |
19 | 21 |
20 public class PersistentTransactionManager implements TransactionManager { | 22 public class PersistentTransactionManager implements TransactionManager { |
21 private final AtomicReservableReference<TreeContext> repository; | 23 private final AtomicReservableReference<TreeContext> repository; |
22 private final TreeContext tip; | 24 private final TreeContext tip; |
23 private final ChangeListWriter writer; | 25 private final ChangeListWriter writer; |
33 uuid = _uuid; | 35 uuid = _uuid; |
34 treeName = _treeName; | 36 treeName = _treeName; |
35 } | 37 } |
36 | 38 |
37 @Override | 39 @Override |
38 public Either<Error, TransactionManager> commit(TreeNode _newRoot,final TreeOperationLog _log,TreeMap<String, TreeMap<String, List<TreeNode>>> index) { | 40 public Either<Error, TransactionManager> commit(TreeNode _newRoot,final TreeOperationLog _log,TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index) { |
39 ChangeSet cs = tip.getChangeSet(); | 41 ChangeSet cs = tip.getChangeSet(); |
40 long currentRevision = cs.revision(); | 42 long currentRevision = cs.revision(); |
41 long nextRevision = currentRevision + 1; | 43 long nextRevision = currentRevision + 1; |
42 | 44 |
43 PersistentChangeList list = new PersistentChangeList(uuid, treeName, _log); | 45 PersistentChangeList list = new PersistentChangeList(uuid, treeName, _log); |