134
|
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index;
|
|
2
|
|
3
|
151
|
4
|
134
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
|
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
|
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
|
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
|
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet;
|
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext;
|
|
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
|
|
12
|
|
13 public class IndexManager {
|
|
14
|
|
15 AtomicReservableReference<TreeContext>.Reservation reservation;
|
|
16
|
|
17 public IndexManager(AtomicReservableReference<TreeContext>.Reservation reservation){
|
|
18 this.reservation = reservation;
|
|
19 }
|
|
20
|
151
|
21 public void commit(Index index){
|
134
|
22 TreeContext tc = reservation.get();
|
|
23 ChangeSet cs = tc.getChangeSet();
|
|
24 TreeNode root = cs.getRoot();
|
|
25 ChangeSet prev = cs.prev();
|
|
26 ChangeList cl = cs.getChangeList();
|
|
27 String uuid = cs.uuid();
|
|
28 String treeName = cs.getTreeName();
|
|
29 long revision = cs.revision();
|
149
|
30 ParentIndex parentIndex = cs.getParentIndex();
|
145
|
31 DefaultChangeSet newCs = new DefaultChangeSet(root, prev, cl, uuid, treeName, revision, index, parentIndex);
|
134
|
32 DefaultTreeContext newTs = new DefaultTreeContext(root, newCs);
|
|
33 reservation.set(newTs);
|
|
34 }
|
|
35
|
|
36 }
|