# HG changeset patch # User shoshi # Date 1282890380 -32400 # Node ID f815c7c1fb3858d674b04ba7be9e5bbfdef8666f hg init diff -r 000000000000 -r f815c7c1fb38 .classpath --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.classpath Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,7 @@ + + + + + + + diff -r 000000000000 -r f815c7c1fb38 .project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.project Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,17 @@ + + + TreeCMSPrototype1 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff -r 000000000000 -r f815c7c1fb38 .settings/org.eclipse.jdt.core.prefs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.settings/org.eclipse.jdt.core.prefs Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,12 @@ +#Thu Aug 26 16:39:12 JST 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/api/BrowseAPI.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/api/BrowseAPI.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,6 @@ +package treecms.proto.api; + +public interface BrowseAPI +{ + NodeAPI useContents(); +} diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/api/EditAPI.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/api/EditAPI.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,7 @@ +package treecms.proto.api; + +public interface EditAPI extends BrowseAPI +{ + void login(String user,String pass); + void logout(); +} diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/api/NodeAPI.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/api/NodeAPI.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,23 @@ +package treecms.proto.api; + +import java.util.Iterator; + +import java.util.List; + +public interface NodeAPI extends Iterable +{ + Iterator iterator(); + List getChildList(); + boolean isChild(NodeAPI _child); + + NodeAPI addChild(); + void removeChild(NodeAPI _child); + + void up(NodeAPI _child); + void down(NodeAPI _child); + + void setClassName(String _class); + void setTitle(String _title); + String getClassName(); + String getTitle(); +} \ No newline at end of file diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/api/NodeAPITreeBuilder.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/api/NodeAPITreeBuilder.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,6 @@ +package treecms.proto.api; + +public interface NodeAPITreeBuilder +{ + NodeAPI getContents(); +} diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/simple/SimpleNodeAPI.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/simple/SimpleNodeAPI.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,98 @@ +package treecms.proto.simple; + +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +import treecms.proto.api.NodeAPI; + +class SimpleNodeAPI implements NodeAPI +{ + private LinkedList m_childs; + + private String m_class; + private String m_title; + + public SimpleNodeAPI() + { + m_childs = new LinkedList(); + m_class = ""; + m_title = ""; + } + + @Override + public List getChildList() + { + // TODO Auto-generated method stub + return m_childs; + } + + @Override + public boolean isChild(NodeAPI _child) { + // TODO Auto-generated method stub + return m_childs.contains(_child); + } + + @Override + public NodeAPI addChild() { + // TODO Auto-generated method stub + NodeAPI newChild = new SimpleNodeAPI(); + m_childs.add(newChild); + return newChild; + } + + @Override + public void removeChild(NodeAPI _child) { + // TODO Auto-generated method stub + m_childs.remove(_child); + } + + @Override + public void up(NodeAPI _child) { + // TODO Auto-generated method stub + int curPos = m_childs.indexOf(_child); + if(curPos - 1 > 0){ + m_childs.add(curPos - 1,m_childs.remove(curPos)); + } + } + + @Override + public void down(NodeAPI _child) { + // TODO Auto-generated method stub + int curPos = m_childs.indexOf(_child); + if(curPos + 1 < m_childs.size()){ + m_childs.add(curPos + 1,m_childs.remove(curPos)); + } + } + + @Override + public void setClassName(String _class) { + // TODO Auto-generated method stub + this.m_class = _class; + } + + @Override + public void setTitle(String _title) { + // TODO Auto-generated method stub + this.m_title = _title; + } + + @Override + public String getClassName() { + // TODO Auto-generated method stub + return this.m_class; + } + + @Override + public String getTitle() { + // TODO Auto-generated method stub + return this.m_title; + } + + @Override + public Iterator iterator() { + // TODO Auto-generated method stub + return m_childs.iterator(); + } + +} diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/simple/SimpleNodeAPITreeBuilder.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/simple/SimpleNodeAPITreeBuilder.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,15 @@ +package treecms.proto.simple; + +import treecms.proto.api.*; + +public class SimpleNodeAPITreeBuilder implements NodeAPITreeBuilder +{ + public SimpleNodeAPITreeBuilder() + { + return; + } + public NodeAPI getContents() + { + return new SimpleNodeAPI(); + } +} diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/test/PreOrderTreeWalker.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/test/PreOrderTreeWalker.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,75 @@ +package treecms.proto.test; + +import java.util.Iterator; +import java.util.LinkedList; + +import treecms.proto.api.NodeAPI; + +public class PreOrderTreeWalker implements Iterator , Iterable +{ + private NodeAPI m_root; + private LinkedList> m_childs; + + private int m_pos; + public PreOrderTreeWalker(NodeAPI _root) + { + m_root = _root; + m_childs = new LinkedList>(); + + for(NodeAPI child : _root.getChildList()){ + m_childs.add((new PreOrderTreeWalker(child)).iterator()); + } + + m_pos = -2; + } + + @Override + public Iterator iterator() { + // TODO Auto-generated method stub + return this; + } + + @Override + public boolean hasNext() { + // TODO Auto-generated method stub + int next = m_pos + 1; + + if(next < 0){ + return true; + } + + for(;next < m_childs.size();next ++){ + System.out.println(m_pos); + if(m_childs.get(next).hasNext()){ + return true; + } + } + + return false; + } + + @Override + public NodeAPI next() { + // TODO Auto-generated method stub + m_pos++; + + if(m_pos < 0){ + return this.m_root; + } + + for(;m_pos < m_childs.size();m_pos ++){ + NodeAPI nextNode = m_childs.get(m_pos).next(); + if(nextNode != null){ + return nextNode; + } + } + + return null; + } + + @Override + public void remove() { + // TODO Auto-generated method stub + + } +} diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/test/Test1.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/test/Test1.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,44 @@ +package treecms.proto.test; + +import java.util.Iterator; + +import treecms.proto.api.*; +import treecms.proto.simple.*; + +public class Test1 +{ + public static void main(String _arg[]) + { + NodeAPI root = (new SimpleNodeAPITreeBuilder()).getContents(); + root.setTitle("root"); + + NodeAPI child1 = root.addChild(); + child1.setTitle("child1"); + NodeAPI child2 = root.addChild(); + child2.setTitle("child2"); + + NodeAPI child11 = child1.addChild(); + child11.setTitle("child11"); + NodeAPI child12 = child1.addChild(); + child12.setTitle("child12"); + NodeAPI child13 = child1.addChild(); + child13.setTitle("child13"); + + NodeAPI child21 = child2.addChild(); + child21.setTitle("child21"); + + NodeAPI child211 = child21.addChild(); + child211.setTitle("child211"); + NodeAPI child212 = child21.addChild(); + child212.setTitle("child212"); + + + PreOrderTreeWalker walker = new PreOrderTreeWalker(root); + Iterator itr = walker.iterator(); + while(itr.hasNext()){ + NodeAPI node = itr.next(); + System.out.println(node.getTitle()); + } + + } +} diff -r 000000000000 -r f815c7c1fb38 src/treecms/proto/test/Test2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/proto/test/Test2.java Fri Aug 27 15:26:20 2010 +0900 @@ -0,0 +1,7 @@ +package treecms.proto.test; + +import junit.framework.TestCase; + +public class Test2 extends TestCase { + +}