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

fit Junglecore
author tatsuki
date Thu, 04 Sep 2014 13:12:25 +0900
parents 6f104ab4eb81
children 2828205bdc3a
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
e641f559559c Added some files for persistent
one
parents:
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
e641f559559c Added some files for persistent
one
parents:
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
e641f559559c Added some files for persistent
one
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
e641f559559c Added some files for persistent
one
parents:
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
e641f559559c Added some files for persistent
one
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
e641f559559c Added some files for persistent
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
e641f559559c Added some files for persistent
one
parents:
diff changeset
12
179
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
13 public class PersistentJungleTree implements JungleTree {
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
14 private final AtomicReservableReference<TreeContext> repository;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
15 private final String uuid;
e641f559559c Added some files for persistent
one
parents:
diff changeset
16 private final String treeName;
88
0c98717f186e Removed cast code
one
parents: 85
diff changeset
17 private final ChangeListWriter writer;
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
18 private final TreeEditor editor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
19
179
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
20 public PersistentJungleTree(String _treeName, TreeContext _tc,String _uuid, ChangeListWriter _writer,TreeEditor _editor)
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
21 {
e641f559559c Added some files for persistent
one
parents:
diff changeset
22 treeName = _treeName;
179
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
23 repository = new AtomicReservableReference<TreeContext>(_tc);
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
24 uuid = _uuid;
e641f559559c Added some files for persistent
one
parents:
diff changeset
25 writer = _writer;
e641f559559c Added some files for persistent
one
parents:
diff changeset
26 editor = _editor;
e641f559559c Added some files for persistent
one
parents:
diff changeset
27 }
e641f559559c Added some files for persistent
one
parents:
diff changeset
28
e641f559559c Added some files for persistent
one
parents:
diff changeset
29 @Override
e641f559559c Added some files for persistent
one
parents:
diff changeset
30 public JungleTreeEditor getTreeEditor()
e641f559559c Added some files for persistent
one
parents:
diff changeset
31 {
179
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
32 TreeContext tc = repository.get();
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
33 PersistentTransactionManager txManager = new PersistentTransactionManager(treeName, writer,tc,repository,uuid);
177
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 105
diff changeset
34 TreeNode root = tc.getTreeNode();
179
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
35 return new DefaultJungleTreeEditor(root,txManager,editor);
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
36 }
e641f559559c Added some files for persistent
one
parents:
diff changeset
37
e641f559559c Added some files for persistent
one
parents:
diff changeset
38 @Override
177
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 105
diff changeset
39 public TreeNode getRootNode()
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
40 {
179
d6944d788121 fit Junglecore
tatsuki
parents: 177
diff changeset
41 TreeContext tc = repository.get();
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
42 ChangeSet cs = tc.getChangeSet();
e641f559559c Added some files for persistent
one
parents:
diff changeset
43 return cs.getRoot();
e641f559559c Added some files for persistent
one
parents:
diff changeset
44 }
e641f559559c Added some files for persistent
one
parents:
diff changeset
45
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
46 @Override
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
47 public JungleTreeEditor getLocalTreeEditor() {
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
48 return getTreeEditor();
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
49 }
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 88
diff changeset
50
85
e641f559559c Added some files for persistent
one
parents:
diff changeset
51
e641f559559c Added some files for persistent
one
parents:
diff changeset
52 }