diff 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
line wrap: on
line diff
--- a/src/treecms/memory/OnMemoryTreeEditor.java	Wed Feb 16 21:08:32 2011 +0900
+++ b/src/treecms/memory/OnMemoryTreeEditor.java	Fri Feb 18 02:14:10 2011 +0900
@@ -1,76 +1,50 @@
 package treecms.memory;
 
-import treecms.api.Forest;
-import treecms.api.Node;
-import treecms.api.NodeData;
-import treecms.api.NodeID;
 import treecms.api.TreeEditor;
+import treecms.merger.Merger;
+import treecms.merger.ReplaceMerger;
 
-public class OnMemoryTreeEditor implements TreeEditor
+public class OnMemoryTreeEditor extends OnMemoryTree implements TreeEditor
 {
-	public OnMemoryTreeEditor(OnMemoryTree _tree)
-	{
-		
-	}
+	OnMemoryTree m_tree;
+	OnMemoryNode m_oldRoot;
 	
-	@Override
-	public Forest getForest()
+	public OnMemoryTreeEditor(OnMemoryForest _forest,OnMemoryTree _tree)
 	{
-		return null;
+		super(_tree.m_root,_forest);
+		m_oldRoot = m_root;
 	}
 	
 	@Override
-	public Node getNodeByUUID(String _uuid)
-	{
-		return null;
-	}
-
-	@Override
-	public Node updateTree(Node _target, NodeData _newData)
-	{
-		return null;
-	}
-
-	@Override
-	public NodeID getID()
-	{
-		return null;
-	}
-
-	@Override
-	public NodeData getData()
-	{
-		return null;
-	}
-
-	@Override
-	public NodeData newData()
-	{
-		return null;
-	}
-
-	@Override
 	public boolean commit(boolean _force)
 	{
+		if(!check() || _force){
+			m_tree.m_root = m_root;
+		}
 		return false;
 	}
 
 	@Override
 	public boolean pull()
 	{
-		return false;
+		m_root = m_tree.m_root;
+		return true;
 	}
 
 	@Override
 	public boolean check()
 	{
-		return false;
+		if(m_tree.m_root.getID().equals(m_oldRoot.getID())){
+			return false;
+		}
+		return true;
 	}
 
 	@Override
 	public void merge()
 	{
+		//call merger
+		Merger merger = new ReplaceMerger();
+		m_root = (OnMemoryNode)merger.merge(m_tree.m_root,m_root);
 	}
-
-
 }