Mercurial > hg > Members > tatsuki > bench > jungle-core
comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java @ 100:9a7b7af838e0
add index TreeNodeEditor
but node use
author | one |
---|---|
date | Thu, 11 Sep 2014 03:10:03 +0900 |
parents | fb1dc448ac8c |
children | c297f0015d9e |
comparison
equal
deleted
inserted
replaced
99:92d0c6e4655c | 100:9a7b7af838e0 |
---|---|
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle; | 1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle; |
2 | 2 |
3 import fj.data.HashMap; | |
4 import fj.data.TreeMap; | |
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; | 5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; |
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; | 6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; |
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; | 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; | 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTransactionManager; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTransactionManager; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; | 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; | |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; | |
11 | 15 |
12 | 16 |
13 public class DefaultJungleTree implements JungleTree | 17 public class DefaultJungleTree implements JungleTree |
14 { | 18 { |
15 private final AtomicReservableReference<TreeContext> repository; | 19 private final AtomicReservableReference<TreeContext> repository; |
16 private final String uuid; | 20 private final String uuid; |
17 private final ChangeListWriter writer; | 21 private final ChangeListWriter writer; |
18 private final TreeEditor editor; | 22 private final TreeEditor editor; |
19 | 23 Pair<TreeMap<String,TreeNode>,TreeMap<String,String>> index; |
20 public DefaultJungleTree(TreeContext _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor) | 24 public DefaultJungleTree(TreeContext _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor, Pair<TreeMap<String,TreeNode>,TreeMap<String,String>> index) |
21 { | 25 { |
22 repository = new AtomicReservableReference<TreeContext>(_tc); | 26 this.repository = new AtomicReservableReference<TreeContext>(_tc); |
23 uuid = _uuid; | 27 this.uuid = _uuid; |
24 writer = _writer; | 28 this.writer = _writer; |
25 editor = _editor; | 29 this.editor = _editor; |
30 this.index = index; | |
26 } | 31 } |
27 | 32 |
28 @Override | 33 @Override |
29 public JungleTreeEditor getTreeEditor() | 34 public JungleTreeEditor getTreeEditor() |
30 { | 35 { |
31 TreeContext tc = repository.get(); | 36 TreeContext tc = repository.get(); |
32 DefaultTransactionManager txManager = new DefaultTransactionManager(writer,tc,repository,uuid); | 37 DefaultTransactionManager txManager = new DefaultTransactionManager(writer,tc,repository,uuid); |
33 TreeNode root = tc.getTreeNode(); | 38 TreeNode root = tc.getTreeNode(); |
34 return new DefaultJungleTreeEditor(root,txManager,editor); | 39 return new DefaultJungleTreeEditor(root,txManager,editor, index); |
35 } | 40 } |
36 | 41 |
37 @Override | 42 @Override |
38 public JungleTreeEditor getLocalTreeEditor() | 43 public JungleTreeEditor getLocalTreeEditor() |
39 { | 44 { |
45 { | 50 { |
46 TreeContext tc = repository.get(); | 51 TreeContext tc = repository.get(); |
47 ChangeSet cs = tc.getChangeSet(); | 52 ChangeSet cs = tc.getChangeSet(); |
48 return cs.getRoot(); | 53 return cs.getRoot(); |
49 } | 54 } |
55 | |
56 @Override | |
57 public InterfaceTraverser getTraverser() { | |
58 return new InterfaceTraverser(getRootNode()); | |
59 } | |
50 } | 60 } |