comparison src/main/java/alice/jungle/persistent/PersistentJungleTree.java @ 179:d6944d788121

fit Junglecore
author tatsuki
date Thu, 04 Sep 2014 13:12:25 +0900
parents 6f104ab4eb81
children 2828205bdc3a
comparison
equal deleted inserted replaced
178:89db8388db0f 179:d6944d788121
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
12 12
13 public class PersistentJungleTree <T extends TreeNode> implements JungleTree { 13 public class PersistentJungleTree implements JungleTree {
14 private final AtomicReservableReference<TreeContext<T>> repository; 14 private final AtomicReservableReference<TreeContext> repository;
15 private final String uuid; 15 private final String uuid;
16 private final String treeName; 16 private final String treeName;
17 private final ChangeListWriter writer; 17 private final ChangeListWriter writer;
18 private final TreeEditor editor; 18 private final TreeEditor editor;
19 19
20 public PersistentJungleTree(String _treeName, TreeContext<T> _tc,String _uuid, ChangeListWriter _writer,TreeEditor _editor) 20 public PersistentJungleTree(String _treeName, TreeContext _tc,String _uuid, ChangeListWriter _writer,TreeEditor _editor)
21 { 21 {
22 treeName = _treeName; 22 treeName = _treeName;
23 repository = new AtomicReservableReference<TreeContext<T>>(_tc); 23 repository = new AtomicReservableReference<TreeContext>(_tc);
24 uuid = _uuid; 24 uuid = _uuid;
25 writer = _writer; 25 writer = _writer;
26 editor = _editor; 26 editor = _editor;
27 } 27 }
28 28
29 @Override 29 @Override
30 public JungleTreeEditor getTreeEditor() 30 public JungleTreeEditor getTreeEditor()
31 { 31 {
32 TreeContext<T> tc = repository.get(); 32 TreeContext tc = repository.get();
33 PersistentTransactionManager<T> txManager = new PersistentTransactionManager<T>(treeName, writer,tc,repository,uuid); 33 PersistentTransactionManager txManager = new PersistentTransactionManager(treeName, writer,tc,repository,uuid);
34 TreeNode root = tc.getTreeNode(); 34 TreeNode root = tc.getTreeNode();
35 return new DefaultJungleTreeEditor<T>(root,txManager,editor); 35 return new DefaultJungleTreeEditor(root,txManager,editor);
36 } 36 }
37 37
38 @Override 38 @Override
39 public TreeNode getRootNode() 39 public TreeNode getRootNode()
40 { 40 {
41 TreeContext<T> tc = repository.get(); 41 TreeContext tc = repository.get();
42 ChangeSet cs = tc.getChangeSet(); 42 ChangeSet cs = tc.getChangeSet();
43 return cs.getRoot(); 43 return cs.getRoot();
44 } 44 }
45 45
46 @Override 46 @Override