Mercurial > hg > Members > shoshi > TreeCMSv2
annotate CHANGELOG @ 14:8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
author | misaka |
---|---|
date | Tue, 17 May 2011 18:44:14 +0900 |
parents | c8601b0fa8a3 |
children | bb9760760744 |
rev | line source |
---|---|
4
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
1 ChangeLog. |
8 | 2 2011-03-29 |
3 changed byte[] to ByteBuffer | |
4 added TreeEditor.updateTree(Node,NodeData,Node[]) for node path is known. | |
5 added GUIEditor | |
7 | 6 2011-03-17 |
7 added concurrent access client for cassandra | |
6 | 8 2011-03-14 |
9 added javadoc treecms.api | |
5 | 10 2011-02-28 |
11 added test case | |
4
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
12 2011-02-25 |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
13 finished treecms.cassandra.v1 implementation ( not tested yet. ) |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
14 2011-02-18 |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
15 finished treecms.memory basic implementation ( not tested yet. ) |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
16 2011-02-16 |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
17 added OnMemoryForest |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
18 2011-02-16 |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
19 add Forest |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
20 |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
21 |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
22 Requirements. |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
23 |
f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
shoshi
parents:
diff
changeset
|
24 Cassandra 0.6.x |
11 | 25 |
26 | |
13 | 27 開発メモ |
28 | |
14
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
29 2011-05-17 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
30 NodeAttributes、NodeChildrenを作って分けた. |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
31 NodeAttributesはノードの要素を保持する。 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
32 NodeChildrenはノードの子供のリストを表す。 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
33 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
34 Node extends NodeAttributes,NodeChildren |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
35 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
36 SingleNode extends NodeBase , NodeAttributes , NodeChildren<SingleNode> |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
37 TreeNode extends NodeBase , NodeAttributes , NodeChildren<TreeNode> |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
38 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
39 NodeChildrenをNodeChildren<T>にしようかと思っていまする。 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
40 この方法なら行けるかも? |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
41 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
42 2011-05-16 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
43 replaceChildの実装を忘れていたので実装しよう。 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
44 書き換える必要があるのは Node,TreeNode,MonotonicTreeNode |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
45 の3つのインターフェイスかな |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
46 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
47 現段階でNodeのメソッドは |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
48 属性関係が get,getAll,put,putAll,remove,removeAll,clear |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
49 子供関係が getChildren,addChild,addChildren,removeChild,removeChildren,replaceChildren,clearChildren |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
50 その他 getID |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
51 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
52 やっぱり、子供ノード用の専用リストをつくりましょう。 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
53 NodeChildList |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
54 public List<Node> getList(); |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
55 public boolean add(Node _n); //ノード追加 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
56 public boolean addAll(List<Node> _list); //ノードのリストを追加 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
57 public Node get(String _id); //NodeIDに当たるNodeの取得 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
58 public Node get(int _index); //_indexの場所にいるNodeの取得 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
59 public Node remove(String _id); //NodeIDを削除 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
60 public Node remove(int _index); //_indexの場所にいるNodeの削除 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
61 public boolean contains(String _id); //NodeIDがこのリストに含まれるかチェック |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
62 public boolean swap(String _id1,String _id2); //2つのNodeIDを入れ替える |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
63 public void clear(); //リストのクリア |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
64 |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
65 もう訳がわからない |
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
13
diff
changeset
|
66 |
13 | 67 2011-05-11 |
68 クローンを伝搬させる方法で非破壊的編集の実装を書いている. | |
69 | |
70 やっぱり、子供を管理するリストは自身で開発したほうが良さそうな気がしてきた. | |
71 子供のリストに要求されていることは | |
72 同じIDの子供が追加されないこと | |
73 なので,順序付きの集合になる.ApacheCommonsのCollectionAPIは何故かGenericsに対応していないので警告を吐きまくる. | |
74 やっぱり自分で書いたほうが良さそうですね. | |
75 | |
76 Apache CommonsのPredicateを使えば普通に実装できるはずなんだけど・・・・ | |
77 PredicateとPredicateListの実装もうちょっと;) | |
12
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
78 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
79 2011-05-10 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
80 MonotonicTreeNodeのAPI合わせをやった. |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
81 OnMemoryの実装に移ろう.実際はOnMemoryがキャッシュとして使いやすいようにしないといけないんだけどな.AbstractHogehogeとかみたいに, |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
82 フレームワーク的に使いたいね. |
13 | 83 |
84 OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNodeを実装した.OnMemoryMonotonicTreeNodeはだいたい完成している. | |
85 | |
86 NodeにcloneNodeっぽいメソッドを実装するの忘れてた. | |
12
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
87 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
88 2011-05-09 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
89 Node自体はSingleLinkedNodeである,あるNodeを頂点とするTreeを作ることで、SingleLinkedNodeをラップしたDoubleLinkedNodeを作る. |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
90 これをTreeNodeとする. |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
91 Nodeからchildrenをとるときは防御的コピーをしよう. |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
92 いろいろと気にし過ぎな気もする |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
93 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
94 NodeDataを実装に合わせた. |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
95 次はTreeNodeをあわせていくといいと思う. |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
96 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
97 2011-05-07 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
98 Nodeの子供Listは重複要素を許可しないリストなので、NodeData、SetUniqueListにする。 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
99 NodeDataをSetUniqueListに変更した。 |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
100 NodeDataってtreecms.apiよりはtreecms.utilの方なんじゃないかと思う、なので移動します。 |
11 | 101 |
102 2011-05-05 | |
103 APIを変更した、ノードを表すクラスは[Node,TreeNode,MonotonicTreeNode]の3つで,TreeNodeとMonotonicTreeNodeはNodeを継承しない。 | |
104 TreeNodeとMonotonicTreeNodeもノードを表すクラスの一つであるが,継承ではなくNodeを内部にメンバーとして持つ, | |
105 | |
106 問題点は,TreeNodeとMonotonicTreeNodeのメソッドをNodeとAPIの定義を用いて一致させたいが出来ない,NodeのAPIを変更するときには3つ全部書き換える必要がある. | |
12
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
107 Genericsを使って無理やり出来る方法を考えたが、まあどうだろう・・・ |
11 | 108 |
109 現段階でNodeのメソッドは | |
12
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
110 属性関係が get,getAll,put,putAll,remove,removeAll,clear |
fbbb7e414346
modified OnMemoryNode,OnMemoryTreeNode,OnMemoryMonotonicTreeNode
shoshi
parents:
11
diff
changeset
|
111 子供関係が getChildren,addChild,addChildren,removeChild,removeChildren,clearChildren |
11 | 112 その他 getID |
113 | |
114 これをinterface Nodeに記述しておいた.TreeNodeとMonotonicTreeNode interfaceの変更が必要. |