view src/jungle/test/codesegment/practice/StartCodeSegment.java @ 9:49c0eaa4dce2

add StartCodeSegment.java
author one
date Tue, 11 Jun 2013 14:09:42 +0900
parents 20498c88a70d
children 5376ac62ac08
line wrap: on
line source

package jungle.test.codesegment.practice;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.LinkedList;
import java.util.List;

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 jungle.test.datasegment.store.operations.DefaultTreeOperationLogContainer;
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");

		String key = "hoge";
		ByteBuffer b = ByteBuffer.wrap("messagepack value".getBytes());
		DefaultNodePath nodePath1 = new DefaultNodePath();
		nodePath1 = nodePath1.add(1);
		DefaultNodePath nodePath2 = nodePath1.add(2);
		AppendChildAtOperation appendChildOp = new AppendChildAtOperation(1);
		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(nodePath1, appendChildOp));
		list.add(new DefaultTreeOperation(nodePath2, appendChildOp));
		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());
		
		DefaultTreeOperationLogContainer logContainer = new DefaultTreeOperationLogContainer();
		try {
			logContainer.unconvert(log);
			ods.update("local", "log", logContainer);
		} catch (IOException e) {
			e.printStackTrace();
		}		
 	}

}