comparison src/treecms/proto/simple/SimpleEditor.java @ 48:ecba122dd3de

added CassEditor,CassLink,CassNode implementation finished. but debugging has not done yet.
author shoshi
date Sun, 30 Jan 2011 02:53:39 +0900
parents ea7f0a4eacaf
children
comparison
equal deleted inserted replaced
47:5b36891db5ca 48:ecba122dd3de
1 package treecms.proto.simple; 1 package treecms.proto.simple;
2 2
3 import java.util.List; 3 import java.util.List;
4
4 import java.util.LinkedList; 5 import java.util.LinkedList;
6
7 import treecms.proto.api.Browser;
5 import treecms.proto.api.Editor; 8 import treecms.proto.api.Editor;
6 import treecms.proto.api.Node; 9 import treecms.proto.api.Node;
7 import treecms.proto.api.NodeID; 10 import treecms.proto.api.NodeID;
8 import treecms.proto.marge.Marger; 11 import treecms.proto.marge.Marger;
9 import treecms.proto.marge.ReplaceMarger; 12 import treecms.proto.marge.ReplaceMarger;
10 13
11 public class SimpleEditor implements Editor 14 public class SimpleEditor implements Editor
12 { 15 {
13 private SimpleNode m_local; 16 private Node m_local;
14 private SimpleNode m_remote; 17 private Node m_remote;
15 18
16 private static final SimpleBrowser m_browser = SimpleBrowser.getSingleton(); 19 private static final Browser m_browser = SimpleBrowser.getSingleton();
17 20
18 public SimpleEditor() 21 public SimpleEditor()
19 { 22 {
20 update(); 23 update();
21 } 24 }
55 } 58 }
56 59
57 public void merge() 60 public void merge()
58 { 61 {
59 Marger marger = new ReplaceMarger(); 62 Marger marger = new ReplaceMarger();
60 m_local = (SimpleNode)marger.merge(m_remote,m_local); 63 m_local = marger.merge(m_remote,m_local);
61 } 64 }
62 65
63 public void discard() 66 public void discard()
64 { 67 {
65 copyNode(m_remote,m_local); 68 copyNode(m_remote,m_local);
88 if(path.isEmpty()){ 91 if(path.isEmpty()){
89 return null; 92 return null;
90 } 93 }
91 94
92 LinkedList<Node> change = new LinkedList<Node>(); 95 LinkedList<Node> change = new LinkedList<Node>();
93 SimpleNode root = (SimpleNode)path.poll().cloneNode(); 96 Node root = path.poll().cloneNode();
94 change.add(root); 97 change.add(root);
95 cloneTree(path,root,change); 98 cloneTree(path,root,change);
96 99
97 m_local = root; 100 m_local = root;
98 101
154 } 157 }
155 158
156 @Override 159 @Override
157 public boolean update() 160 public boolean update()
158 { 161 {
159 m_remote = (SimpleNode)m_browser.useContents(); 162 m_remote = m_browser.useContents();
160 m_local = m_browser.createNode(); 163 m_local = m_remote.createNode();
161 164
162 copyNode(m_remote,m_local); 165 copyNode(m_remote,m_local);
163 return true; 166 return true;
164 } 167 }
165 } 168 }