Mercurial > hg > Database > jungle-network
comparison src/alice/jungle/transaction/LocalTreeEditor.java @ 93:75cf01a430a6
Added LocalTreeEditor
author | one |
---|---|
date | Fri, 15 Nov 2013 12:23:59 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
92:e95faa202b4f | 93:75cf01a430a6 |
---|---|
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 /** Edit tree without exporting logs. **/ | |
14 public class LocalTreeEditor<T extends TreeNode<T>> implements JungleTree { | |
15 private final AtomicReservableReference<TreeContext<T>> repository; | |
16 private final String uuid; | |
17 private final String treeName; | |
18 private final ChangeListWriter writer; | |
19 private final TreeEditor editor; | |
20 | |
21 public LocalTreeEditor(String _treeName, TreeContext<T> _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor) | |
22 { | |
23 treeName = _treeName; | |
24 repository = new AtomicReservableReference<TreeContext<T>>(_tc); | |
25 uuid = _uuid; | |
26 writer = _writer; | |
27 editor = _editor; | |
28 } | |
29 | |
30 @Override | |
31 public JungleTreeEditor getTreeEditor() | |
32 { | |
33 TreeContext<T> tc = repository.get(); | |
34 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid); | |
35 T root = tc.getTreeNode(); | |
36 return NetworkDefaultJungleTreeEditor.NewLocalJungleTreeEditor(treeName,root,txManager, editor); | |
37 } | |
38 | |
39 @Override | |
40 public Node getRootNode() | |
41 { | |
42 TreeContext<T> tc = repository.get(); | |
43 ChangeSet cs = tc.getChangeSet(); | |
44 return cs.getRoot(); | |
45 } | |
46 | |
47 | |
48 } |