changeset 75:26dfa90016d1

error delete but 2 test program commentout and not action BulletinBoard Traverser is bad
author one
date Wed, 27 Aug 2014 05:52:46 +0900
parents 3a3622cf2eef
children 2fc0b0313dc0
files src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNode.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNodeAttributes.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNodeChildren.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNode.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNodeAttribute.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNodeChildren.java src/test/java/DefaultJungleTreeTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/ChildrenTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/AppendChildAtTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/DeleteAttributeAtTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/PutAttributeTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/treeeditor/TreeNodeChildrenTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeAttributesTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeChildrenTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/logging/LoggingAttributesTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultAttributesTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultChildrenTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultNodeTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverse/TraverserTest.java
diffstat 20 files changed, 68 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNode.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNode.java	Wed Aug 27 05:52:46 2014 +0900
@@ -11,6 +11,7 @@
 	@Override
 	public TreeNodeAttributes<T> getAttributes();
 	
+	public TreeNode<T> createNewNode();
 	//public Node getAsNode();
 	
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNodeAttributes.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNodeAttributes.java	Wed Aug 27 05:52:46 2014 +0900
@@ -2,6 +2,7 @@
 
 import java.nio.ByteBuffer;
 
+import fj.data.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Attributes;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
@@ -10,4 +11,5 @@
 {
 	public Either<Error,T> delete(String _key);
 	public Either<Error,T> put(String _key,ByteBuffer _value);
+	public TreeMap<String,ByteBuffer> getAttributesAsRawMap();
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNodeChildren.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TreeNodeChildren.java	Wed Aug 27 05:52:46 2014 +0900
@@ -1,8 +1,9 @@
 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl;
 
+import fj.data.List;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
-
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Parent;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
 
@@ -12,4 +13,5 @@
 	public Either<Error,T> deleteChildAt(int _pos);
 	public Either<Error,T> addNewChildAt(int _pos,T _newChild);
 	public Either<Error,T> replaceNode(int _pos,T _replacement);
+	public List<DefaultTreeNode> getChildrenAsRawList();
 }
\ No newline at end of file
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNode.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNode.java	Wed Aug 27 05:52:46 2014 +0900
@@ -40,6 +40,11 @@
 		return new DefaultTreeNodeAttribute(children, attrs);
 	}
 	
+	@Override
+	public DefaultTreeNode createNewNode(){
+		return new DefaultTreeNode();
+	}
+	
 	/*public DefaultNode getWrap()
 	{
 		return wrap;
@@ -55,4 +60,6 @@
 	{
 		return new DefaultTreeNode(children,attrs);
 	}
+	
+	
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNodeAttribute.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNodeAttribute.java	Wed Aug 27 05:52:46 2014 +0900
@@ -25,6 +25,11 @@
 	}
 
 	@Override
+	public TreeMap<String,ByteBuffer> getAttributesAsRawMap(){
+		return attrs;
+	}
+	
+	@Override
 	public Either<Error,DefaultTreeNode> delete(String _key)
 	{
 		if(_key == null){
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNodeChildren.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeNodeChildren.java	Wed Aug 27 05:52:46 2014 +0900
@@ -46,6 +46,10 @@
 	}
 
 	@Override
+	public List<DefaultTreeNode> getChildrenAsRawList(){
+		return children;
+	}
+	@Override
 	public Either<Error,DefaultTreeNode> addNewChildAt(int _pos)
 	{
 		if(!boundaryCheck(_pos) || _pos < 0){
--- a/src/test/java/DefaultJungleTreeTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/DefaultJungleTreeTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -1,4 +1,5 @@
 import java.nio.ByteBuffer;
+
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
@@ -6,6 +7,7 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Result;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
@@ -25,7 +27,7 @@
 	public static final String key = "KEY";
 	public static final ByteBuffer value = ByteBuffer.wrap(key.getBytes());
 	
-	public void testSampleTest()
+	public <T extends TreeNode<T>>void testSampleTest()
 	{
 		Jungle j = instance();
 		j.createNewTree("tree");
@@ -44,7 +46,7 @@
 		editor1.success();
 		
 		// check the value ;
-		Node node = tree.getRootNode();
+		TreeNode<T> node = tree.getRootNode();
 		ByteBuffer v = node.getAttributes().get(key);
 		Assert.assertEquals(0,v.compareTo(value));
 		
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/ChildrenTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/ChildrenTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -1,17 +1,19 @@
 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core;
 
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNodeChildren;
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
 public abstract class ChildrenTest<T> extends TestCase
 {
 	public abstract int expectSize();
-	public abstract Children<T> instance();
+	public abstract DefaultTreeNodeChildren instance();
 	
 	public void testSize()
 	{
 		int expect = expectSize();
-		Children<T> children = instance();
+		Children<DefaultTreeNode> children = instance();
 		
 		Assert.assertEquals(expect,children.size());
 	}
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/AppendChildAtTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/AppendChildAtTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -1,6 +1,5 @@
 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor;
 
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.EditableNodeWrapper;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.AppendChildAt;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
@@ -13,7 +12,7 @@
 {
 	public void testEdit()
 	{
-		DefaultTreeNode node = new DefaultTreeNode(new DefaultNode());
+		DefaultTreeNode node = new DefaultTreeNode();
 		AppendChildAt op = new AppendChildAt(0);
 		EditableNodeWrapper<DefaultTreeNode> wrapper = new EditableNodeWrapper<DefaultTreeNode>(node);
 		Either<Error, EditableNodeWrapper<DefaultTreeNode>> either = op.edit(wrapper);
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/DeleteAttributeAtTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/DeleteAttributeAtTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -1,7 +1,6 @@
 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor;
 
 import java.nio.ByteBuffer;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.EditableNodeWrapper;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteAttribute;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
@@ -17,7 +16,7 @@
 		String key = "KEY";
 		ByteBuffer value = ByteBuffer.wrap(key.getBytes());
 		
-		DefaultTreeNode node = new DefaultTreeNode(new DefaultNode());
+		DefaultTreeNode node = new DefaultTreeNode();
 		Either<Error,DefaultTreeNode> either = node.getAttributes().put(key, value);
 		if(either.isA()){
 			Assert.fail();
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/PutAttributeTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/PutAttributeTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -4,7 +4,6 @@
 
 import org.junit.Assert;
 
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.EditableNodeWrapper;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
@@ -18,7 +17,7 @@
 	{
 		String key = "KEY";
 		ByteBuffer value = ByteBuffer.wrap(key.getBytes());
-		DefaultTreeNode node = new DefaultTreeNode(new DefaultNode());
+		DefaultTreeNode node = new DefaultTreeNode();
 		PutAttribute op = new PutAttribute(key,value);
 		EditableNodeWrapper<DefaultTreeNode> wrapper = new EditableNodeWrapper<DefaultTreeNode>(node);
 		Either<Error, EditableNodeWrapper<DefaultTreeNode>> either = op.edit(wrapper);
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/treeeditor/TreeNodeChildrenTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/treeeditor/TreeNodeChildrenTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -1,4 +1,4 @@
-package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.treeeditor;
+/*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.treeeditor;
 
 import java.nio.ByteBuffer;
 import org.junit.Assert;
@@ -34,7 +34,7 @@
 			instance = either.b();
 		}
 		
-		T newNode = instance.createNewNode();
+		TreeNode<T> newNode = instance.createNewNode();
 		String key = "KEY";
 		ByteBuffer value = ByteBuffer.wrap("VALUE".getBytes());
 		
@@ -78,7 +78,7 @@
 		// prepare
 		
 		for(int i = 0;i < _count;i ++){
-			T newNode = instance.createNewNode();
+			TreeNode<T> newNode = instance.createNewNode();
 			Either<Error,T> either = newNode.getAttributes().put(key,value);
 			if(either.isA()){
 				Assert.fail("failed to put attributes to child");
@@ -99,7 +99,7 @@
 		// create node for replacement.
 		
 		ByteBuffer replaceNodeValue = ByteBuffer.wrap("EULAV".getBytes());
-		T replacement = instance.createNewNode();
+		TreeNode<T> replacement = instance.createNewNode();
 		Either<Error,T> either = replacement.getAttributes().put(key,replaceNodeValue);
 		if(either.isA()){
 			Assert.fail("failed to create replacement node");
@@ -128,4 +128,4 @@
 			Assert.assertEquals(0,expect.compareTo(actual));
 		}
 	}
-}
+}*/
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeAttributesTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeAttributesTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -8,7 +8,7 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Attributes;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesTest;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor.EditableAttributesTest;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
+
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.EditableNodeWrapper;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
@@ -27,14 +27,14 @@
 	
 	public static DefaultTreeNode instance()
 	{
-		List<DefaultNode> rawList = List.nil();
+		List<DefaultTreeNode> rawList = List.nil();
 		TreeMap<String,ByteBuffer> rawMap = TreeMap.empty(Ord.stringOrd);
 		
 		for(P2<String,ByteBuffer> entry : AttributesTest.ENTRIES){
 			rawMap = rawMap.set(entry._1(),entry._2());
 		}
 		
-		return new DefaultTreeNode(new DefaultNode(rawList,rawMap));
+		return new DefaultTreeNode(rawList,rawMap);
 	}
 	
 	public static class AttributeTestImpl extends AttributesTest
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeChildrenTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeChildrenTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -1,8 +1,7 @@
-package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.impl.clonable;
+/*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.impl.clonable;
 
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor.EditableChildrenTest;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.treeeditor.TreeNodeChildrenTest;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.EditableNodeWrapper;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableChildren;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
@@ -21,7 +20,7 @@
 	
 	public static DefaultTreeNode instance()
 	{
-		return new DefaultTreeNode(new DefaultNode());
+		return new DefaultTreeNode();
 	}
 	
 	public static class TreeNodeChildrenTestImpl extends TreeNodeChildrenTest<DefaultTreeNode>
@@ -43,4 +42,4 @@
 			return wrapper.getChildren();
 		}
 	}
-}
+}*/
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/clonable/DefaultTreeNodeTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -3,7 +3,6 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesContainer;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesContainerTest;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.ParentTest;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
 import junit.framework.Assert;
 import junit.framework.TestCase;
@@ -21,16 +20,13 @@
 	
 	public static DefaultTreeNode instance()
 	{
-		DefaultTreeNode node = new DefaultTreeNode(new DefaultNode());
+		DefaultTreeNode node = new DefaultTreeNode();
 		return node;
 	}
 	
 	public void testGetWrapped()
 	{
 		DefaultTreeNode instance = instance();
-		DefaultNode wrapped = instance.getWrap();
-		
-		Assert.assertNotNull(wrapped);
 	}
 	
 	public void testCreateNewNode()
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/logging/LoggingAttributesTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/logging/LoggingAttributesTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -9,7 +9,6 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Attributes;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesTest;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor.EditableAttributesTest;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.EditableNodeWrapper;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes;
@@ -29,14 +28,14 @@
 	
 	public static LoggingNode<EditableNodeWrapper<DefaultTreeNode>> instance()
 	{
-		List<DefaultNode> rawList = List.nil();
+		List<DefaultTreeNode> rawList = List.nil();
 		TreeMap<String,ByteBuffer> rawMap = TreeMap.empty(Ord.stringOrd);
 		
 		for(P2<String, ByteBuffer> entry : AttributesTest.ENTRIES){
 			rawMap = rawMap.set(entry._1(),entry._2());
 		}
 		
-		EditableNodeWrapper<DefaultTreeNode> wrapper = new EditableNodeWrapper<DefaultTreeNode>(new DefaultTreeNode(new DefaultNode(rawList,rawMap)));
+		EditableNodeWrapper<DefaultTreeNode> wrapper = new EditableNodeWrapper<DefaultTreeNode>(new DefaultTreeNode (rawList,rawMap));
 		return new LoggingNode<EditableNodeWrapper<DefaultTreeNode>>(wrapper);
 	}
 	
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultAttributesTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultAttributesTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -11,13 +11,14 @@
 import fj.data.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesTest;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultAttributes;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNodeAttribute;
 
 public class DefaultAttributesTest extends AttributesTest
 {
-	public DefaultAttributes instance()
+	public DefaultTreeNodeAttribute instance()
 	{
-		List<DefaultNode> rawList = List.nil();
+		List<DefaultTreeNode> rawList = List.nil();
 		TreeMap<String,ByteBuffer> rawMap = TreeMap.empty(Ord.stringOrd);
 		
 		// add attributes
@@ -26,13 +27,13 @@
 			rawMap = rawMap.set(entry._1(),entry._2());
 		}
 		
-		DefaultNode node = new DefaultNode(rawList,rawMap);
+		DefaultTreeNode node = new DefaultTreeNode(rawList,rawMap);
 		return node.getAttributes();
 	}
 	
 	public void testGetAttributesAsRawMap()
 	{
-		DefaultAttributes attrs = instance();
+		DefaultTreeNodeAttribute attrs = instance();
 		TreeMap<String,ByteBuffer> rawMap = attrs.getAttributesAsRawMap();
 		
 		// testing rawmap is not null.
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultChildrenTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultChildrenTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -10,22 +10,23 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.ChildrenTest;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultChildren;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNodeChildren;
 
 public class DefaultChildrenTest extends ChildrenTest<Node>
 {
 	
 	@Override
-	public DefaultChildren instance()
+	public DefaultTreeNodeChildren instance()
 	{
-		List<DefaultNode> rawList = List.nil();
+		List<DefaultTreeNode> rawList = List.nil();
 		for(int i = 0;i < expectSize();i ++){
-			rawList = rawList.cons(new DefaultNode());
+			rawList = rawList.cons(new DefaultTreeNode());
 		}
 		
 		TreeMap<String,ByteBuffer> rawMap = TreeMap.empty(Ord.stringOrd);
 		
-		return new DefaultNode(rawList,rawMap).getChildren();
+		return new DefaultTreeNode(rawList,rawMap).getChildren();
 	}
 
 	@Override
@@ -36,8 +37,8 @@
 	
 	public void testGetChildrenAsRawList()
 	{
-		DefaultChildren instance = instance();
-		List<DefaultNode> rawList = instance.getChildrenAsRawList();
+		DefaultTreeNodeChildren instance = instance();
+		List<DefaultTreeNode> rawList = instance.getChildrenAsRawList();
 		
 		Assert.assertNotNull(rawList);
 		Assert.assertEquals(expectSize(),rawList.length());
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultNodeTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultNodeTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -8,7 +8,7 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesContainer;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesContainerTest;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.ParentTest;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
@@ -27,11 +27,11 @@
 		return suite;
 	}
 	
-	public static DefaultNode instance()
+	public static DefaultTreeNode instance()
 	{
-		List<DefaultNode> rawList = List.nil();
+		List<DefaultTreeNode> rawList = List.nil();
 		TreeMap<String,ByteBuffer> rawMap = TreeMap.empty(Ord.stringOrd);
-		DefaultNode node = new DefaultNode(rawList,rawMap);
+		DefaultTreeNode node = new DefaultTreeNode(rawList,rawMap);
 		
 		return node;
 	}
@@ -45,11 +45,11 @@
 		}
 	}
 	
-	public static class ParentTestImpl extends ParentTest<DefaultNode>
+	public static class ParentTestImpl extends ParentTest<DefaultTreeNode>
 	{
 
 		@Override
-		public DefaultNode instance()
+		public DefaultTreeNode instance()
 		{
 			return DefaultNodeTest.instance();
 		}
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverse/TraverserTest.java	Wed Aug 27 05:07:50 2014 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverse/TraverserTest.java	Wed Aug 27 05:52:46 2014 +0900
@@ -6,7 +6,6 @@
 
 import fj.data.List;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
@@ -78,7 +77,7 @@
 	
 	public static String key = "KEY";
 	public static ByteBuffer value = ByteBuffer.wrap(key.getBytes());
-	public static DefaultTreeNode factory = new DefaultTreeNode(new DefaultNode());
+	public static DefaultTreeNode factory = new DefaultTreeNode();
 	
 	public DefaultTreeNode createTree(int _curX,int _curY,int _maxHeight,NodePath _address)
 	{