Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexManager.java @ 149:feb2346ace19
refactor ParentIndex
author | one |
---|---|
date | Sat, 22 Nov 2014 12:08:35 +0900 |
parents | 371b6ddb78f2 |
children | d9fbddf77bf6 |
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.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, List<TreeNode>>> 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); } }