comparison src/main/java/alice/jungle/core/NetworkDefaultJungle.java @ 191:5d0734fd859d

fix error
author tatsuki
date Thu, 15 Jan 2015 09:23:23 +0900
parents 2828205bdc3a
children 89c15aa2bc6d
comparison
equal deleted inserted replaced
190:269bada9eedc 191:5d0734fd859d
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; 14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet;
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext;
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
18 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.Index;
19 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.ParentIndex;
18 import fj.data.List; 20 import fj.data.List;
21 import fj.data.TreeMap;
19 22
20 public class NetworkDefaultJungle implements Jungle { 23 public class NetworkDefaultJungle implements Jungle {
21 private Journal journal; 24 private Journal journal;
22 private ConcurrentHashMap<String,JungleTree> trees; 25 private ConcurrentHashMap<String, JungleTree> trees;
23 private String uuid; 26 private String uuid;
24 private TreeEditor editor; 27 private TreeEditor editor;
25
26 public NetworkDefaultJungle(Journal _journal,String _uuid,TreeEditor _editor)
27 {
28 journal = _journal;
29 trees = new ConcurrentHashMap<String,JungleTree>();
30 uuid = _uuid;
31 editor = _editor;
32 }
33 28
34 @Override 29 public NetworkDefaultJungle(Journal _journal, String _uuid, TreeEditor _editor) {
35 public JungleTree getTreeByName(String _name) 30 journal = _journal;
36 { 31 trees = new ConcurrentHashMap<String, JungleTree>();
37 return trees.get(_name); 32 uuid = _uuid;
38 } 33 editor = _editor;
34 }
39 35
40 @Override 36 @Override
41 public JungleTree createNewTree(final String _name) 37 public JungleTree getTreeByName(String _name) {
42 { 38 return trees.get(_name);
43 ChangeList list = new ChangeList(){ 39 }
44 @Override 40
45 public Iterator<TreeOperation> iterator() { 41 @Override
46 List<TreeOperation> nil = List.nil(); 42 public JungleTree createNewTree(final String name) {
47 return nil.iterator(); 43 ChangeList list = new ChangeList() {
48 } 44 @Override
49 @Override 45 public Iterator<TreeOperation> iterator() {
50 public String uuid() { 46 List<TreeOperation> nil = List.nil();
51 return uuid; 47 return nil.iterator();
52 } 48 }
53 @Override 49
54 public String getTreeName() { 50 @Override
55 return _name; 51 public String uuid() {
56 } 52 return uuid;
57 }; 53 }
58 TreeNode root = new DefaultTreeNode(); 54
59 ChangeSet set = new DefaultChangeSet(root,null,list,uuid,_name, 0,null); 55 @Override
60 DefaultTreeContext tc = new DefaultTreeContext(root,set); 56 public String getTreeName() {
61 JungleTree newTree = new NetworkDefaultJungleTree(_name, tc,uuid,journal.getWriter(),editor); 57 return name;
62 if(trees.putIfAbsent(_name,newTree) != null){ 58 }
63 return null; 59 };
64 } 60 TreeNode root = new DefaultTreeNode();
65 return newTree; 61 TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> indexList = new Index().getIndex();
66 } 62 TreeMap<TreeNode, TreeNode> parentIndex = new ParentIndex().getParentIndex();
63 ChangeSet set = new DefaultChangeSet(root, null, list, uuid, name, 0, indexList, parentIndex);
64 DefaultTreeContext tc = new DefaultTreeContext(root, set);
65 JungleTree newTree = new NetworkDefaultJungleTree(name, tc, uuid, journal.getWriter(), editor);
66 if (trees.putIfAbsent(name, newTree) != null) {
67 return null;
68 }
69 return newTree;
70 }
67 } 71 }