diff src/jungle/test/alice/PutAttrJungle1.java @ 58:4851344e120e

fix bug LogUpdateCodeSegment and ChildLogCheckCodeSegment
author one
date Mon, 15 Jul 2013 10:13:34 +0900
parents src/test/alice/jungle/codesegment/PutAttrJungle1.java@054dc02c117d
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jungle/test/alice/PutAttrJungle1.java	Mon Jul 15 10:13:34 2013 +0900
@@ -0,0 +1,47 @@
+package jungle.test.alice;
+
+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);
+		
+	}
+
+}