changeset 85:22bba77e09a7

Merge with a4e2f1d45fdc66e833985e19f2ce97cfe6230bc4
author one
date Wed, 03 Sep 2014 21:10:30 +0900
parents e0270d3640f8 (diff) a4e2f1d45fdc (current diff)
children fb1dc448ac8c
files src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultChildren.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultNode.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNodeChildren.java
diffstat 5 files changed, 110 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/document/JungleMindmap.mm	Wed Sep 03 21:10:30 2014 +0900
@@ -0,0 +1,50 @@
+<map version="1.0.1">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1409726078288" ID="ID_647478089" MODIFIED="1409726241496" TEXT="New Mindmap">
+<node CREATED="1409726154557" ID="ID_751550789" MODIFIED="1409726198467" POSITION="right" TEXT="&#x30b9;&#x30b1;&#x30b8;&#x30e5;&#x30fc;&#x30eb;">
+<node CREATED="1409726169906" HGAP="21" ID="ID_1745036704" MODIFIED="1409726235708" TEXT="9/15&#x6c38;&#x5c71;&#x3055;&#x3093;&#x6765;&#x6c96;" VSHIFT="-5"/>
+<node CREATED="1409726198468" HGAP="21" ID="ID_41465836" MODIFIED="1409726228823" TEXT="9/18PCI&#x30d7;&#x30ec;&#x30bc;&#x30f3;&#x30c6;&#x30fc;&#x30e7;&#x30f3;" VSHIFT="6"/>
+<node CREATED="1409726286066" ID="ID_19901324" MODIFIED="1409726314038" TEXT="9/3junge&#x8aad;&#x307f;&#x4f1a;&#x3000;&#x3000;"/>
+</node>
+<node CREATED="1409726242716" ID="ID_1717600301" MODIFIED="1409726252838" POSITION="left" TEXT="jungle&#x306e;&#x8ab2;&#x984c;">
+<node CREATED="1409726253771" ID="ID_1381608182" MODIFIED="1409726257565" TEXT="&#x30ea;&#x30d5;&#x30a1;&#x30af;&#x30bf;&#x30ea;&#x30f3;&#x30b0;">
+<node CREATED="1409726276236" ID="ID_1555795427" MODIFIED="1409726600088" TEXT="&#x53e4;&#x3044;&#x65b9;&#x3092;&#x5148;&#x306b;&#x8aad;&#x3093;&#x3067;&#x305d;&#x306e;&#x5f8c;&#x65b0;&#x3057;&#x3044;&#x65b9;&#x3092;&#x8aad;&#x3080;"/>
+<node CREATED="1409726355435" ID="ID_133639792" MODIFIED="1409726422510" TEXT="attibute&#x306e;&#x30ce;&#x30fc;&#x30c9;&#x7b49;&#x3092;&#x5206;&#x3051;&#x3066;&#x3044;&#x308b;&#x610f;&#x5473;&#x304c;&#x308f;&#x304b;&#x3089;&#x306a;&#x3044;"/>
+<node CREATED="1409726400578" FOLDED="true" ID="ID_209791619" MODIFIED="1409727249087" TEXT="&#x30b8;&#x30a7;&#x30cd;&#x30ea;&#x30c3;&#x30af;&#x306e;&#x6271;&#x3044;&#x304c;&#x308f;&#x304b;&#x3089;&#x306a;&#x3044;(children&#x7b49;)">
+<node CREATED="1409726444811" ID="ID_1259286182" MODIFIED="1409726450869" TEXT="&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;&#x3000;"/>
+<node CREATED="1409726451499" ID="ID_1180276559" MODIFIED="1409726451499" TEXT=""/>
+</node>
+<node CREATED="1409726455123" ID="ID_346888518" MODIFIED="1409726477294" TEXT="&#x540d;&#x524d;&#x3068;Tree&#x306e;&#x5bfe;&#x5fdc;&#x3092;Jungle&#x306e;Tree&#x306b;&#x76f4;&#x3059;">
+<node CREATED="1409726480115" ID="ID_1560015410" MODIFIED="1409726505822" TEXT="&#x306a;&#x306e;&#x3067;Jungle&#x3092;AVL&#x306b;"/>
+<node CREATED="1409726517683" ID="ID_1128117081" MODIFIED="1409726532614" TEXT="&#x66f4;&#x65b0;&#x3092;atomic&#x306b;&#x3057;&#x306a;&#x304f;&#x3066;&#x5927;&#x4e08;&#x592b;&#x304b;&#xff1f;"/>
+</node>
+</node>
+<node CREATED="1409726560355" HGAP="80" ID="ID_1680643421" MODIFIED="1409727171007" TEXT="Alice&#x306e;&#x90e8;&#x5206;&#x3067;IO&#x3068;&#x306f;&#x5225;&#x306b;&#x3057;&#x3066;&#x512a;&#x5148;&#x5ea6;&#x3092;&#x4e0a;&#x3052;&#x308b;" VSHIFT="8">
+<node CREATED="1409726580851" ID="ID_70332820" MODIFIED="1409726587062" TEXT="&#x30ed;&#x30b0;&#x306e;&#x66f8;&#x304d;&#x51fa;&#x3057;&#x3082;"/>
+</node>
+<node CREATED="1409726600088" ID="ID_142965815" MODIFIED="1409727174343" TEXT="API" VSHIFT="18">
+<node CREATED="1409726606857" ID="ID_405344625" MODIFIED="1409726622494" TEXT="&#x57fa;&#x672c;&#x7684;&#x306b;&#x30d1;&#x30b9;&#x3067;&#x3057;&#x304b;&#x30a2;&#x30af;&#x30bb;&#x30b9;&#x3067;&#x304d;&#x306a;&#x3044;&#x306e;&#x3067;"/>
+<node CREATED="1409726624219" ID="ID_1368915826" MODIFIED="1409726642662" TEXT="index&#x3067;&#x30a2;&#x30af;&#x30bb;&#x30b9;&#x3067;&#x304d;&#x308b;&#x3088;&#x3046;&#x306b;&#x3057;&#x305f;&#x3044;">
+<node CREATED="1409726651188" ID="ID_763950066" MODIFIED="1409726663822" TEXT="Index&#x306e;&#x518d;&#x69cb;&#x6210;&#x304c;&#x6b32;&#x3057;&#x3044;"/>
+</node>
+<node CREATED="1409726637570" ID="ID_1840769401" MODIFIED="1409726854710" TEXT="WEB&#x304b;&#x3089;&#x30a2;&#x30af;&#x30bb;&#x30b9;&#x3059;&#x308b;API&#x304c;&#x6b32;&#x3057;&#x3044;"/>
+<node CREATED="1409726842808" ID="ID_823399931" MODIFIED="1409726997548" TEXT="Key&#x3092;Forget&#x3059;&#x308b;API">
+<node CREATED="1409726998097" ID="ID_1404724140" MODIFIED="1409727013630" TEXT=" merge&#x3059;&#x308b;&#x53ef;&#x80fd;&#x6027;&#x304c;&#x3042;&#x308b;Key&#x3060;&#x3051;&#x6b8b;&#x3059;"/>
+</node>
+<node CREATED="1409726799739" ID="ID_1771872050" MODIFIED="1409727205486" TEXT="&#x30a2;&#x30af;&#x30bb;&#x30b9;&#x3057;&#x305f;&#x3068;&#x304d;&#x306b;&#x90e8;&#x5206;&#x7684;&#x306b;&#x53d6;&#x3063;&#x3066;&#x304f;&#x308b;API&#x3068;&#x90e8;&#x5206;&#x7684;&#x306b;&#x53d6;&#x3063;&#x3066;&#x304f;&#x308b;API&#x304c;&#x6b32;&#x3057;&#x3044;"/>
+</node>
+</node>
+<node CREATED="1409726668370" ID="ID_204371770" MODIFIED="1409726690172" POSITION="right" TEXT="Matrix">
+<node CREATED="1409726674833" ID="ID_200755637" MODIFIED="1409726685246" TEXT="&#x7d44;&#x7e54;&#x3092;tree&#x306b;&#x3059;&#x308b;&#x306e;&#x306f;&#x7d42;&#x308f;&#x3063;&#x3066;&#x3044;&#x308b;">
+<node CREATED="1409726686011" ID="ID_530305344" MODIFIED="1409726686011" TEXT=""/>
+</node>
+<node CREATED="1409726690173" ID="ID_1173609965" MODIFIED="1409726707813" TEXT="XACML&#x306f;&#x52c9;&#x5f37;&#x4f1a;">
+<node CREATED="1409726724451" ID="ID_744658833" MODIFIED="1409726734998" TEXT="&#x30aa;&#x30da;&#x30ec;&#x30fc;&#x30b7;&#x30e7;&#x30f3;&#x3092;Jungle&#x304c;&#x3061;&#x3083;&#x3093;&#x3068;&#x30b5;&#x30dd;&#x30fc;&#x30c8;&#x3057;&#x3066;&#x3044;&#x308b;&#x304b;"/>
+</node>
+</node>
+<node CREATED="1409726752851" ID="ID_1096797544" MODIFIED="1409726764446" POSITION="left" TEXT="&#x30a2;&#x30b7;&#x30e5;&#x30a2;&#x30ce;&#x30fc;&#x30c8;">
+<node CREATED="1409726765475" ID="ID_1507920801" MODIFIED="1409726773734" TEXT="Jungle&#x3068;&#x3064;&#x306a;&#x3052;&#x308b;"/>
+<node CREATED="1409726774355" ID="ID_105345677" MODIFIED="1409726796814" TEXT="&#x7de8;&#x96c6;&#x30b3;&#x30de;&#x30f3;&#x30c9;&#x3092;jungle&#x306b;&#x7ffb;&#x8a33;&#x3059;&#x308b;"/>
+</node>
+</node>
+</map>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/document/XACML.mm	Wed Sep 03 21:10:30 2014 +0900
@@ -0,0 +1,43 @@
+<map version="1.0.1">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1409731863117" ID="ID_140617884" MODIFIED="1409731882853" TEXT="XACML">
+<node CREATED="1409731885402" ID="ID_791948050" MODIFIED="1409732124100" POSITION="right" TEXT="&#x8ab0;&#x304c;&#x3069;&#x306e;&#x30ea;&#x30bd;&#x30fc;&#x30b9;&#x306b;&#x3069;&#x3093;&#x306a;&#x30a2;&#x30af;&#x30b7;&#x30e7;&#x30f3;&#x3092;&#x53d6;&#x308b;&#x304b;&#x3092;&#x7ba1;&#x7406;&#x3059;&#x308b;&#x3082;&#x306e;">
+<node CREATED="1409732124101" ID="ID_1163560261" MODIFIED="1409732142087" TEXT="&#x305d;&#x308c;&#x306b;&#x95a2;&#x4fc2;&#x306a;&#x3044;&#x5168;&#x4f53;&#x306e;&#x30eb;&#x30fc;&#x30eb;&#x2192;Condition"/>
+<node CREATED="1409732163267" HGAP="25" ID="ID_732627068" MODIFIED="1409732310218" TEXT="&#x5168;&#x4f53;&#x306e;&#x30eb;&#x30fc;&#x30eb;&#x2192;Rule" VSHIFT="29">
+<node CREATED="1409731984667" ID="ID_178584665" MODIFIED="1409732029903" TEXT="&#x8ab0;&#x304c;&#x2192;Target"/>
+<node CREATED="1409732065891" ID="ID_1725114395" MODIFIED="1409732086189" TEXT="&#x3069;&#x306e;&#x2192;Resource"/>
+<node CREATED="1409732091810" ID="ID_1333781502" MODIFIED="1409732108205" TEXT="&#x3069;&#x306e;&#x3088;&#x3046;&#x306a;&#x884c;&#x52d5;&#x2192;Action"/>
+<node CREATED="1409732271539" ID="ID_694350459" MODIFIED="1409732290189" TEXT="&#x8907;&#x6570;&#x306e;Rule&#x3092;&#x307e;&#x3068;&#x3081;&#x305f;&#x3082;&#x306e;&#x2192;Policy">
+<node CREATED="1409732926724" ID="ID_1962523349" MODIFIED="1409732978671" TEXT="&#x30dd;&#x30ea;&#x30b7;&#x30fc;&#x306f;&#x30dd;&#x30ea;&#x30b7;&#x30fc;&#x8b58;&#x5225;&#x5b50;&#x3067;&#x53c2;&#x7167;&#x3059;&#x308b;"/>
+</node>
+<node CREATED="1409732311338" ID="ID_1984990717" MODIFIED="1409732341830" TEXT="&#x8907;&#x6570;&#x30eb;&#x30fc;&#x30eb;&#x304c;&#x3042;&#x308b;&#x5834;&#x5408;&#x7279;&#x5b9a;&#x306e;&#x30a2;&#x30eb;&#x30b4;&#x30ea;&#x30ba;&#x30e0;&#x306b;&#x4e57;&#x3063;&#x53d6;&#x3063;&#x3066;&#x7d71;&#x5408;&#x3059;&#x308b;">
+<node CREATED="1409732354595" HGAP="19" ID="ID_1685519805" MODIFIED="1409732599784" TEXT="&#x3069;&#x308c;&#x304b;&#xff11;&#x3064;&#x3067;&#x3082;Deny&#x3092;&#x51fa;&#x3057;&#x305f;&#x3089;Deny&#x306b;&#x3059;&#x308b;Deny-overrides" VSHIFT="-19"/>
+<node CREATED="1409732385067" HGAP="26" ID="ID_1098618443" MODIFIED="1409732602639" TEXT="&#x3069;&#x308c;&#x304b;&#xff11;&#x3064;&#x3067;&#x3082;Permit&#x304c;&#x3042;&#x308c;&#x3070;Permit&#x306b;&#x3059;&#x308b;Permit-overrides" VSHIFT="8"/>
+<node CREATED="1409732449668" HGAP="32" ID="ID_138146825" MODIFIED="1409732604863" TEXT="&#x30dd;&#x30ea;&#x30b7;&#x30fc;&#x5185;&#x306e;&#x3059;&#x3079;&#x3066;&#x306e;&#x30eb;&#x30fc;&#x30eb;&#x306b;&#x3064;&#x3044;&#x3066;&#x9806;&#x756a;&#x306b;&#x8a55;&#x4fa1;&#x3057;&#x3066;&#x5bfe;&#x8c61;&#x304c;&#x30de;&#x30c3;&#x30c1;&#x3057;&#x305f;&#x5834;&#x5408;&#x51e6;&#x7406;&#x3092;&#x4e2d;&#x65ad;&#x3057;&#x6b21;&#x306b;condition&#x3092;&#x8a55;&#x4fa1;&#x3059;&#x308b;First-applicable" VSHIFT="29"/>
+</node>
+</node>
+<node CREATED="1409732719180" ID="ID_331065212" MODIFIED="1409732722847" TEXT="&#x554f;&#x984c;&#x70b9;">
+<node CREATED="1409732723564" ID="ID_510301850" MODIFIED="1409732746455" TEXT="&#x627f;&#x8a8d;&#x304b;&#x4e0d;&#x627f;&#x8a8d;&#x304b;&#x3050;&#x3089;&#x3044;&#x3057;&#x304b;&#x51fa;&#x6765;&#x306a;&#x3044;">
+<node CREATED="1409733143596" ID="ID_1046118655" MODIFIED="1409733163935" TEXT="&#x301c;&#x8ab2;&#x9577;&#x306b;&#x554f;&#x3044;&#x5408;&#x308f;&#x305b;&#x7b49;&#x306e;&#x8fd4;&#x7b54;&#x304c;&#x51fa;&#x6765;&#x306a;&#x3044;"/>
+</node>
+</node>
+<node CREATED="1409732851356" ID="ID_579396423" MODIFIED="1409732856527" TEXT="&#x30bb;&#x30ad;&#x30e5;&#x30ea;&#x30c6;&#x30a3;&#x30fc;">
+<node CREATED="1409732857036" ID="ID_1615204542" MODIFIED="1409732888623" TEXT="&#x30a2;&#x30af;&#x30bb;&#x30b9;&#x306f;TLS&#x304b;VPN&#x3067;">
+<node CREATED="1409732889140" ID="ID_563214936" MODIFIED="1409732903294" TEXT="&#x4e26;&#x5217;&#x4fe1;&#x983c;&#x7814;&#x3067;&#x306f;&#x3053;&#x3053;&#x306b;&#x95a2;&#x3057;&#x3066;&#x306f;&#x4f55;&#x3082;&#x3057;&#x306a;&#x3044;"/>
+</node>
+</node>
+</node>
+<node CREATED="1409731961971" ID="ID_467825694" MODIFIED="1409731980190" POSITION="left" TEXT="&#x30b3;&#x30f3;&#x30d1;&#x30a4;&#x30e9;&#x3092;&#x66f8;&#x304f;&#x306e;&#x306f;&#x5927;&#x5909;&#x306a;&#x306e;&#x3067;&#x3068;&#x308a;&#x3042;&#x3048;&#x305a;&#x306f;&#x81ea;&#x5206;&#x3067;&#x30b3;&#x30f3;&#x30d1;&#x30a4;&#x30eb;&#x5f8c;&#x306e;&#x30b3;&#x30fc;&#x30c9;&#x3092;&#x4f7f;&#x3046;">
+<node CREATED="1409732638820" ID="ID_339904056" MODIFIED="1409732663735" TEXT="XACML&#x3092;&#x898b;&#x306a;&#x304c;&#x3089;&#x624b;&#x3067;Java&#x3092;&#x66f8;&#x304f;"/>
+<node CREATED="1409732667236" ID="ID_981072967" MODIFIED="1409732694959" TEXT="&#x88fd;&#x54c1;&#x5316;&#x3059;&#x308b;&#x969b;&#x306f;&#x304c;&#x3093;&#x3070;&#x3063;&#x3066;&#x30b3;&#x30f3;&#x30d1;&#x30a4;&#x30e9;&#x3092;&#x66f8;&#x304f;"/>
+<node CREATED="1409732785548" ID="ID_386637317" MODIFIED="1409732791518" TEXT="&#x30a4;&#x30f3;&#x30bf;&#x30d7;&#x30ea;&#x30bf;&#x306f;&#x9045;&#x304f;&#x306a;&#x308b;&#x304b;&#x3089;&#x3060;&#x3081;"/>
+</node>
+<node CREATED="1409733014548" HGAP="5" ID="ID_1050648292" MODIFIED="1409733027233" POSITION="right" TEXT="Jungle&#x3068;&#x306e;&#x5bfe;&#x5fdc;" VSHIFT="64">
+<node CREATED="1409733028876" ID="ID_1608071345" MODIFIED="1409733111442" TEXT="Jungle&#x306f;&#x5927;&#x304d;&#x306a;&#x30c7;&#x30fc;&#x30bf;&#x3092;&#x6301;&#x305f;&#x306a;&#x3044;">
+<node CREATED="1409733042236" ID="ID_1251734070" MODIFIED="1409733050822" TEXT="&#x4eca;&#x306e;&#x6bb5;&#x968e;&#x3067;&#x306f;String&#x306e;&#x307f;"/>
+<node CREATED="1409733053637" ID="ID_339756775" MODIFIED="1409733068838" TEXT="&#x5927;&#x304d;&#x306a;&#x30c7;&#x30fc;&#x30bf;&#x306f;URL&#x3067;&#x53c2;&#x7167;&#x3055;&#x305b;&#x308b;"/>
+<node CREATED="1409733112652" ID="ID_1078433625" MODIFIED="1409733112652" TEXT=""/>
+</node>
+</node>
+</node>
+</map>
--- a/memo.txt	Sun Aug 31 09:00:16 2014 +0900
+++ b/memo.txt	Wed Sep 03 21:10:30 2014 +0900
@@ -1,3 +1,16 @@
+Fri Jul 18 19:59:20 JST 2014
+    
+    servletから最初にBoardNameをKeyにTreeを持ってくる
+    ここでConcarentHashMapを使っているが、Jungleそのものを使うことが可能である
+    名前とTreeRootの組からなるNodeを持つTreeを作る
+    この木は名前でバランスさせる
+    変更したらそのRootを伝播させる
+    Rootはatomicな変数で持つ
+    
+    問題は、この名前と木の対応を誰が持つか
+    1Nodeで1つにするかThread毎に別に持つ、全体に1つでも問題ない?
+    
+
 2012/06/11
  ・誰が Editor を提供する API を保持するべきか?
  ・Editor の役割
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultChildren.java	Sun Aug 31 09:00:16 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultChildren.java	Wed Sep 03 21:10:30 2014 +0900
@@ -95,4 +95,4 @@
 	{
 		return (new IterableWrapper<TreeNode<T>>(children)).iterator();
 	}
-}*/
+}*/
\ No newline at end of file
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultNode.java	Sun Aug 31 09:00:16 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultNode.java	Wed Sep 03 21:10:30 2014 +0900
@@ -8,10 +8,10 @@
 
 public class DefaultNode implements Node
 {
-	public List<DefaultNode> children;
+	public List<Node> children;
 	public TreeMap<String,ByteBuffer> attrs;
 	
-	private static final List<DefaultNode> NIL_LIST = List.nil();
+	private static final List<Node> NIL_LIST = List.nil();
 	private static final TreeMap<String,ByteBuffer> NIL_MAP = TreeMap.empty(Ord.stringOrd);
 	
 	public DefaultNode()
@@ -19,7 +19,7 @@
 		this(NIL_LIST,NIL_MAP);
 	}
 	
-	public DefaultNode(List<DefaultNode> _children,TreeMap<String,ByteBuffer> _attrs)
+	public DefaultNode(List<Node> _children,TreeMap<String,ByteBuffer> _attrs)
 	{
 		attrs = _attrs;
 		children = _children;