annotate src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java @ 82:a4e2f1d45fdc

Merge with e97a59269bf586777ca30668c96fc8e927277501
author one
date Sun, 31 Aug 2014 09:00:16 +0900
parents 715a9fbf02fc e97a59269bf5
children fb1dc448ac8c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle;
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
2
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor;
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTransactionManager;
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
11
82
a4e2f1d45fdc Merge with e97a59269bf586777ca30668c96fc8e927277501
one
parents: 81 73
diff changeset
12
81
715a9fbf02fc remove <T> many source
one
parents: 77
diff changeset
13 public class DefaultJungleTree<T extends TreeNode> implements JungleTree
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
14 {
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
15 private final AtomicReservableReference<TreeContext<T>> repository;
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
16 private final String uuid;
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
17 private final ChangeListWriter writer;
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
18 private final TreeEditor editor;
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
19
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
20 public DefaultJungleTree(TreeContext<T> _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor)
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
21 {
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
22 repository = new AtomicReservableReference<TreeContext<T>>(_tc);
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
23 uuid = _uuid;
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
24 writer = _writer;
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
25 editor = _editor;
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
26 }
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
27
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
28 @Override
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
29 public JungleTreeEditor getTreeEditor()
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
30 {
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
31 TreeContext<T> tc = repository.get();
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
32 DefaultTransactionManager<T> txManager = new DefaultTransactionManager<T>(writer,tc,repository,uuid);
81
715a9fbf02fc remove <T> many source
one
parents: 77
diff changeset
33 TreeNode root = tc.getTreeNode();
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
34 return new DefaultJungleTreeEditor<T>(root,txManager,editor);
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
35 }
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
36
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
37 @Override
61
dcaaecaed9ee Modified getLocalTreeEditor
one
parents: 54
diff changeset
38 public JungleTreeEditor getLocalTreeEditor()
dcaaecaed9ee Modified getLocalTreeEditor
one
parents: 54
diff changeset
39 {
dcaaecaed9ee Modified getLocalTreeEditor
one
parents: 54
diff changeset
40 return getTreeEditor();
dcaaecaed9ee Modified getLocalTreeEditor
one
parents: 54
diff changeset
41 }
dcaaecaed9ee Modified getLocalTreeEditor
one
parents: 54
diff changeset
42
dcaaecaed9ee Modified getLocalTreeEditor
one
parents: 54
diff changeset
43 @Override
81
715a9fbf02fc remove <T> many source
one
parents: 77
diff changeset
44 public TreeNode getRootNode()
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
45 {
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
46 TreeContext<T> tc = repository.get();
81
715a9fbf02fc remove <T> many source
one
parents: 77
diff changeset
47 ChangeSet cs = tc.getChangeSet();
54
650fe2a0dccc modified tests
Shoshi TAMAKI
parents: 48
diff changeset
48 return cs.getRoot();
45
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
49 }
fb00d7b147c8 added JungleTree service
Shoshi TAMAKI
parents:
diff changeset
50 }