comparison src/main/java/alice/jungle/transaction/NetworkDefaultJungleTree.java @ 177:6f104ab4eb81

fit jungle core but editMessage is not work
author tatsuki
date Mon, 01 Sep 2014 00:04:32 +0900
parents f9e29a52efd3
children d6944d788121
comparison
equal deleted inserted replaced
176:ac7d1070f449 177:6f104ab4eb81
1 package alice.jungle.transaction; 1 package alice.jungle.transaction;
2 2
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; 3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; 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; 5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; 6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
9 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;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
12 11
13 public class NetworkDefaultJungleTree<T extends TreeNode<T>> implements JungleTree { 12 public class NetworkDefaultJungleTree<T extends TreeNode> implements JungleTree {
14 private final AtomicReservableReference<TreeContext<T>> repository; 13 private final AtomicReservableReference<TreeContext<T>> repository;
15 private final String uuid; 14 private final String uuid;
16 private final String treeName; 15 private final String treeName;
17 private final ChangeListWriter writer; 16 private final ChangeListWriter writer;
18 private final TreeEditor editor; 17 private final TreeEditor editor;
29 @Override 28 @Override
30 public JungleTreeEditor getTreeEditor() 29 public JungleTreeEditor getTreeEditor()
31 { 30 {
32 TreeContext<T> tc = repository.get(); 31 TreeContext<T> tc = repository.get();
33 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid); 32 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid);
34 T root = tc.getTreeNode(); 33 TreeNode root = tc.getTreeNode();
35 return new NetworkDefaultJungleTreeEditor<T>(treeName, root,txManager,editor); 34 return new NetworkDefaultJungleTreeEditor<T>(treeName, root,txManager,editor);
36 } 35 }
37 36
38 @Override 37 @Override
39 public JungleTreeEditor getLocalTreeEditor() 38 public JungleTreeEditor getLocalTreeEditor()
40 { 39 {
41 TreeContext<T> tc = repository.get(); 40 TreeContext<T> tc = repository.get();
42 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid); 41 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid);
43 T root = tc.getTreeNode(); 42 TreeNode root = tc.getTreeNode();
44 return NetworkDefaultJungleTreeEditor.NewLocalJungleTreeEditor(treeName,root,txManager, editor); 43 return NetworkDefaultJungleTreeEditor.NewLocalJungleTreeEditor(treeName,root,txManager, editor);
45 } 44 }
46 45
47 @Override 46 @Override
48 public Node getRootNode() 47 public TreeNode getRootNode()
49 { 48 {
50 TreeContext<T> tc = repository.get(); 49 TreeContext<T> tc = repository.get();
51 ChangeSet cs = tc.getChangeSet(); 50 ChangeSet cs = tc.getChangeSet();
52 return cs.getRoot(); 51 return cs.getRoot();
53 } 52 }