diff src/test/alice/jungle/codesegment/PutAttrJungle1.java @ 35:054dc02c117d

add test.alice.jungle.codesegment
author one
date Tue, 02 Jul 2013 17:49:23 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/alice/jungle/codesegment/PutAttrJungle1.java	Tue Jul 02 17:49:23 2013 +0900
@@ -0,0 +1,47 @@
+package test.alice.jungle.codesegment;
+
+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);
+		
+	}
+
+}