Mercurial > hg > Members > shoshi > TreeCMS > TreeCMSPrototype1
view src/treecms/proto/edit/type1/EditableNodeAPITreeBuilder.java @ 13:3bccd745f2e2
bug fix
author | shoshi |
---|---|
date | Sun, 29 Aug 2010 12:07:03 +0900 |
parents | bb802051dab3 |
children |
line wrap: on
line source
package treecms.proto.edit.type1; import java.util.List; import java.util.UUID; import treecms.proto.api.NodeAPI; import treecms.proto.api.NodeAPITreeBuilder; public class EditableNodeAPITreeBuilder implements NodeAPITreeBuilder { private NodeAPI m_root; private NodeAPI m_clone; public EditableNodeAPITreeBuilder(NodeAPI _root) { m_root = _root; m_clone = clone(_root); } private NodeAPI clone(NodeAPI _orig) { EditableNodeAPI clone = new EditableNodeAPI(generateUUID()); clone.setClassName(_orig.getClassName()); clone.setTitle(_orig.getTitle()); clone.setOriginal(_orig); List<NodeAPI> children = _orig.getChildList(); for(NodeAPI child : children){ //System.out.println(child.getTitle()); clone.addChild(clone(child)); } return clone; } public void discard() { //discard changes. m_clone = clone(m_root); } public void commit() { //commit changes } public void push() { //push changes } public String generateUUID() { return Long.toString(System.currentTimeMillis()); } @Override public NodeAPI getContents() { // TODO Auto-generated method stub return this.m_clone; } @Override public NodeAPI createNode() { // TODO Auto-generated method stub return new EditableNodeAPI(generateUUID()); } }