# HG changeset patch # User shoshi # Date 1306824928 -32400 # Node ID 019ca5abb1f07bdf8e02b7c32d1199ca4623ae28 # Parent 00ac748fbce1778b0e438df6100d0efbb3502bf4 commit diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/cached/CachedForestEvent.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/cached/CachedForestEvent.java Tue May 31 15:55:28 2011 +0900 @@ -0,0 +1,8 @@ +package treecms.cached; + +public enum CachedForestEvent +{ + ON_CACHE_CHANGED, + ON_CACHE_NOT_FOUND, + ON_SCHEDULED_UPDATE +} diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/cached/CachedForestEventListener.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/cached/CachedForestEventListener.java Tue May 31 15:55:28 2011 +0900 @@ -0,0 +1,6 @@ +package treecms.cached; + +public interface CachedForestEventListener +{ + public void onForestEvent(CachedForestEventListener _event); +} diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/cached/CachedMemoryForest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/cached/CachedMemoryForest.java Tue May 31 15:55:28 2011 +0900 @@ -0,0 +1,70 @@ +package treecms.cached; + +import java.util.Map; + +import treecms.api.Forest; +import treecms.api.MonotonicTree; +import treecms.api.NodeID; +import treecms.api.SingleNode; +import treecms.api.Tree; +import treecms.tree.util.NodeData; + +public class CachedMemoryForest implements Forest +{ + private Map m_nodeCache; + private Map m_tipCache; + + public CachedMemoryForest() + { + + } + + @Override + public SingleNode get(NodeID _id) + { + return null; + } + + @Override + public SingleNode getTip(String _uuid) + { + return null; + } + + @Override + public SingleNode create() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Tree getTree(SingleNode _root) { + // TODO Auto-generated method stub + return null; + } + + @Override + public MonotonicTree getMonotonicTree(Tree _tree) { + // TODO Auto-generated method stub + return null; + } + + @Override + public SingleNode create(NodeData _data) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Tree getMainTree() { + // TODO Auto-generated method stub + return null; + } + + @Override + public SingleNode create(NodeID _id, NodeData _data) { + // TODO Auto-generated method stub + return null; + } + +} diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/cassandra/CassandraForest.java --- a/src/treecms/cassandra/CassandraForest.java Tue May 24 19:28:38 2011 +0900 +++ b/src/treecms/cassandra/CassandraForest.java Tue May 31 15:55:28 2011 +0900 @@ -1,13 +1,5 @@ package treecms.cassandra; -import java.util.List; -import java.util.Map; -import java.util.Timer; -import java.util.TimerTask; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.cassandra.thrift.Mutation; - import treecms.api.Forest; import treecms.api.MonotonicTree; import treecms.api.NodeID; @@ -15,81 +7,61 @@ import treecms.api.Tree; import treecms.tree.util.NodeData; - public class CassandraForest implements Forest { - private Map m_nodeTable; - private Map m_tipTable; - - public CassandraForest() - { - m_nodeTable = new ConcurrentHashMap(); - m_tipTable = new ConcurrentHashMap(); - } @Override public SingleNode get(NodeID _id) { - return m_nodeTable.get(_id); - } - - @Override - public SingleNode getTip(String _uuid) - { - return m_tipTable.get(_uuid); - } - - @Override - public SingleNode create() - { + // TODO Auto-generated method stub return null; } @Override - public Tree getTree(SingleNode _root) - { + public SingleNode getTip(String _uuid) { + // TODO Auto-generated method stub + return null; + } + + @Override + public SingleNode create() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Tree getTree(SingleNode _root) { + // TODO Auto-generated method stub return null; } @Override - public MonotonicTree getMonotonicTree(Tree _tree) - { + public MonotonicTree getMonotonicTree(Tree _tree) { + // TODO Auto-generated method stub return null; } @Override - public SingleNode create(NodeData _data) - { - return null; - } - - @Override - public Tree getMainTree() - { + public SingleNode create(NodeData _data) { + // TODO Auto-generated method stub return null; } @Override - public SingleNode create(NodeID _id, NodeData _data) - { + public Tree getMainTree() { + // TODO Auto-generated method stub + return null; + } + + @Override + public SingleNode create(NodeID _id, NodeData _data) { + // TODO Auto-generated method stub return null; } - private class CassandraNodeExporter extends TimerTask + public static NodeID decodeStringID(String _strID) { - private List m_updateQueue; - - @Override - public void run() - { - } - } - - private class CassandraNodeImporter extends TimerTask - { - @Override - public void run() - { - } + CassandraRandomNodeID id = CassandraRandomNodeID.decode(_strID); + return id; } } diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/cassandra/CassandraNodeMap.java --- a/src/treecms/cassandra/CassandraNodeMap.java Tue May 24 19:28:38 2011 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -package treecms.cassandra; - -import java.util.Collection; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -public class CassandraNodeMap -{ - private Map m_table; - - public CassandraNodeMap(String _host,int _port,String _ks) - { - m_table = new ConcurrentHashMap(); - } -} diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/cassandra/CassandraRandomNodeID.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/cassandra/CassandraRandomNodeID.java Tue May 31 15:55:28 2011 +0900 @@ -0,0 +1,76 @@ +package treecms.cassandra; + +import java.util.Random; +import java.util.StringTokenizer; +import java.util.UUID; + +import treecms.api.NodeID; +import treecms.tree.id.AbstractRandomNodeID; + +public class CassandraRandomNodeID extends AbstractRandomNodeID +{ + private final long m_version; + private final String m_uuid; + + + private CassandraRandomNodeID(String _uuid,String _version) + { + this(_uuid,Long.parseLong(_version,16)); + } + + private CassandraRandomNodeID(String _uuid,long _version) + { + m_uuid = _uuid; + m_version = _version; + } + + @Override + public NodeID create() + { + return newInstance(); + } + + @Override + public String getUUID() + { + return m_uuid; + } + + @Override + public String getVersion() + { + return Long.toString(m_version); + } + + @Override + public NodeID update() + { + Random rnd = new Random(); + CassandraRandomNodeID id = new CassandraRandomNodeID(m_uuid,rnd.nextLong()); + return id; + } + + public static CassandraRandomNodeID newInstance() + { + Random rnd = new Random(); + CassandraRandomNodeID id = new CassandraRandomNodeID(UUID.randomUUID().toString(),rnd.nextLong()); + return id; + } + + public static CassandraRandomNodeID decode(String _id) + { + // UUID@Version + StringTokenizer tokens = new StringTokenizer(_id,"@"); + + try{ + String uuid = tokens.nextToken(); + String version = tokens.nextToken(); + + CassandraRandomNodeID id = new CassandraRandomNodeID(uuid,version); + + return id; + }catch(Exception _e){ + throw new IllegalArgumentException(_e); + } + } +} diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/cassandra/CassandraSingleNode.java --- a/src/treecms/cassandra/CassandraSingleNode.java Tue May 24 19:28:38 2011 +0900 +++ b/src/treecms/cassandra/CassandraSingleNode.java Tue May 31 15:55:28 2011 +0900 @@ -4,151 +4,166 @@ import java.util.List; import java.util.Map; import java.util.Set; - import treecms.api.Forest; import treecms.api.NodeAttributes; import treecms.api.NodeChildren; import treecms.api.NodeID; import treecms.api.SingleNode; - -public class CassandraSingleNode implements SingleNode { +import treecms.tree.util.NodeAttributesImpl; +import treecms.tree.util.NodeChildrenImpl; - @Override - public NodeID getID() { - // TODO Auto-generated method stub - return null; - } - - @Override - public Forest getForest() { - // TODO Auto-generated method stub - return null; +public class CassandraSingleNode implements SingleNode +{ + private final CassandraForest m_forest; + private final NodeID m_id; + + private final NodeChildren m_children; + private final NodeAttributes m_attrs; + + public CassandraSingleNode(CassandraForest _forest,NodeID _id) + { + m_forest = _forest; + m_id = _id; + + m_children = new NodeChildrenImpl(); + m_attrs = new NodeAttributesImpl(); } @Override - public Map asMap() { - // TODO Auto-generated method stub - return null; - } - - @Override - public Set getKeySet() { - // TODO Auto-generated method stub - return null; - } - - @Override - public void put(ByteBuffer _name, ByteBuffer _value) { - // TODO Auto-generated method stub - + public NodeID getID() + { + return m_id; } @Override - public void putAll(NodeAttributes _attrs) { - // TODO Auto-generated method stub - + public Forest getForest() + { + return m_forest; + } + + @Override + public List getList() + { + return m_children.getList(); } @Override - public ByteBuffer get(ByteBuffer _name) { - // TODO Auto-generated method stub - return null; + public Set getUUIDSet() + { + return m_children.getUUIDSet(); } @Override - public NodeAttributes getAll() { - // TODO Auto-generated method stub - return null; + public boolean add(SingleNode _child) + { + return m_children.add(_child); + } + + @Override + public boolean addAll(NodeChildren _children) + { + return m_children.addAll(_children); } @Override - public void remove(ByteBuffer _name) { - // TODO Auto-generated method stub - + public SingleNode get(String _uuid) + { + return m_children.get(_uuid); } @Override - public void removeAll(Set _keySet) { - // TODO Auto-generated method stub - + public SingleNode get(int _index) + { + return m_children.get(_index); } @Override - public void clearAttributes() { - // TODO Auto-generated method stub - + public SingleNode remove(String _uuid) + { + return m_children.remove(_uuid); } @Override - public List getList() { - // TODO Auto-generated method stub - return null; + public SingleNode remove(int _index) + { + return m_children.remove(_index); } @Override - public Set getUUIDSet() { - // TODO Auto-generated method stub - return null; + public SingleNode replace(SingleNode _newChild) + { + return m_children.replace(_newChild); + } + + @Override + public boolean contains(String _id) + { + return m_children.contains(_id); } @Override - public boolean add(SingleNode _child) { - // TODO Auto-generated method stub - return false; + public boolean swap(String _uuid1, String _uuid2) + { + return m_children.swap(_uuid1, _uuid2); } @Override - public boolean addAll(NodeChildren _children) { - // TODO Auto-generated method stub - return false; + public void clearChildren() + { + m_children.clearChildren(); } @Override - public SingleNode get(String _uuid) { - // TODO Auto-generated method stub - return null; + public Map asMap() + { + return m_attrs.asMap(); } @Override - public SingleNode get(int _index) { - // TODO Auto-generated method stub - return null; + public Set getKeySet() + { + return m_attrs.getKeySet(); } @Override - public SingleNode remove(String _uuid) { - // TODO Auto-generated method stub - return null; + public void put(ByteBuffer _name, ByteBuffer _value) + { + m_attrs.put(_name,_value); } @Override - public SingleNode remove(int _index) { - // TODO Auto-generated method stub - return null; + public void putAll(NodeAttributes _attrs) + { + m_attrs.putAll(_attrs); } @Override - public SingleNode replace(SingleNode _newChild) { - // TODO Auto-generated method stub - return null; + public ByteBuffer get(ByteBuffer _name) + { + return m_attrs.get(_name); } @Override - public boolean contains(String _id) { - // TODO Auto-generated method stub - return false; + public NodeAttributes getAll() + { + return m_attrs.getAll(); + } + + @Override + public void remove(ByteBuffer _name) + { + m_attrs.remove(_name); } @Override - public boolean swap(String _uuid1, String _uuid2) { - // TODO Auto-generated method stub - return false; + public void removeAll(Set _keySet) + { + m_attrs.removeAll(_keySet); } @Override - public void clearChildren() { - // TODO Auto-generated method stub - + public void clearAttributes() + { + m_attrs.clearAttributes(); } - } diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/test/GenericsTest.java --- a/src/treecms/test/GenericsTest.java Tue May 24 19:28:38 2011 +0900 +++ b/src/treecms/test/GenericsTest.java Tue May 31 15:55:28 2011 +0900 @@ -6,6 +6,11 @@ { public static void main(String _args[]) { + new GenericsTest(); + } + + public GenericsTest() + { } public GenericsTest(E _instance) @@ -13,6 +18,23 @@ } } +class FooBar implements Bar +{ + + @Override + public Foo get() { + // TODO Auto-generated method stub + return null; + } + + @Override + public List list(Foo _f) { + // TODO Auto-generated method stub + return null; + } + +} + interface Foo { public Foo get(); @@ -25,4 +47,20 @@ public Hoge get(); public List list(Hoge _h); -} \ No newline at end of file +} + +interface Bar extends Foo +{ +} + +interface Foo2 +{ +} + +class FooBar2 implements Foo2 +{ +} + + + + diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/test/GenericsTest2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/test/GenericsTest2.java Tue May 31 15:55:28 2011 +0900 @@ -0,0 +1,41 @@ +package treecms.test; + +public class GenericsTest2 +{ + +} + +interface Attributes +{ + void a(); +} + +interface Children> +{ + void b(); +} + +interface Context +{ + void c(); +} + +interface Node> extends Attributes , Children , Context +{ +} + +interface SingleNode extends Node +{ + +} + +class ChildrenImpl implements Children +{ + + @Override + public void b() { + // TODO Auto-generated method stub + + } + +} diff -r 00ac748fbce1 -r 019ca5abb1f0 src/treecms/test/JSONParserTest1.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/test/JSONParserTest1.java Tue May 31 15:55:28 2011 +0900 @@ -0,0 +1,45 @@ +package treecms.test; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.json.simple.JSONArray; +import org.json.simple.parser.ContainerFactory; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; + +public class JSONParserTest1 +{ + public static void main(String _args[]) throws ParseException + { + //test1 + String s = "[]"; + JSONParser p = new JSONParser(); + JSONArray array = (JSONArray)p.parse(s); + System.out.println(array.size()); + + //test2 + String json = ""; + ContainerFactory factory = new ContainerFactory(){ + + @Override + public List creatArrayContainer() { + return new LinkedList(); + } + + @Override + public Map createObjectContainer() { + return new HashMap(); + } + + }; + + JSONParser p2 = new JSONParser(); + LinkedList list = (LinkedList)p2.parse(json,factory); + for(Object item : list){ + System.out.println(item.toString()); + } + } +}