view src/jungle/test/core/practice/LogReadCodeSegment.java @ 28:e968224ad0ce

add jungle.test.core.practice
author one
date Mon, 01 Jul 2013 19:14:24 +0900
parents
children 16ea4835f36e
line wrap: on
line source

package jungle.test.core.practice;

import java.io.IOException;

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 jungle.test.codesegment.operation.JungleManager;
import jungle.test.datasegment.store.operations.DefaultTreeOperationLogContainer;
import jungle.test.transaction.NetworkDefaultJungleTreeEditor;
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();
		}
		
		JungleManager jm = new JungleManager();
		Jungle jungle = jm.getJungle();
		JungleTree tree = jungle.getTreeByName("tree");
		NetworkDefaultJungleTreeEditor nEditor = (NetworkDefaultJungleTreeEditor) tree.getTreeEditor();
		JungleTreeEditor editor = nEditor.setNewLogAndGetEditor(log);
		Either<Error,JungleTreeEditor> either = editor.success();
		if(either.isA()) {
			throw new IllegalStateException();
		}
		new PrintChildrenAttribute("key1");
		ods.update("key1", "key1");
		
	}
	
}