Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexManager.java @ 174:a2598139df64
test
author | one |
---|---|
date | Mon, 16 Feb 2015 12:08:47 +0900 |
parents | 6615db346bf5 |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index; import fj.data.TreeMap; 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(TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> 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, parentIndex.getParentIndex()); DefaultTreeContext newTs = new DefaultTreeContext(root, newCs); reservation.set(newTs); } }