annotate src/treecms/memory/OnMemoryTreeEditor.java @ 3:5fa718b63cd5

finished treecms.memory basic implementation ( not tested yet. )
author shoshi
date Fri, 18 Feb 2011 02:14:10 +0900
parents 4a5ee88f02cf
children 12604eb6b615
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
1 package treecms.memory;
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
3 import treecms.api.TreeEditor;
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
4 import treecms.merger.Merger;
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
5 import treecms.merger.ReplaceMerger;
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
6
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
7 public class OnMemoryTreeEditor extends OnMemoryTree implements TreeEditor
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
8 {
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
9 OnMemoryTree m_tree;
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
10 OnMemoryNode m_oldRoot;
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
11
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
12 public OnMemoryTreeEditor(OnMemoryForest _forest,OnMemoryTree _tree)
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
13 {
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
14 super(_tree.m_root,_forest);
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
15 m_oldRoot = m_root;
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
16 }
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
17
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
18 @Override
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
19 public boolean commit(boolean _force)
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
20 {
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
21 if(!check() || _force){
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
22 m_tree.m_root = m_root;
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
23 }
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
24 return false;
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
25 }
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
26
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
27 @Override
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
28 public boolean pull()
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
29 {
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
30 m_root = m_tree.m_root;
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
31 return true;
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
32 }
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
33
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
34 @Override
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
35 public boolean check()
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
36 {
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
37 if(m_tree.m_root.getID().equals(m_oldRoot.getID())){
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
38 return false;
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
39 }
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
40 return true;
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
41 }
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
42
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
43 @Override
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
44 public void merge()
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
45 {
3
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
46 //call merger
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
47 Merger merger = new ReplaceMerger();
5fa718b63cd5 finished treecms.memory basic implementation ( not tested yet. )
shoshi
parents: 2
diff changeset
48 m_root = (OnMemoryNode)merger.merge(m_tree.m_root,m_root);
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
49 }
4a5ee88f02cf added OnMemoryForest
shoshi
parents:
diff changeset
50 }