view src/jungle/test/core/practice/LogSendTest.java @ 75:87ec5dd0dc27

Rename from alice.jungle.datasegment.store.operation to alice.jungle.datasegment.store.container
author one
date Tue, 15 Oct 2013 14:43:29 +0900
parents 29127ac788a6
children
line wrap: on
line source

package jungle.test.core.practice;

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

import alice.jungle.datasegment.store.container.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.app.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);
	}

}