annotate src/main/java/alice/jungle/persistent/PersistentJungleTree.java @ 179:2828205bdc3a

fit JungleCore
author tatsuki
date Sat, 13 Sep 2014 12:54:02 +0900
parents d6944d788121
children ef5045af0753
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
105
f9e29a52efd3 Move some files
one
parents: 96
diff changeset
1 package alice.jungle.persistent;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
2
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
3 import fj.data.List;
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
4 import fj.data.TreeMap;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
e641f559559c Added some files for persistent
one
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
e641f559559c Added some files for persistent
one
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
e641f559559c Added some files for persistent
one
parents:
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
e641f559559c Added some files for persistent
one
parents:
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
17
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
18 public class PersistentJungleTree implements JungleTree {
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
19 private final AtomicReservableReference<TreeContext> repository;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
20 private final String uuid;
e641f559559c Added some files for persistent
one
parents:
diff changeset
21 private final String treeName;
88
0c98717f186e Removed cast code
one
parents: 85
diff changeset
22 private final ChangeListWriter writer;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
23 private final TreeEditor editor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
24
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
25 public PersistentJungleTree(String _treeName, TreeContext _tc,String _uuid, ChangeListWriter _writer,TreeEditor _editor)
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
26 {
e641f559559c Added some files for persistent
one
parents:
diff changeset
27 treeName = _treeName;
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
28 repository = new AtomicReservableReference<TreeContext>(_tc);
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
29 uuid = _uuid;
e641f559559c Added some files for persistent
one
parents:
diff changeset
30 writer = _writer;
e641f559559c Added some files for persistent
one
parents:
diff changeset
31 editor = _editor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
32 }
e641f559559c Added some files for persistent
one
parents:
diff changeset
33
e641f559559c Added some files for persistent
one
parents:
diff changeset
34 @Override
e641f559559c Added some files for persistent
one
parents:
diff changeset
35 public JungleTreeEditor getTreeEditor()
e641f559559c Added some files for persistent
one
parents:
diff changeset
36 {
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
37 TreeContext tc = repository.get();
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
38 PersistentTransactionManager txManager = new PersistentTransactionManager(treeName, writer,tc,repository,uuid);
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 105
diff changeset
39 TreeNode root = tc.getTreeNode();
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
40 return new DefaultJungleTreeEditor(root,txManager,editor);
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
41 }
e641f559559c Added some files for persistent
one
parents:
diff changeset
42
e641f559559c Added some files for persistent
one
parents:
diff changeset
43 @Override
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 105
diff changeset
44 public TreeNode getRootNode()
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
45 {
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
46 TreeContext tc = repository.get();
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
47 ChangeSet cs = tc.getChangeSet();
e641f559559c Added some files for persistent
one
parents:
diff changeset
48 return cs.getRoot();
e641f559559c Added some files for persistent
one
parents:
diff changeset
49 }
e641f559559c Added some files for persistent
one
parents:
diff changeset
50
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
51 @Override
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
52 public JungleTreeEditor getLocalTreeEditor() {
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
53 return getTreeEditor();
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
54 }
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
55
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
56 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
57 public InterfaceTraverser getTraverser() {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
58 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
59 return null;
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
60 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
61
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
62 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
63 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
64 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
65 return null;
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
66 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
67
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
68 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
69 public JungleTreeEditor getIndexTreeEditor() {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
70 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
71 return null;
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
72 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
73
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
74
e641f559559c Added some files for persistent
one
parents:
diff changeset
75 }