comparison src/main/java/alice/jungle/transaction/NetworkDefaultJungleTree.java @ 105:f9e29a52efd3

Move some files
author one
date Tue, 26 Nov 2013 06:43:10 +0900
parents src/alice/jungle/transaction/NetworkDefaultJungleTree.java@47e337fc4086
children 6f104ab4eb81
comparison
equal deleted inserted replaced
104:03bf62bb699e 105:f9e29a52efd3
1 package alice.jungle.transaction;
2
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
12
13 public class NetworkDefaultJungleTree<T extends TreeNode<T>> implements JungleTree {
14 private final AtomicReservableReference<TreeContext<T>> repository;
15 private final String uuid;
16 private final String treeName;
17 private final ChangeListWriter writer;
18 private final TreeEditor editor;
19
20 public NetworkDefaultJungleTree(String _treeName, TreeContext<T> _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor)
21 {
22 treeName = _treeName;
23 repository = new AtomicReservableReference<TreeContext<T>>(_tc);
24 uuid = _uuid;
25 writer = _writer;
26 editor = _editor;
27 }
28
29 @Override
30 public JungleTreeEditor getTreeEditor()
31 {
32 TreeContext<T> tc = repository.get();
33 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid);
34 T root = tc.getTreeNode();
35 return new NetworkDefaultJungleTreeEditor<T>(treeName, root,txManager,editor);
36 }
37
38 @Override
39 public JungleTreeEditor getLocalTreeEditor()
40 {
41 TreeContext<T> tc = repository.get();
42 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid);
43 T root = tc.getTreeNode();
44 return NetworkDefaultJungleTreeEditor.NewLocalJungleTreeEditor(treeName,root,txManager, editor);
45 }
46
47 @Override
48 public Node getRootNode()
49 {
50 TreeContext<T> tc = repository.get();
51 ChangeSet cs = tc.getChangeSet();
52 return cs.getRoot();
53 }
54
55
56 }