annotate src/jungle/test/transaction/NetworkDefaultJungleTree.java @ 12:80680cfcfd3b

add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
author one
date Wed, 26 Jun 2013 19:03:19 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
1 package jungle.test.transaction;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
2
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTransactionManager;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
13
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
14 public class NetworkDefaultJungleTree<T extends TreeNode<T>> implements JungleTree {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
15 private final AtomicReservableReference<TreeContext<T>> repository;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
16 private final String uuid;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
17 private final ChangeListWriter writer;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
18 private final TreeEditor editor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
19
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
20 public NetworkDefaultJungleTree(TreeContext<T> _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
21 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
22 repository = new AtomicReservableReference<TreeContext<T>>(_tc);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
23 uuid = _uuid;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
24 writer = _writer;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
25 editor = _editor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
26 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
27
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
28 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
29 public JungleTreeEditor getTreeEditor()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
30 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
31 TreeContext<T> tc = repository.get();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
32 DefaultTransactionManager<T> txManager = new DefaultTransactionManager<T>(writer,tc,repository,uuid);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
33 T root = tc.getTreeNode();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
34 return new NetworkDefaultJungleTreeEditor<T>(root,txManager,editor);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
35 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
36
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
37 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
38 public Node getRootNode()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
39 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
40 TreeContext<T> tc = repository.get();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
41 ChangeSet cs = tc.getChangeSet();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
42 return cs.getRoot();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
43 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
44 }