Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexManager.java @ 164:b81df9373a31 untilIndex
miner change
author | one |
---|---|
date | Mon, 08 Dec 2014 12:21:51 +0900 |
parents | 20af7f25ef32 |
children |
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, ParentIndex parentIndex){ 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(); DefaultChangeSet newCs = new DefaultChangeSet(root, prev, cl, uuid, treeName, revision, index.getIndex(), parentIndex.getParentIndex()); DefaultTreeContext newTs = new DefaultTreeContext(root, newCs); reservation.set(newTs); } }