Mercurial > hg > Members > nobuyasu > jungle-network
comparison src/alice/jungle/core/NetworkDefaultJungle.java @ 31:190f6a3bdab2
rename some packages
author | one |
---|---|
date | Mon, 01 Jul 2013 20:34:03 +0900 |
parents | src/jungle/test/core/NetworkDefaultJungle.java@e968224ad0ce |
children | 2f1879e0acec |
comparison
equal
deleted
inserted
replaced
30:8593c2525aa7 | 31:190f6a3bdab2 |
---|---|
1 package alice.jungle.core; | |
2 | |
3 import java.util.Iterator; | |
4 import java.util.concurrent.ConcurrentHashMap; | |
5 | |
6 import alice.jungle.transaction.NetworkDefaultJungleTree; | |
7 | |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; | |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; | |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; | |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; | |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal; | |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; | |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; | |
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; | |
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; | |
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; | |
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; | |
19 import jungle.test.codesegment.persistence.AliceJournal; | |
20 import fj.data.List; | |
21 | |
22 public class NetworkDefaultJungle implements Jungle { | |
23 private Journal journal; | |
24 private ConcurrentHashMap<String,JungleTree> trees; | |
25 private String uuid; | |
26 private TreeEditor editor; | |
27 | |
28 public NetworkDefaultJungle(Journal _journal,String _uuid,TreeEditor _editor) | |
29 { | |
30 // journal = new AliceJournal(); | |
31 journal = new NullJournal(); | |
32 trees = new ConcurrentHashMap<String,JungleTree>(); | |
33 uuid = _uuid; | |
34 editor = _editor; | |
35 } | |
36 | |
37 @Override | |
38 public JungleTree getTreeByName(String _name) | |
39 { | |
40 return trees.get(_name); | |
41 } | |
42 | |
43 @Override | |
44 public JungleTree createNewTree(String _name) | |
45 { | |
46 ChangeList list = new ChangeList(){ | |
47 @Override | |
48 public Iterator<TreeOperation> iterator() { | |
49 List<TreeOperation> nil = List.nil(); | |
50 return nil.iterator(); | |
51 } | |
52 }; | |
53 DefaultTreeNode root = new DefaultTreeNode(); | |
54 ChangeSet set = new DefaultChangeSet(root.getAsNode(),null,list,uuid,0); | |
55 DefaultTreeContext<DefaultTreeNode> tc = new DefaultTreeContext<DefaultTreeNode>(root,set); | |
56 JungleTree newTree = new NetworkDefaultJungleTree<DefaultTreeNode>(tc,uuid,journal.getWriter(),editor); | |
57 if(trees.putIfAbsent(_name,newTree) != null){ | |
58 return null; | |
59 } | |
60 return newTree; | |
61 } | |
62 } |