comparison src/alice/jungle/persistence/PersistentJungle.java @ 87:f142dd4abc74

Implemented getTreeName and uuid method in some classes
author one
date Tue, 05 Nov 2013 08:41:12 +0900
parents e641f559559c
children 0c98717f186e
comparison
equal deleted inserted replaced
86:bcaf28f8244d 87:f142dd4abc74
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
16 16
17 public class PersistentJungle implements Jungle { 17 public class PersistentJungle implements Jungle {
18 private PersistentJournal journal; 18 private PersistentJournal journal;
19 private ConcurrentHashMap<String,JungleTree> trees; 19 private ConcurrentHashMap<String,JungleTree> trees;
20 private String uuid; 20 final private String uuid;
21 private TreeEditor editor; 21 private TreeEditor editor;
22 22
23 public PersistentJungle(PersistentJournal _journal,String _uuid,TreeEditor _editor) 23 public PersistentJungle(PersistentJournal _journal,String _uuid,TreeEditor _editor)
24 { 24 {
25 journal = _journal; 25 journal = _journal;
33 { 33 {
34 return trees.get(_name); 34 return trees.get(_name);
35 } 35 }
36 36
37 @Override 37 @Override
38 public JungleTree createNewTree(String _name) 38 public JungleTree createNewTree(final String _name)
39 { 39 {
40 ChangeList list = new ChangeList(){ 40 ChangeList list = new ChangeList(){
41 @Override 41 @Override
42 public Iterator<TreeOperation> iterator() { 42 public Iterator<TreeOperation> iterator() {
43 List<TreeOperation> nil = List.nil(); 43 List<TreeOperation> nil = List.nil();
44 return nil.iterator(); 44 return nil.iterator();
45 } 45 }
46 @Override
47 public String uuid() {
48 return uuid;
49 }
50 @Override
51 public String getTreeName() {
52 return _name;
53 }
46 }; 54 };
47 DefaultTreeNode root = new DefaultTreeNode(); 55 DefaultTreeNode root = new DefaultTreeNode();
48 ChangeSet set = new PersistentChangeSet(root.getAsNode(),null,list,uuid,0, _name); 56 ChangeSet set = new PersistentChangeSet(root.getAsNode(),null,list,uuid,_name,0);
49 DefaultTreeContext<DefaultTreeNode> tc = new DefaultTreeContext<DefaultTreeNode>(root,set); 57 DefaultTreeContext<DefaultTreeNode> tc = new DefaultTreeContext<DefaultTreeNode>(root,set);
50 JungleTree newTree = new PersistentJungleTree<DefaultTreeNode>(_name, tc,uuid, (PersistentChangeListWriter)journal.getWriter(),editor); 58 JungleTree newTree = new PersistentJungleTree<DefaultTreeNode>(_name, tc,uuid, (PersistentChangeListWriter)journal.getWriter(),editor);
51 if(trees.putIfAbsent(_name,newTree) != null){ 59 if(trees.putIfAbsent(_name,newTree) != null){
52 return null; 60 return null;
53 } 61 }