changeset 111:6e7724d55a72

Removed some class container
author nobuyasu
date Thu, 28 Nov 2013 19:21:43 +0900
parents 164283d23f2d
children 8f9811a1e00c
files src/main/java/alice/jungle/datasegment/container/DefaultNodeOperationContainer.java src/main/java/alice/jungle/datasegment/container/DefaultNodePathContainer.java src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationContainer.java src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationLogContainer.java src/main/java/alice/jungle/datasegment/store/HashSetDataSegment.java src/test/java/alice/jungle/CheckDoubleTreeAttr.java src/test/java/alice/jungle/CopyAttrJungle2.java src/test/java/alice/jungle/DoubleJungleManager.java src/test/java/alice/jungle/LocalDoubleJungleTree.java src/test/java/alice/jungle/PutAttrJungle1.java src/test/java/alice/jungle/log/example/ListTest.java src/test/java/alice/jungle/log/example/LogReadCodeSegment.java src/test/java/alice/jungle/log/example/LogSendTest.java src/test/java/alice/jungle/log/example/PrintChildrenAttribute.java src/test/java/alice/jungle/log/example/StartCodeSegment.java src/test/java/alice/jungle/log/example/TestCodeSegment.java src/test/java/alice/jungle/log/example/TestLocalAlice.java src/test/java/alice/jungle/log/example/codesement/operation/ShowAttribute.java src/test/java/alice/jungle/log/example/codesement/operation/StartJungleCodeSegment.java src/test/java/alice/jungle/log/example/codesement/operation/TestPutAttributeCodeSegment.java
diffstat 20 files changed, 0 insertions(+), 1175 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/alice/jungle/datasegment/container/DefaultNodeOperationContainer.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-package alice.jungle.datasegment.container;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.AppendChildAtOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteAttributeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation;
-
-import org.msgpack.MessagePack;
-import org.msgpack.annotation.Message;
-import org.msgpack.template.OrdinalEnumTemplate;
-import org.msgpack.type.Value;
-
-import alice.codesegment.SingletonMessage;
-
-@Message
-public class DefaultNodeOperationContainer {
-
-	public int pos;
-	public String key;
-	public Value value;
-	public Value commandValue;
-	
-	public static void main(String[] args) throws IOException {
-		String key = "hoge";
-		ByteBuffer b = ByteBuffer.wrap("messagepack value".getBytes());
-		PutAttributeOperation op = new PutAttributeOperation(key, b);
-		DefaultNodeOperationContainer container = new DefaultNodeOperationContainer();
-		container.unconvert(op);
-		NodeOperation convertedOp = container.convert(); 
-		System.out.println("pos : "+convertedOp.getPosition());
-		System.out.println("Command : "+convertedOp.getCommand());
-		System.out.println("key : "+convertedOp.getKey());
-		System.out.println("value : "+new String(convertedOp.getValue().array()));
-		
-	}
-	
-	public DefaultNodeOperationContainer() {
-		
-	}
-
-	public void unconvert(NodeOperation op) throws IOException {
-//		MessagePack msgpack = new MessagePack();
-		MessagePack msgpack = SingletonMessage.getInstance();
-		pos = op.getPosition();
-		key = op.getKey();
-		value = null;
-		if (op.getValue() != null) {
-			ByteBuffer b = op.getValue();
-			byte[] bytes = b.array();
-			Value v = msgpack.unconvert(bytes);
-			value = v;
-		}
-		Command c = op.getCommand();
-		msgpack.register(Command.class, new OrdinalEnumTemplate(Command.class));
-		Value cValue = msgpack.unconvert(c);
-		commandValue = cValue;
-	}
-	
-	public NodeOperation convert() throws IOException{
-//		MessagePack msgpack = new MessagePack();
-		MessagePack msgpack = SingletonMessage.getInstance();
-		msgpack.register(Command.class, new OrdinalEnumTemplate(Command.class));
-		Command c = msgpack.convert(commandValue, Command.class);
-		ByteBuffer b = null;
-		if (value != null) {
-			b = ByteBuffer.wrap(msgpack.convert(value, byte[].class));
-		}
-		if (c == Command.PUT_ATTRIBUTE) {
-			return new PutAttributeOperation(key, b);
-		} else if (c == Command.APPEND_CHILD) {
-			return new AppendChildAtOperation(pos);
-		} else if (c == Command.DELETE_CHILD) {
-			return new DeleteChildAtOperation(pos);
-		} else if (c == Command.DELETE_ATTRIBUTE){
-			return new DeleteAttributeOperation(key);
-		}
-		return null;
-	}
-	
-}
--- a/src/main/java/alice/jungle/datasegment/container/DefaultNodePathContainer.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-package alice.jungle.datasegment.container;
-
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-
-import org.msgpack.MessagePack;
-import org.msgpack.annotation.Message;
-import org.msgpack.template.IntegerTemplate;
-import org.msgpack.template.ListTemplate;
-import org.msgpack.type.Value;
-
-@Message
-public class DefaultNodePathContainer {
-
-	public Value pathValue;
-	
-	public static void main(String[] args) throws IOException {
-		DefaultNodePath p = new DefaultNodePath();
-		p = p.add(1).add(2).add(3);
-		DefaultNodePathContainer pathContainer = new DefaultNodePathContainer();
-		pathContainer.unconvert(p);
-		NodePath convertedPath = pathContainer.convert();
-		for (int i : convertedPath) {
-			System.out.println(i);
-		}
-	}
-	
-	public DefaultNodePathContainer() {
-		
-	}
-	
-	public void unconvert(NodePath path) throws IOException {
-		MessagePack msgpack = new MessagePack();
-		List<Integer> list = new LinkedList<Integer>();
-		for(Integer i : path) {
-			list.add(i);
-		}
-		/* Remove first Element(-1). */
-		list.remove(0);
-		Value v = msgpack.unconvert(list);
-		pathValue = v;
-	}
-	
-	public DefaultNodePath convert() throws IOException {
-		MessagePack msgpack = new MessagePack();
-		msgpack.register(List.class, new ListTemplate(IntegerTemplate.getInstance()));
-		List<Integer> convertedList = (List<Integer>)msgpack.convert(pathValue, List.class);
-		DefaultNodePath path = new DefaultNodePath();
-		for (int i: convertedList) {
-			path = path.add(i);
-		}
-		return path;
-	}
-}
--- a/src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationContainer.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-package alice.jungle.datasegment.container;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
-
-import org.msgpack.MessagePack;
-import org.msgpack.annotation.Message;
-import org.msgpack.type.Value;
-
-import alice.codesegment.SingletonMessage;
-
-@Message
-public class DefaultTreeOperationContainer {
-
-	Value pathValue;
-	Value opValue;
-
-	public static void main(String[] args) throws IOException {
-		String key = "hoge";
-		ByteBuffer b = ByteBuffer.wrap("messagepack value".getBytes());
-		PutAttributeOperation op = new PutAttributeOperation(key, b);
-
-		DefaultNodePath p = new DefaultNodePath();
-		p = p.add(1).add(2).add(3);
-		DefaultTreeOperation treeOp = new DefaultTreeOperation(p, op);
-		
-		DefaultTreeOperationContainer treeOperationContainer = new DefaultTreeOperationContainer();
-		treeOperationContainer.unconvert(treeOp);
-
-		TreeOperation treeOperation = treeOperationContainer.convert();
-		NodePath nodePath = treeOperation.getNodePath();
-		NodeOperation nodeOp = treeOperation.getNodeOperation();
-		Command c = nodeOp.getCommand();
-		String str = "";
-		switch (c) {
-		case PUT_ATTRIBUTE:
-			String k = nodeOp.getKey();
-			ByteBuffer value = nodeOp.getValue();
-			if (value.limit() < 100) {
-				str = String.format("key:%s,value:%s", k,
-						new String(value.array()));
-			} else {
-				str = String.format("key:%s,value:%d", k, value.limit());
-			}
-			break;
-		case DELETE_ATTRIBUTE:
-			str = String.format("key:%s", nodeOp.getKey());
-			break;
-		case APPEND_CHILD:
-			str = String.format("pos:%d", nodeOp.getPosition());
-			break;
-		case DELETE_CHILD:
-			str = String.format("pos:%d", nodeOp.getPosition());
-			break;
-		}
-		System.out.println(String.format("[%s:%s:%s]", c, nodePath, str));
-		for (int i: nodePath ) {
-			System.out.println(i);
-		}
-	}
-
-	public DefaultTreeOperationContainer() {
-
-	}
-	
-	public void unconvert(DefaultTreeOperation _op) throws IOException {
-		NodeOperation nodeOp = _op.getNodeOperation();
-		NodePath nodePath = _op.getNodePath();
-		DefaultNodeOperationContainer opContainer = new DefaultNodeOperationContainer();
-		opContainer.unconvert(nodeOp);
-		DefaultNodePathContainer pathContainer = new DefaultNodePathContainer();
-		pathContainer.unconvert(nodePath);
-		unconvert(opContainer, pathContainer);
-	}
-
-	public void unconvert(DefaultNodeOperationContainer _op,
-			DefaultNodePathContainer _path) throws IOException {
-//		MessagePack msgpack = new MessagePack();
-		MessagePack msgpack = SingletonMessage.getInstance();
-		pathValue = msgpack.unconvert(_path);
-		opValue = msgpack.unconvert(_op);
-	}
-
-	public TreeOperation convert() throws IOException {
-//		MessagePack msgpack = new MessagePack();
-		MessagePack msgpack = SingletonMessage.getInstance();
-		DefaultNodePathContainer pathContainer = msgpack.convert(pathValue, DefaultNodePathContainer.class);
-		DefaultNodeOperationContainer opContainer = msgpack.convert(opValue, DefaultNodeOperationContainer.class);
-		return new DefaultTreeOperation(pathContainer.convert(), opContainer.convert());
-	}
-
-}
--- a/src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationLogContainer.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-package alice.jungle.datasegment.container;
-
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
-
-import org.msgpack.MessagePack;
-import org.msgpack.annotation.Message;
-import org.msgpack.template.ListTemplate;
-import org.msgpack.template.ValueTemplate;
-import org.msgpack.type.Value;
-
-import alice.codesegment.SingletonMessage;
-
-@Message
-public class DefaultTreeOperationLogContainer {
-
-	Value logValue;
-	String treeName;
-	String uuid;
-	String updaterName;
-	String revision;
-	long timestamp;
-
-	public DefaultTreeOperationLogContainer() {
-		logValue = null;
-		treeName = "";
-		uuid = "";
-		updaterName = "";
-		revision = "";
-		timestamp = Long.MAX_VALUE;
-	}
-	
-	public void setTreeName(String _treeName) {
-		treeName = _treeName;
-	}
-	
-	public String getTreeName() {
-		return treeName;
-	}
-	
-	public void setUUID(String _uuid) {
-		uuid = _uuid;
-	}
-	
-	public String getUUID() {
-		return uuid;
-	}
-
-	public void setUpdaterName(String _updaterName) {
-		updaterName = _updaterName;
-	}
-	
-	public String getServerName() {
-		return updaterName;
-	}
-	
-	public void setRevision(String _revision) {
-		revision = _revision;
-	}
-	
-	public String getRevision() {
-		return revision;
-	}
-
-	public void setTimeStamp(long t) {
-		timestamp = t;
-	}
-	
-	public long getTimeStamp() {
-		return timestamp;
-	}
-	
-	public void unconvert(Iterable<TreeOperation> _log) throws IOException {
-		MessagePack msgpack = SingletonMessage.getInstance();
-		List<Value> list = new LinkedList<Value>();
-		for(TreeOperation op : _log) {
-			NodeOperation nOp = op.getNodeOperation();
-			NodePath nodePath = op.getNodePath();
-			DefaultTreeOperation treeOp = new DefaultTreeOperation(nodePath, nOp);
-			DefaultTreeOperationContainer container = new DefaultTreeOperationContainer();
-			container.unconvert(treeOp);
-			Value v = msgpack.unconvert(container);
-			list.add(v);
-		}
-		Value listValue = msgpack.unconvert(list);
-		logValue = listValue;
-	}
-	
-	public DefaultTreeOperationLog convert() throws IOException {
-		MessagePack msgpack = SingletonMessage.getInstance();
-		msgpack.register(List.class, new ListTemplate(ValueTemplate.getInstance()));
-		List<Value> listValue = msgpack.convert(logValue, List.class);
-		List<TreeOperation> logList = new LinkedList<TreeOperation>();
-		for(Value v: listValue) {
-			DefaultTreeOperationContainer container = msgpack.convert(v, DefaultTreeOperationContainer.class);
-			logList.add(container.convert());
-		}
-		DefaultTreeOperationLog log = new DefaultTreeOperationLog(logList, logList.size());
-		return log;
-	}
-	
-	public String getHashLogString() {
-		return treeName + revision + updaterName;
-	}
-
-	
-}
--- a/src/main/java/alice/jungle/datasegment/store/HashSetDataSegment.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-package alice.jungle.datasegment.store;
-
-import java.util.HashSet;
-
-import org.msgpack.annotation.Message;
-
-@Message
-public class HashSetDataSegment {
-	public HashSet<String> hash = new HashSet<String>();			
-	public HashSetDataSegment() {}
-}
--- a/src/test/java/alice/jungle/CheckDoubleTreeAttr.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-package alice.jungle;
-
-import java.nio.ByteBuffer;
-import java.util.Iterator;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class CheckDoubleTreeAttr extends CodeSegment {
-	
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	
-	public CheckDoubleTreeAttr() {
-		arg1.setKey("count");
-	}
-	
-	public void run() {
-		int count = arg1.asInteger();
-		
-		DoubleJungleManager djm = new DoubleJungleManager();
-		Jungle jungle1 = djm.getJungle1();
-		Jungle jungle2 = djm.getJungle2();
-		JungleTree tree1 = jungle1.getTreeByName("tree");
-		JungleTree tree2 = jungle2.getTreeByName("tree");
-		
-		Node node1 = tree1.getRootNode();
-		Node node2 = tree2.getRootNode();
-		Children<Node> chs1 = node1.getChildren();
-		Children<Node> chs2 = node2.getChildren();
-		
-		Iterator<Node> iter1 = chs1.iterator();
-		Iterator<Node> iter2 = chs2.iterator();
-		
-		for(; iter1.hasNext() && iter2.hasNext();) {
-			Node n1 = iter1.next();
-			Node n2 = iter2.next();
-			ByteBuffer b1 = n1.getAttributes().get("key");
-			ByteBuffer b2 = n2.getAttributes().get("key");
-			String str1 = new String(b1.array());
-			String str2 = new String(b2.array());
-			if(!str1.equals(str2)) {
-				System.out.println("Failed ");
-				System.out.println("str1 "+ str1);
-				System.out.println("str2 "+ str2);
-				System.exit(0);
-			} else { 
-				System.out.println("success: " + str1);
-			}
-		}
-		
-	}
-
-}
--- a/src/test/java/alice/jungle/CopyAttrJungle2.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-package alice.jungle;
-
-import java.io.IOException;
-
-import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class CopyAttrJungle2 extends CodeSegment {
-	
-	Receiver logReceiver = ids.create(CommandType.TAKE);
-	Receiver countReceiver = ids.create(CommandType.TAKE);
-	
-	public CopyAttrJungle2() {
-		logReceiver.setKey("log");
-		countReceiver.setKey("count2");
-	}
-
-	public void run() {
-		System.out.println("CopyAttrJungle2");
-		int count = countReceiver.asInteger();
-		DefaultTreeOperationLogContainer container = logReceiver.asClass(DefaultTreeOperationLogContainer.class);
-		DefaultTreeOperationLog log = null;
-		try {
-			log = container.convert();
-		} catch (IOException e) {
-			e.printStackTrace();
-			System.exit(0);
-		}
-		String treeName = container.getTreeName();
-		DoubleJungleManager djm = new DoubleJungleManager();
-		Jungle jungle2 = djm.getJungle2();
-		JungleTree tree = jungle2.getTreeByName(treeName);
-		
-		JungleTreeEditor editor = tree.getTreeEditor();
-		Either<Error, JungleTreeEditor> either = djm.edit(editor, log);
-		if (either.isA()) {
-			throw new IllegalStateException();				
-		}
-		editor = either.b();
-		editor.success();
-		new CheckDoubleTreeAttr();
-		ods.update("count", count);
-	}
-	
-}
--- a/src/test/java/alice/jungle/DoubleJungleManager.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-package alice.jungle;
-
-import java.nio.ByteBuffer;
-
-import alice.jungle.core.NetworkDefaultJungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-
-public class DoubleJungleManager {
-
-	static Jungle jungle1 = new NetworkDefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
-	static Jungle jungle2 = new NetworkDefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
-	
-	
-	public DoubleJungleManager() {
-		
-	}
-	
-	public Jungle getJungle1() {
-		return jungle1;
-	}
-	
-	public Jungle getJungle2() {
-		return jungle2;
-	}
-	
-	
-	public Either<Error, JungleTreeEditor> edit(JungleTreeEditor _editor ,TreeOperationLog _log) {
-		JungleTreeEditor editor = _editor;
-		Either<Error, JungleTreeEditor> either = null;
-		for (TreeOperation op : _log) { 
-			either = _edit(editor, op);
-			if(either.isA()) {
-				return either;
-			}
-			editor = either.b();
-		}
-		return either;
-	}
-	
-	private Either<Error, JungleTreeEditor> _edit(JungleTreeEditor editor,
-			TreeOperation op) {
-		NodePath path = op.getNodePath();
-		NodeOperation nodeOp = op.getNodeOperation();
-		Command c = nodeOp.getCommand();
-		String key = "";
-		switch (c) {
-		case PUT_ATTRIBUTE:
-			key = nodeOp.getKey();
-			ByteBuffer value = nodeOp.getValue();
-			return editor.putAttribute(path, key, value);
-		case DELETE_ATTRIBUTE:
-			key = nodeOp.getKey();
-			return editor.deleteAttribute(path, key);
-		case APPEND_CHILD:
-			return editor.addNewChildAt(path, 0);
-		case DELETE_CHILD:
-			return editor.deleteChildAt(path, 0);
-		}
-		return null;
-	}
-}
--- a/src/test/java/alice/jungle/LocalDoubleJungleTree.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-package alice.jungle;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-
-public class LocalDoubleJungleTree {
-
-	public static void main(String[] args) {
-		System.out.println("LocalDoubleJungleTree");
-		DoubleJungleManager djm = new DoubleJungleManager();
-		Jungle jungle1 = djm.getJungle1();
-		Jungle jungle2 = djm.getJungle2();
-		jungle1.createNewTree("tree");
-		jungle2.createNewTree("tree");
-		
-		PutAttrJungle1 cs = new PutAttrJungle1();
-		cs.ods.update("count1", 0);
-		
-	}
-
-}
--- a/src/test/java/alice/jungle/PutAttrJungle1.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-package alice.jungle;
-
-import java.nio.ByteBuffer;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class PutAttrJungle1 extends CodeSegment {
-	
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	
-	public PutAttrJungle1() {
-		arg1.setKey("count1");
-	}
-	
-	public void run() {
-		System.out.println("PutAttrJungle1");
-		int count = arg1.asInteger();
-		Jungle jungle1 = new DoubleJungleManager().getJungle1();
-		JungleTree tree = jungle1.getTreeByName("tree");
-		JungleTreeEditor editor = tree.getTreeEditor();
-		DefaultNodePath root = new DefaultNodePath();
-		Either<Error, JungleTreeEditor> either =  editor.addNewChildAt(root, 0);
-		if(either.isA()) {
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		either = editor.putAttribute(root.add(0), "key", ByteBuffer.wrap("message".getBytes()));
-		if(either.isA()) {
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		editor.success();
-		
-		new CopyAttrJungle2();
-		ods.update("count2", count);
-		
-	}
-
-}
--- a/src/test/java/alice/jungle/log/example/ListTest.java	Tue Nov 26 18:40:32 2013 +0900
+++ b/src/test/java/alice/jungle/log/example/ListTest.java	Thu Nov 28 19:21:43 2013 +0900
@@ -1,7 +1,6 @@
 package alice.jungle.log.example;
 
 import java.util.Iterator;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import fj.P2;
 import fj.data.List;
--- a/src/test/java/alice/jungle/log/example/LogReadCodeSegment.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-package alice.jungle.log.example;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-import jungle.app.bbs.JungleManager;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class LogReadCodeSegment extends CodeSegment {
-	
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	
-	public LogReadCodeSegment() {
-		arg1.setKey("log");
-	}
-
-	public void run() {
-		System.out.println("--LogReadCodeSegment--");
-		
-		DefaultTreeOperationLogContainer container = arg1.asClass(DefaultTreeOperationLogContainer.class);
-		DefaultTreeOperationLog log = null;
-		try {
-			log = container.convert();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		Jungle jungle = JungleManager.getJungle();
-		JungleTree tree = jungle.getTreeByName("tree");
-		JungleTreeEditor editor = tree.getTreeEditor();
-		Either<Error, JungleTreeEditor> either = edit(editor, log);
-		if (either.isA()) {
-			throw new IllegalStateException();				
-		}
-		editor = either.b();
-		editor.success();
-		new PrintChildrenAttribute("key1");
-		ods.update("key1", "key1");
-	}
-	
-	private Either<Error, JungleTreeEditor> edit(JungleTreeEditor _editor ,TreeOperationLog _log) {
-		JungleTreeEditor editor = _editor;
-		Either<Error, JungleTreeEditor> either = null;
-		for (TreeOperation op : _log) { 
-			either = _edit(editor, op);
-			if(either.isA()) {
-				return either;
-			}
-			editor = either.b();
-		}
-		return either;
-	}
-	
-	private Either<Error, JungleTreeEditor> _edit(JungleTreeEditor editor,
-			TreeOperation op) {
-		NodePath path = op.getNodePath();
-		NodeOperation nodeOp = op.getNodeOperation();
-		Command c = nodeOp.getCommand();
-		String str = "";
-		String key = "";
-		switch (c) {
-		case PUT_ATTRIBUTE:
-			key = nodeOp.getKey();
-			ByteBuffer value = nodeOp.getValue();
-			if (value.limit() < 100) {
-				str = String.format("key:%s,value:%s", key,
-						new String(value.array()));
-			} else {
-				str = String.format("key:%s,value:%d", key, value.limit());
-			}
-			return editor.putAttribute(path, key, value);
-		case DELETE_ATTRIBUTE:
-			key = nodeOp.getKey();
-			str = String.format("key:%s", nodeOp.getKey());
-			return editor.deleteAttribute(path, key);
-		case APPEND_CHILD:
-			str = String.format("pos:%d", nodeOp.getPosition());
-			return editor.addNewChildAt(path, 0);
-		case DELETE_CHILD:
-			str = String.format("pos:%d", nodeOp.getPosition());
-			return editor.deleteChildAt(path, 0);
-		}
-		return null;
-	}
-}
--- a/src/test/java/alice/jungle/log/example/LogSendTest.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-package alice.jungle.log.example;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer;
-import alice.jungle.transaction.NetworkDefaultJungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-import jungle.app.bbs.JungleManager;
-
-public class LogSendTest {
-	
-	public static void main(String[] args) {
-		System.out.println("Start LogSendTest");
-		JungleTree tree = JungleManager.createNewTree("tree");
-		JungleTreeEditor editor = tree.getTreeEditor();
-
-		DefaultNodePath root = new DefaultNodePath();
-		Either<Error, JungleTreeEditor> either = editor.addNewChildAt(root, 0);
-		if(either.isA()) {
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		either = editor.putAttribute(root.add(0), "key1", ByteBuffer.wrap("first message".getBytes()));
-		if(either.isA()) {
-			throw new IllegalStateException();
-		}
-		NetworkDefaultJungleTreeEditor nEditor = (NetworkDefaultJungleTreeEditor) either.b();
-		TreeOperationLog log = nEditor.getTreeOperationLog();
-		
-		DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer();
-		try {
-			container.unconvert(log);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		LogReadCodeSegment cs = new LogReadCodeSegment();
-		cs.ods.update("log", container);
-	}
-
-}
--- a/src/test/java/alice/jungle/log/example/PrintChildrenAttribute.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-package alice.jungle.log.example;
-
-import java.nio.ByteBuffer;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
-import jungle.app.bbs.JungleManager;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class PrintChildrenAttribute extends CodeSegment {
-	
-	Receiver key = ids.create(CommandType.TAKE);
-	
-	public PrintChildrenAttribute(String _key) {
-		key.setKey(_key);
-	}
-	
-	public void run() {
-		System.out.println("--PrintChildrenAttribute--");
-		String k = key.asString();
-		System.out.println("key : "+ k);
-		Jungle jungle = JungleManager.getJungle();
-		JungleTree tree = jungle.getTreeByName("tree");
-		Node node = tree.getRootNode();
-		Children<Node> chs = node.getChildren();
-		System.out.println("children size : "+chs.size());
-		for(Node n : chs) {
-			ByteBuffer b = n.getAttributes().get(k);
-			System.out.println(new String(b.array()));
-		}
-		
-		System.exit(0);
-
-	}
-	
-
-}
--- a/src/test/java/alice/jungle/log/example/StartCodeSegment.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-package alice.jungle.log.example;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.LinkedList;
-import java.util.List;
-
-import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.AppendChildAtOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteAttributeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
-import alice.codesegment.CodeSegment;
-
-public class StartCodeSegment extends CodeSegment {
-
-	@Override
-	public void run() {
-		System.out.println("run StartCodeSegment");
-		
-		TestCodeSegment cs = new TestCodeSegment();
-		cs.arg1.setKey("log"); 
-		System.out.println("create TestCodeSegment");
-
-		DefaultTreeOperationLog log = getSampleOperationLog();
-		DefaultTreeOperationLogContainer logContainer = new DefaultTreeOperationLogContainer();
-		try {
-			logContainer.unconvert(log);
-			ods.update("local", "log", logContainer);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
- 	}
-	
-	public DefaultTreeOperationLog getSampleOperationLog() {
-		String key = "hoge";
-		ByteBuffer b = ByteBuffer.wrap("messagepack value".getBytes());
-		DefaultNodePath nodePath1 = new DefaultNodePath();
-		nodePath1 = nodePath1.add(1);
-		DefaultNodePath nodePath2 = nodePath1.add(2);
-		AppendChildAtOperation appendChildOp1 = new AppendChildAtOperation(1);
-		AppendChildAtOperation appendChildOp2 = new AppendChildAtOperation(2);
-		PutAttributeOperation putOp = new PutAttributeOperation(key, b);
-		DeleteAttributeOperation deleteOp = new DeleteAttributeOperation("hoge");
-		DeleteChildAtOperation deleteChild = new DeleteChildAtOperation(2);
-		List<TreeOperation> list = new LinkedList<TreeOperation>();
-		list.add(new DefaultTreeOperation(new DefaultNodePath(), appendChildOp1));
-		list.add(new DefaultTreeOperation(nodePath1, appendChildOp2));
-		list.add(new DefaultTreeOperation(nodePath2, putOp));
-		list.add(new DefaultTreeOperation(nodePath2, deleteOp));
-		list.add(new DefaultTreeOperation(nodePath1, deleteChild));
-		DefaultTreeOperationLog log = new DefaultTreeOperationLog(list, list.size());
-		return log;
-	}
-
-}
--- a/src/test/java/alice/jungle/log/example/TestCodeSegment.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-package alice.jungle.log.example;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.jungle.core.NetworkDefaultJungle;
-import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer;
-import alice.jungle.transaction.NetworkDefaultJungleTreeEditor;
-
-import org.msgpack.type.Value;
-
-public class TestCodeSegment extends CodeSegment {
-	
-	static Jungle jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()));
-	
-	// create input datasegment arg1
-	Receiver arg1 = ids.create(CommandType.PEEK);
-	
-	public TestCodeSegment() {
-		arg1.setKey("log");
-		jungle.createNewTree("tree");
-	}
-	
-	@Override
-	public void run() {
-		System.out.println("type = " + arg1.type);
-		System.out.println("index = " + arg1.index);
-		System.out.println("data = " + arg1.getVal());
-		System.out.println(((Value)arg1.getVal()).getType());
-		
-		DefaultTreeOperationLogContainer convertedLogContainer = arg1.asClass(DefaultTreeOperationLogContainer.class);
-		TreeOperationLog convertedLog = null;
-		try {
-			convertedLog = convertedLogContainer.convert();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		printLog(convertedLog);
-
-		JungleTree tree = jungle.getTreeByName("tree");
-		NetworkDefaultJungleTreeEditor editor = (NetworkDefaultJungleTreeEditor) tree.getTreeEditor();
-/*
-		JungleTreeEditor tEditor = editor.setNewLogAndGetEditor(convertedLog);
-
-		Either<Error,JungleTreeEditor> either = tEditor.success();
-		if (either.isA()) {
-			throw new IllegalStateException();
-		}
-*/
-		System.exit(0);
-	}
-	
-	public void printLog(TreeOperationLog log) {
-		for (TreeOperation treeOp : log) {
-			NodePath path = treeOp.getNodePath();
-			NodeOperation nodeOp = treeOp.getNodeOperation();
-			Command c = nodeOp.getCommand();
-			String str = "";
-			switch (c) {
-			case PUT_ATTRIBUTE:
-				String k = nodeOp.getKey();
-				ByteBuffer value = nodeOp.getValue();
-				if (value.limit() < 100) {
-					str = String.format("key:%s,value:%s", k,
-							new String(value.array()));
-				} else {
-					str = String.format("key:%s,value:%d", k, value.limit());
-				}
-				break;
-			case DELETE_ATTRIBUTE:
-				str = String.format("key:%s", nodeOp.getKey());
-				break;
-			case APPEND_CHILD:
-				str = String.format("pos:%d", nodeOp.getPosition());
-				break;
-			case DELETE_CHILD:
-				str = String.format("pos:%d", nodeOp.getPosition());
-				break;
-			}
-			System.out.println(String.format("[%s:%s]", c,  str));
-			System.out.println("path:");
-			for (int i: path ) {
-				System.out.println(i);
-			}
-		}
-	}
-
-}
--- a/src/test/java/alice/jungle/log/example/TestLocalAlice.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-package alice.jungle.log.example;
-
-import alice.daemon.AliceDaemon;
-import alice.daemon.Config;
-
-public class TestLocalAlice {
-	public static void main(String args[]) {
-		new AliceDaemon(new Config(args)).listen(); // logger off
-		new StartCodeSegment().execute();
-	}
-	
-}
--- a/src/test/java/alice/jungle/log/example/codesement/operation/ShowAttribute.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-package alice.jungle.log.example.codesement.operation;
-
-import java.nio.ByteBuffer;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
-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.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-import jungle.app.bbs.JungleManager;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class ShowAttribute extends CodeSegment {
-	
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	
-	public ShowAttribute() {
-		arg1.setKey("show");
-	}
-	
-	public void run() {
-		System.out.println("--ShowAttribute--");
-		
-		Jungle jungle = JungleManager.getJungle();
-		JungleTree tree = jungle.getTreeByName("tree");
-		Node node = tree.getRootNode();
-		Children<Node> chs = node.getChildren();
-		System.out.println("children size : "+chs.size());
-		for(Node n : chs) {
-			ByteBuffer b = n.getAttributes().get("key1");
-			System.out.println(new String(b.array()));
-		}
-		
-		System.exit(0);
-		
-		
-	}
-
-}
--- a/src/test/java/alice/jungle/log/example/codesement/operation/StartJungleCodeSegment.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-package alice.jungle.log.example.codesement.operation;
-
-import java.io.IOException;
-
-import alice.jungle.datasegment.container.DefaultTreeOperationContainer;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation;
-import jungle.app.bbs.JungleManager;
-
-public class StartJungleCodeSegment {
-	
-	public static void main(String[] args) {
-		System.out.println("--StartJungleCodeSegment--");
-		
-		JungleTree tree = JungleManager.createNewTree("tree");
-		JungleTreeEditor editor = tree.getTreeEditor();
-		DefaultNodePath path = new DefaultNodePath();
-		path = path.add(0);
-		editor.addNewChildAt(path, 0);
-		editor.success();
-		
-		TestPutAttributeCodeSegment cs = new TestPutAttributeCodeSegment();
-		DefaultTreeOperation treeOp = cs.getSampleOperation("message0");
-		DefaultTreeOperationContainer treeOperationContainer = new DefaultTreeOperationContainer();
-		try {
-			treeOperationContainer.unconvert(treeOp);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		cs.ods.update("local", "log", treeOperationContainer);
-	}
-	
-}
--- a/src/test/java/alice/jungle/log/example/codesement/operation/TestPutAttributeCodeSegment.java	Tue Nov 26 18:40:32 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-package alice.jungle.log.example.codesement.operation;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-import jungle.app.bbs.JungleManager;
-import alice.jungle.datasegment.container.DefaultTreeOperationContainer;
-import alice.jungle.transaction.NetworkDefaultJungleTreeEditor;
-
-
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class TestPutAttributeCodeSegment extends CodeSegment {
-
-	Receiver arg1 = ids.create(CommandType.TAKE);
-
-	public TestPutAttributeCodeSegment() {
-		arg1.setKey("log");
-	}
-
-	public void run() {
-		System.out.println("--TestPutAttributeCodeSegment--");
-		DefaultTreeOperationContainer convertedOpContainer = arg1
-				.asClass(DefaultTreeOperationContainer.class);
-		TreeOperation convertedOp = null;
-		try {
-			convertedOp = convertedOpContainer.convert();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		Jungle jungle = JungleManager.getJungle();
-		JungleTree tree = jungle.getTreeByName("tree");
-		JungleTreeEditor editor = tree.getTreeEditor();
-		DefaultNodePath root = new DefaultNodePath();
-		Either<Error, JungleTreeEditor> either = editor.addNewChildAt(root, 0);
-		if (either.isA()) {
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		editor.success();
-		NetworkDefaultJungleTreeEditor nEditor = (NetworkDefaultJungleTreeEditor) tree
-				.getTreeEditor();
-		either = edit(nEditor, convertedOp);
-		if (either.isA()) {
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		editor.success();
-		if (arg1.index >= 10) {
-			new ShowAttribute();
-			ods.update("local", "show", 1);
-			return;
-		}
-		TestPutAttributeCodeSegment cs = new TestPutAttributeCodeSegment();
-		DefaultTreeOperation treeOp = cs.getSampleOperation("message"+ arg1.index);
-		DefaultTreeOperationContainer treeOperationContainer = new DefaultTreeOperationContainer();
-		try {
-			treeOperationContainer.unconvert(treeOp);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		ods.update("local", "log", treeOperationContainer);
-	}
-
-	public DefaultTreeOperation getSampleOperation(String message) {
-		/* Create TreeOperation */
-		String key = "key1";
-		ByteBuffer b = ByteBuffer.wrap(message.getBytes());
-		PutAttributeOperation op = new PutAttributeOperation(key, b);
-		DefaultNodePath p = new DefaultNodePath();
-		p = p.add(0);
-		DefaultTreeOperation treeOp = new DefaultTreeOperation(p, op);
-		return treeOp;
-	}
-
-	public Either<Error, JungleTreeEditor> edit(JungleTreeEditor editor,
-			TreeOperation op) {
-		NodePath path = op.getNodePath();
-		NodeOperation nodeOp = op.getNodeOperation();
-		Command c = nodeOp.getCommand();
-		String str = "";
-		String key = "";
-		switch (c) {
-		case PUT_ATTRIBUTE:
-			key = nodeOp.getKey();
-			ByteBuffer value = nodeOp.getValue();
-			if (value.limit() < 100) {
-				str = String.format("key:%s,value:%s", key,
-						new String(value.array()));
-			} else {
-				str = String.format("key:%s,value:%d", key, value.limit());
-			}
-			return editor.putAttribute(path, key, value);
-		case DELETE_ATTRIBUTE:
-			key = nodeOp.getKey();
-			str = String.format("key:%s", nodeOp.getKey());
-			return editor.deleteAttribute(path, key);
-		case APPEND_CHILD:
-			str = String.format("pos:%d", nodeOp.getPosition());
-			return editor.addNewChildAt(path, 0);
-		case DELETE_CHILD:
-			str = String.format("pos:%d", nodeOp.getPosition());
-			return editor.deleteChildAt(path, 0);
-		}
-		return null;
-	}
-}