comparison src/treecms/memory/OnMemoryMonotonicTree.java @ 23:77a894c0b919

commit
author shoshi
date Thu, 09 Jun 2011 01:03:48 +0900
parents fa784faafc78
children c1e7ec6b3d44
comparison
equal deleted inserted replaced
22:fa784faafc78 23:77a894c0b919
1 package treecms.memory; 1 package treecms.memory;
2 import java.util.concurrent.ConcurrentHashMap;
2 3
3 import java.util.concurrent.ConcurrentHashMap;
4 import java.util.concurrent.ConcurrentMap; 4 import java.util.concurrent.ConcurrentMap;
5 5
6 import treecms.api.MonotonicTree; 6 import treecms.api.MonotonicTree;
7 import treecms.api.MonotonicTreeNode; 7 import treecms.api.MonotonicTreeNode;
8 import treecms.api.Node; 8 import treecms.api.Node;
9 import treecms.api.NodeID; 9 import treecms.api.NodeID;
10 import treecms.merger.Merger; 10 import treecms.api.NodeTable;
11 import treecms.merger.ReplaceMerger;
12 import treecms.tree.util.NodeData; 11 import treecms.tree.util.NodeData;
12 import treecms.tree.util.NodeTableImpl;
13 13
14 public class OnMemoryMonotonicTree implements MonotonicTree 14 public class OnMemoryMonotonicTree implements MonotonicTree
15 { 15 {
16 private final ConcurrentMap<String,OnMemoryNode> m_members;
17 private final OnMemoryMonotonicTree m_tree; 16 private final OnMemoryMonotonicTree m_tree;
18 17 private final NodeTable m_table;
19 private OnMemoryMonotonicTreeNode m_root; 18 private final OnMemoryMonotonicTreeNode m_root;
20 19
21 private OnMemoryMonotonicTree(OnMemoryNode _root,OnMemoryMonotonicTree _tree) 20 private OnMemoryMonotonicTree(OnMemoryNode _root,OnMemoryMonotonicTree _tree)
22 { 21 {
23 m_members = new ConcurrentHashMap<String,OnMemoryNode>();
24 m_members.put(_root.getID().getFamilyID(),_root);
25 m_tree = _tree; 22 m_tree = _tree;
23 m_table = new NodeTableImpl();
24
25 NodeID id = _root.getID();
26 String fid = id.getFamilyID();
27 m_root = new OnMemoryMonotonicTreeNode(fid,null,m_table);
26 } 28 }
27 29
28 public static OnMemoryMonotonicTree createInstance(OnMemoryNode _root,OnMemoryMonotonicTree _tree) 30 public static OnMemoryMonotonicTree createInstance(OnMemoryNode _root,OnMemoryMonotonicTree _tree)
29 { 31 {
30 OnMemoryMonotonicTree tree = new OnMemoryMonotonicTree(_root,_tree); 32 OnMemoryMonotonicTree tree = new OnMemoryMonotonicTree(_root,_tree);
61 } 63 }
62 64
63 @Override 65 @Override
64 public boolean check() 66 public boolean check()
65 { 67 {
68 if(m_tree != null){
69
70 }
66 return m_tree.getRoot().getNode().equals(m_root.getNode()); 71 return m_tree.getRoot().getNode().equals(m_root.getNode());
67 } 72 }
68 73
69 @Override 74 @Override
70 public void merge() 75 public void merge()