Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java @ 45:fb00d7b147c8
added JungleTree service
author | Shoshi TAMAKI |
---|---|
date | Tue, 05 Feb 2013 02:04:34 +0900 |
parents | |
children | e7d94437ca2f |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle; import java.util.Iterator; import java.util.concurrent.ConcurrentHashMap; import fj.data.List; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.Operation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; public class DefaultJungle implements Jungle { private Journal journal; private ConcurrentHashMap<String,JungleTree> trees; private String uuid; public DefaultJungle(String _uuid) { journal = new NullJournal(); trees = new ConcurrentHashMap<String,JungleTree>(); uuid = _uuid; } @Override public JungleTree getTreeByName(String _name) { return trees.get(_name); } @Override public JungleTree createNewTree(String _name) { ChangeList list = new ChangeList(){ @Override public Iterator<Operation> iterator() { List<Operation> nil = List.nil(); return nil.iterator(); } }; DefaultNode node = new DefaultNode(); DefaultChangeSet set = new DefaultChangeSet(node,null,list,uuid,0); DefaultJungleTree newTree = new DefaultJungleTree(set,uuid,journal.getWriter()); return newTree; } }