Mercurial > hg > Database > jungle-network
annotate src/main/java/alice/jungle/transaction/NetworkDefaultJungleTree.java @ 186:ef5045af0753
add permission .java
author | tatsuki |
---|---|
date | Tue, 16 Sep 2014 07:49:14 +0900 |
parents | 2828205bdc3a |
children | 269bada9eedc |
rev | line source |
---|---|
31 | 1 package alice.jungle.transaction; |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
2 |
179 | 3 import fj.data.List; |
4 import fj.data.TreeMap; | |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; |
179 | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
11 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
|
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; |
179 | 14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; |
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; | |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
16 |
178 | 17 public class NetworkDefaultJungleTree implements JungleTree { |
18 private final AtomicReservableReference<TreeContext> repository; | |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
19 private final String uuid; |
32 | 20 private final String treeName; |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
21 private final ChangeListWriter writer; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
22 private final TreeEditor editor; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
23 |
178 | 24 public NetworkDefaultJungleTree(String _treeName, TreeContext _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor) |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
25 { |
32 | 26 treeName = _treeName; |
178 | 27 repository = new AtomicReservableReference<TreeContext>(_tc); |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
28 uuid = _uuid; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
29 writer = _writer; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
30 editor = _editor; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
31 } |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
32 |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
33 @Override |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
34 public JungleTreeEditor getTreeEditor() |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
35 { |
178 | 36 TreeContext tc = repository.get(); |
37 NetworkTransactionManager txManager = new NetworkTransactionManager(treeName, writer,tc,repository,uuid); | |
176 | 38 TreeNode root = tc.getTreeNode(); |
178 | 39 return new NetworkDefaultJungleTreeEditor(treeName, root,txManager,editor); |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
40 } |
93 | 41 |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
42 @Override |
94 | 43 public JungleTreeEditor getLocalTreeEditor() |
44 { | |
178 | 45 TreeContext tc = repository.get(); |
46 NetworkTransactionManager txManager = new NetworkTransactionManager(treeName, writer,tc,repository,uuid); | |
176 | 47 TreeNode root = tc.getTreeNode(); |
94 | 48 return NetworkDefaultJungleTreeEditor.NewLocalJungleTreeEditor(treeName,root,txManager, editor); |
49 } | |
50 | |
51 @Override | |
176 | 52 public TreeNode getRootNode() |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
53 { |
178 | 54 TreeContext tc = repository.get(); |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
55 ChangeSet cs = tc.getChangeSet(); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
56 return cs.getRoot(); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
57 } |
67 | 58 |
179 | 59 @Override |
60 public InterfaceTraverser getTraverser() { | |
186 | 61 TreeContext tc = repository.get(); |
62 ChangeSet cs = tc.getChangeSet(); | |
63 return new InterfaceTraverser(getRootNode(), cs.getIndex(), getTreeEditor()); | |
179 | 64 } |
65 | |
66 @Override | |
67 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() { | |
68 // TODO Auto-generated method stub | |
69 return null; | |
70 } | |
71 | |
72 @Override | |
73 public JungleTreeEditor getIndexTreeEditor() { | |
74 // TODO Auto-generated method stub | |
75 return null; | |
76 } | |
77 | |
67 | 78 |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
79 } |