Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexManager.java @ 134:f46a6e0e4594
add deleteIndexEditor
author | one |
---|---|
date | Tue, 21 Oct 2014 19:47:25 +0900 |
parents | |
children | afbe19c98f53 72f454eb04ec |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index; import fj.data.List; 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.NodePath; 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; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; public class IndexManager { AtomicReservableReference<TreeContext>.Reservation reservation; public IndexManager(AtomicReservableReference<TreeContext>.Reservation reservation){ this.reservation = reservation; } public void commit(TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> 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(); DefaultChangeSet newCs = new DefaultChangeSet(root, prev, cl, uuid, treeName, revision, index); DefaultTreeContext newTs = new DefaultTreeContext(root, newCs); reservation.set(newTs); } }