changeset 59:8a532ca5df80

refactoring LogUpdateCodeSegment and ChildLogCheckCodeSegment
author one
date Mon, 15 Jul 2013 10:59:53 +0900
parents 4851344e120e
children ea858089fbd9
files src/alice/jungle/codesegment/HashLogUpdateCodeSegment.java src/alice/jungle/codesegment/LogUpdateCodeSegment.java src/alice/jungle/transaction/NetworkTransactionManager.java src/jungle/test/bbs/DistributeApp.java src/jungle/test/bbs/JungleManager.java src/jungle/test/bbs/NetworkJungleBulletinBoard.java src/jungle/test/bbs/codesegment/ChildLogCheckCodeSegment.java src/jungle/test/bbs/codesegment/HashLogUpdateCodeSegment.java src/jungle/test/bbs/codesegment/LogUpdateCodeSegment.java src/jungle/test/bbs/codesegment/PutAnotherLogCodeSegment.java src/jungle/test/bbs/codesegment/PutHostLogCodeSegment.java src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java
diffstat 12 files changed, 142 insertions(+), 274 deletions(-) [+]
line wrap: on
line diff
--- a/src/alice/jungle/codesegment/HashLogUpdateCodeSegment.java	Mon Jul 15 10:13:34 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-package alice.jungle.codesegment;
-
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.jungle.datasegment.HashSetDataSegment;
-
-public class HashLogUpdateCodeSegment extends CodeSegment {
-	
-	Receiver hashLog = ids.create(CommandType.PEEK);
-	Receiver logString = ids.create(CommandType.TAKE);
-	
-	public HashLogUpdateCodeSegment() {
-		hashLog.setKey("hashLog");
-		logString.setKey("logString");
-	}
-	
-	public void run() {
-		HashSetDataSegment ds = hashLog.asClass(HashSetDataSegment.class);
-		String str = logString.asString();
-		System.out.println("HashLogUpdateCodeSegment : "+ str);
-		ds.hash.add(str);
-		ods.put("hashLog", ds);
-	}
-}
--- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java	Mon Jul 15 10:13:34 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-package alice.jungle.codesegment;
-
-import java.io.IOException;
-import java.util.Iterator;
-
-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.Node;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
-import jungle.test.bbs.JungleManager;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.jungle.datasegment.HashSetDataSegment;
-import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
-import alice.jungle.transaction.NetworkDefaultJungleTreeEditor;
-
-public class LogUpdateCodeSegment extends CodeSegment {
-	
-	Receiver parentLog = ids.create(CommandType.PEEK);
-	Receiver host = ids.create(CommandType.PEEK);
-	Receiver hashLog = ids.create(CommandType.PEEK);
-	
-	public LogUpdateCodeSegment() {
-		parentLog.setKey("parent", "log");
-		host.setKey("host");
-		hashLog.setKey("hashLog");
-	}
-	
-	public LogUpdateCodeSegment(int index) {
-		parentLog.setKey("parent", "log", index);
-		host.setKey("host");
-		hashLog.setKey("hashLog");
-	}
-	
-	public void run() {
-		System.out.println("--LogUpdateCodeSegment--");
-		int index = parentLog.index;
-		String h = host.asString();
-		DefaultTreeOperationLogContainer container = parentLog.asClass(DefaultTreeOperationLogContainer.class);
-		HashSetDataSegment ds = hashLog.asClass(HashSetDataSegment.class);
-		if(ds.hash.contains(container.getHashLogString())) {
-			ods.update("hashLog", ds);		
-			new LogUpdateCodeSegment(index);
-			return;
-		}
-		DefaultTreeOperationLog log = null;
-		try {
-			log = container.convert();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		String treeName = container.getTreeName();
-		if (JungleManager.getJungle().getTreeByName(treeName) == null) {
-			if(null == JungleManager.getJungle().createNewTree(treeName)){
-				throw new IllegalStateException();
-			}
-		}
-		JungleTree tree = JungleManager.getJungle().getTreeByName(treeName);
-		JungleTreeEditor editor = tree.getTreeEditor();
-		Either<DefaultError, Integer> e = checkTimeStamp(tree.getRootNode(), container.getTimeStamp());
-		Either<Error, JungleTreeEditor> either; 
-		if(e.isA()) {	
-			either = JungleManager.edit(editor, log, container.getPosition());
-		} else {
-			either = JungleManager.edit(editor, log, e.b());
-		}
-		if(either.isA()) {
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		either = editor.success();
-		if(either.isA()) {
-			throw new IllegalStateException();			
-		}
-		ds.hash.add(container.getHashLogString());
-		ods.update("hashLog", ds);		
-		ods.put("log", container);
-		new LogUpdateCodeSegment(index);
-	}
-
-	
-	private DefaultEither<DefaultError, Integer> checkTimeStamp(Node node, long newNodeTimeStamp) {
-		int count = 0;
-		long childTimeStamp = 0;
-		for(Iterator<Node> iter = node.getChildren().iterator();iter.hasNext();) {
-			Node n = iter.next();
-			if(n.getAttributes().get("timestamp") == null) {
-				return DefaultEither.newA(new DefaultError());
-			}
-			if(n.getAttributes().get("timestamp") != null) {
-				childTimeStamp = n.getAttributes().get("timestamp").getLong();
-				if (newNodeTimeStamp < childTimeStamp) {
-					break;
-				}
-			}
-			count++;
-		}
-		return DefaultEither.newB(count);
-	}
-}
--- a/src/alice/jungle/transaction/NetworkTransactionManager.java	Mon Jul 15 10:13:34 2013 +0900
+++ b/src/alice/jungle/transaction/NetworkTransactionManager.java	Mon Jul 15 10:59:53 2013 +0900
@@ -3,7 +3,6 @@
 import java.io.IOException;
 import java.util.Iterator;
 
-import alice.jungle.codesegment.LogUpdateCodeSegment;
 import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
 
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
@@ -24,6 +23,7 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
+import jungle.test.bbs.codesegment.LogUpdateCodeSegment;
 import jungle.test.bbs.codesegment.NullCodeSegmentForUpdate;
 
 public class NetworkTransactionManager<T extends TreeNode<T>> implements TransactionManager<T> 
--- a/src/jungle/test/bbs/DistributeApp.java	Mon Jul 15 10:13:34 2013 +0900
+++ b/src/jungle/test/bbs/DistributeApp.java	Mon Jul 15 10:59:53 2013 +0900
@@ -2,8 +2,7 @@
 
 import javax.servlet.Servlet;
 
-import jungle.test.bbs.codesegment.PutAnotherLogCodeSegment;
-import jungle.test.bbs.codesegment.PutHostLogCodeSegment;
+import jungle.test.bbs.codesegment.LogUpdateCodeSegment;
 import jungle.test.bbs.codesegment.StartBBSCodeSegment;
 
 import org.mortbay.jetty.Server;
@@ -12,7 +11,6 @@
 
 import alice.daemon.AliceDaemon;
 import alice.datasegment.DataSegment;
-import alice.jungle.codesegment.LogUpdateCodeSegment;
 import alice.jungle.remote.RemoteConfig;
 import alice.topology.node.StartTopologyNode;
 import alice.topology.node.TopologyNode;
--- a/src/jungle/test/bbs/JungleManager.java	Mon Jul 15 10:13:34 2013 +0900
+++ b/src/jungle/test/bbs/JungleManager.java	Mon Jul 15 10:59:53 2013 +0900
@@ -1,20 +1,27 @@
 package jungle.test.bbs;
 
+import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.util.Iterator;
 
 import alice.jungle.core.NetworkDefaultJungle;
+import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
 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;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
 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.impl.DefaultTreeEditor;
+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.traverser.DefaultTraverser;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
 
@@ -38,45 +45,7 @@
 		return jm.jungle.createNewTree(name);		
 	}
 
-	
-	public static 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 static 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;
-	}
-	
-	
 	public static Either<Error, JungleTreeEditor> edit(JungleTreeEditor _editor ,TreeOperationLog _log, int pos) {
-		System.out.println("--path editor--");
 		JungleTreeEditor editor = _editor;
 		Either<Error, JungleTreeEditor> either = null;
 		for (TreeOperation op : _log) { 
@@ -111,6 +80,53 @@
 		}
 		return null;
 	}
-
 	
+	public static Either<Error, JungleTreeEditor> update(DefaultTreeOperationLogContainer container) {
+		DefaultTreeOperationLog log = null;
+		try {
+			log = container.convert();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		String treeName = container.getTreeName();
+		if (JungleManager.getJungle().getTreeByName(treeName) == null) {
+			if(null == JungleManager.getJungle().createNewTree(treeName)){
+				throw new IllegalStateException();
+			}
+		}
+		JungleTree tree = JungleManager.getJungle().getTreeByName(treeName);
+		JungleTreeEditor editor = tree.getTreeEditor();
+		int pos = checkTimeStamp(tree.getRootNode(), container.getTimeStamp(), container.getPosition());
+		Either<Error, JungleTreeEditor> either = JungleManager.edit(editor, log, pos);
+		if(either.isA()) {
+			throw new IllegalStateException();
+		}
+		editor = either.b();
+		either = editor.success();
+		if(either.isA()) {
+			throw new IllegalStateException();			
+		}
+		return either;
+	}
+	
+	
+	
+	private static int checkTimeStamp(Node node, long newNodeTimeStamp, int containerPosition) {
+		int count = 0;
+		long childTimeStamp = 0;
+		for(Iterator<Node> iter = node.getChildren().iterator();iter.hasNext();) {
+			Node n = iter.next();
+			if(n.getAttributes().get("timestamp") == null) {
+				return containerPosition;
+			}
+			if(n.getAttributes().get("timestamp") != null) {
+				childTimeStamp = n.getAttributes().get("timestamp").getLong();
+				if (newNodeTimeStamp < childTimeStamp) {
+					break;
+				}
+			}
+			count++;
+		}
+		return count;
+	}
 }
--- a/src/jungle/test/bbs/NetworkJungleBulletinBoard.java	Mon Jul 15 10:13:34 2013 +0900
+++ b/src/jungle/test/bbs/NetworkJungleBulletinBoard.java	Mon Jul 15 10:59:53 2013 +0900
@@ -5,7 +5,6 @@
 import java.util.Date;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import alice.jungle.codesegment.HashLogUpdateCodeSegment;
 import alice.jungle.core.NetworkDefaultJungle;
 import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
 import alice.jungle.transaction.NetworkDefaultJungleTreeEditor;
@@ -25,6 +24,7 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter;
+import jungle.test.bbs.codesegment.HashLogUpdateCodeSegment;
 import jungle.test.bbs.codesegment.NullCodeSegmentForUpdate;
 
 public class NetworkJungleBulletinBoard implements BulletinBoard
--- a/src/jungle/test/bbs/codesegment/ChildLogCheckCodeSegment.java	Mon Jul 15 10:13:34 2013 +0900
+++ b/src/jungle/test/bbs/codesegment/ChildLogCheckCodeSegment.java	Mon Jul 15 10:59:53 2013 +0900
@@ -1,23 +1,14 @@
 package jungle.test.bbs.codesegment;
 
-import java.io.IOException;
-import java.util.Iterator;
 
-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.Node;
-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.impl.logger.DefaultTreeOperationLog;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
 import jungle.test.bbs.JungleManager;
 import alice.codesegment.CodeSegment;
 import alice.datasegment.CommandType;
 import alice.datasegment.Receiver;
-import alice.jungle.codesegment.HashLogUpdateCodeSegment;
 import alice.jungle.datasegment.HashSetDataSegment;
 import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
 
@@ -39,39 +30,17 @@
 		hashLog.setKey("hashLog");
 	}
 	
-	
 	public void run() {
-		System.out.println("--ChildLogCheckCodeSegment--");
 		int index = childLog.index;
-		HashSetDataSegment ds = hashLog.asClass(HashSetDataSegment.class);
 		String hostName = host.asString();
 		DefaultTreeOperationLogContainer container = childLog.asClass(DefaultTreeOperationLogContainer.class);		
-		DefaultTreeOperationLog log = null;
-		try {
-			log = container.convert();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		String treeName = container.getTreeName();
-		if (JungleManager.getJungle().getTreeByName(treeName) == null) {
-			if(null == JungleManager.getJungle().createNewTree(treeName)){
-				throw new IllegalStateException();
-			}
+		HashSetDataSegment ds = hashLog.asClass(HashSetDataSegment.class);
+		if(ds.hash.contains(container.getHashLogString())) {
+			ods.update("hashLog", ds);		
+			new LogUpdateCodeSegment(index);
+			return;
 		}
-		JungleTree tree = JungleManager.getJungle().getTreeByName(treeName);
-		JungleTreeEditor editor = tree.getTreeEditor();
-		Either<DefaultError, Integer> e = checkTimeStamp(tree.getRootNode(), container.getTimeStamp());
-		Either<Error, JungleTreeEditor> either; 
-		if(e.isA()) {	
-			either = JungleManager.edit(editor, log, container.getPosition());
-		} else {
-			either = JungleManager.edit(editor, log, e.b());
-		}
-		if(either.isA()) {
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		either = editor.success();
+		Either<Error, JungleTreeEditor> either = JungleManager.update(container);
 		if(either.isA()) {
 			throw new IllegalStateException();			
 		}
@@ -83,23 +52,4 @@
 			ods.put("parent", "childLog", container);
 		}
 	}
-	
-	private DefaultEither<DefaultError, Integer> checkTimeStamp(Node node, long newNodeTimeStamp) {
-		int count = 0;
-		long childTimeStamp = 0;
-		for(Iterator<Node> iter = node.getChildren().iterator();iter.hasNext();) {
-			Node n = iter.next();
-			if(n.getAttributes().get("timestamp") == null) {
-				return DefaultEither.newA(new DefaultError());
-			}
-			if(n.getAttributes().get("timestamp") != null) {
-				childTimeStamp = n.getAttributes().get("timestamp").getLong();
-				if (newNodeTimeStamp < childTimeStamp) {
-					break;
-				}
-			}
-			count++;
-		}
-		return DefaultEither.newB(count);
-	}
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jungle/test/bbs/codesegment/HashLogUpdateCodeSegment.java	Mon Jul 15 10:59:53 2013 +0900
@@ -0,0 +1,25 @@
+package jungle.test.bbs.codesegment;
+
+import alice.codesegment.CodeSegment;
+import alice.datasegment.CommandType;
+import alice.datasegment.Receiver;
+import alice.jungle.datasegment.HashSetDataSegment;
+
+public class HashLogUpdateCodeSegment extends CodeSegment {
+	
+	Receiver hashLog = ids.create(CommandType.PEEK);
+	Receiver logString = ids.create(CommandType.TAKE);
+	
+	public HashLogUpdateCodeSegment() {
+		hashLog.setKey("hashLog");
+		logString.setKey("logString");
+	}
+	
+	public void run() {
+		HashSetDataSegment ds = hashLog.asClass(HashSetDataSegment.class);
+		String str = logString.asString();
+		System.out.println("HashLogUpdateCodeSegment : "+ str);
+		ds.hash.add(str);
+		ods.put("hashLog", ds);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jungle/test/bbs/codesegment/LogUpdateCodeSegment.java	Mon Jul 15 10:59:53 2013 +0900
@@ -0,0 +1,52 @@
+package jungle.test.bbs.codesegment;
+
+
+
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
+import jungle.test.bbs.JungleManager;
+import alice.codesegment.CodeSegment;
+import alice.datasegment.CommandType;
+import alice.datasegment.Receiver;
+import alice.jungle.datasegment.HashSetDataSegment;
+import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
+
+public class LogUpdateCodeSegment extends CodeSegment {
+	
+	Receiver parentLog = ids.create(CommandType.PEEK);
+	Receiver host = ids.create(CommandType.PEEK);
+	Receiver hashLog = ids.create(CommandType.PEEK);
+	
+	public LogUpdateCodeSegment() {
+		parentLog.setKey("parent", "log");
+		host.setKey("host");
+		hashLog.setKey("hashLog");
+	}
+	
+	public LogUpdateCodeSegment(int index) {
+		parentLog.setKey("parent", "log", index);
+		host.setKey("host");
+		hashLog.setKey("hashLog");
+	}
+	
+	public void run() {
+		int index = parentLog.index;
+		String hostName = host.asString();
+		DefaultTreeOperationLogContainer container = parentLog.asClass(DefaultTreeOperationLogContainer.class);
+		HashSetDataSegment ds = hashLog.asClass(HashSetDataSegment.class);
+		if(ds.hash.contains(container.getHashLogString())) {
+			ods.update("hashLog", ds);		
+			new LogUpdateCodeSegment(index);
+			return;
+		}
+		Either<Error, JungleTreeEditor> either = JungleManager.update(container);
+		if(either.isA()) {
+			throw new IllegalStateException();			
+		}
+		ds.hash.add(container.getHashLogString());
+		ods.update("hashLog", ds);		
+		ods.put("log", container);
+		new LogUpdateCodeSegment(index);
+	}
+}
--- a/src/jungle/test/bbs/codesegment/PutAnotherLogCodeSegment.java	Mon Jul 15 10:13:34 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-package jungle.test.bbs.codesegment;
-
-import org.msgpack.type.Value;
-
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.jungle.codesegment.LogUpdateCodeSegment;
-
-public class PutAnotherLogCodeSegment extends CodeSegment {
-	
-	public Receiver arg1 = ids.create(CommandType.TAKE);
-	
-	public void run() {
-		System.out.println("Client: PutAnotherLogCodeSegment");
-		Value v = (Value)arg1.getVal();
-		ods.put("remote", "anotherLog", v);
-		PutAnotherLogCodeSegment cs = new PutAnotherLogCodeSegment();
-		cs.arg1.setKey("local", "log");		
-	}
-
-}
--- a/src/jungle/test/bbs/codesegment/PutHostLogCodeSegment.java	Mon Jul 15 10:13:34 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-package jungle.test.bbs.codesegment;
-
-import org.msgpack.type.Value;
-
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-
-public class PutHostLogCodeSegment extends CodeSegment {
-	
-	public Receiver arg1 = ids.create(CommandType.TAKE);
-	
-	public void run() {
-		System.out.println("Host: PutHostLogCodeSegment");
-		Value v = (Value) arg1.getVal();
-		ods.put("local", "hostLog", v);
-		PutHostLogCodeSegment cs = new PutHostLogCodeSegment();
-		cs.arg1.setKey("local", "log");
-	}
-}
--- a/src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java	Mon Jul 15 10:13:34 2013 +0900
+++ b/src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java	Mon Jul 15 10:59:53 2013 +0900
@@ -20,7 +20,6 @@
 import alice.codesegment.CodeSegment;
 import alice.datasegment.CommandType;
 import alice.datasegment.Receiver;
-import alice.jungle.codesegment.LogUpdateCodeSegment;
 import alice.jungle.datasegment.HashSetDataSegment;
 
 public class StartBBSCodeSegment extends CodeSegment {