view src/jungle/test/core/practice/LogSendTest.java @ 47:686057add8a4

confirmed LogUpdateCodeSegment
author one
date Fri, 12 Jul 2013 11:45:12 +0900
parents 10359a815068
children 29127ac788a6
line wrap: on
line source

package jungle.test.core.practice;

import java.io.IOException;
import java.nio.ByteBuffer;

import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
import alice.jungle.transaction.NetworkDefaultJungleTreeEditor;

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.store.impl.logger.TreeOperationLog;
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;

public class LogSendTest {
	
	public static void main(String[] args) {
		System.out.println("Start LogSendTest");
		JungleTree tree = JungleManager.createNewTree("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), "key1", ByteBuffer.wrap("first message".getBytes()));
		if(either.isA()) {
			throw new IllegalStateException();
		}
		NetworkDefaultJungleTreeEditor nEditor = (NetworkDefaultJungleTreeEditor) either.b();
		TreeOperationLog log = nEditor.getTreeOperationLog();
		
		DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer();
		try {
			container.unconvert(log);
		} catch (IOException e) {
			e.printStackTrace();
		}
		LogReadCodeSegment cs = new LogReadCodeSegment();
		cs.ods.update("log", container);
	}

}