Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexManager.java @ 152:8a0aa8fc137c
Merge with a2c374a2686b82b0ad30f520412e191b84288fa9
author | one |
---|---|
date | Sat, 22 Nov 2014 15:25:09 +0900 |
parents | d9fbddf77bf6 a2c374a2686b |
children | 20af7f25ef32 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; public class IndexManager { AtomicReservableReference<TreeContext>.Reservation reservation; public IndexManager(AtomicReservableReference<TreeContext>.Reservation reservation){ this.reservation = reservation; } public void commit(Index index){ TreeContext tc = reservation.get(); ChangeSet cs = tc.getChangeSet(); TreeNode root = cs.getRoot(); ChangeSet prev = cs.prev(); ChangeList cl = cs.getChangeList(); String uuid = cs.uuid(); String treeName = cs.getTreeName(); long revision = cs.revision(); ParentIndex parentIndex = cs.getParentIndex(); DefaultChangeSet newCs = new DefaultChangeSet(root, prev, cl, uuid, treeName, revision, index, parentIndex); DefaultTreeContext newTs = new DefaultTreeContext(root, newCs); reservation.set(newTs); } }