view src/jungle/test/operations/messagepack/PackOperationLog.java @ 70:892bac9ac118

Modified NetworkAppendChildAtOperation
author one
date Fri, 11 Oct 2013 18:23:58 +0900
parents 190f6a3bdab2
children
line wrap: on
line source

package jungle.test.operations.messagepack;

import java.io.IOException;
import java.util.Iterator;

import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;

import org.msgpack.MessagePack;
import org.msgpack.type.Value;

import alice.jungle.operations.NetworkAppendChildAtOperation;
import alice.jungle.operations.NetworkNodePath;
import alice.jungle.operations.NetworkTreeOperationLog;

public class PackOperationLog {

	public static void main(String[] args) throws IOException {
		MessagePack msgpack = new MessagePack();
		final NetworkTreeOperationLog n = new NetworkTreeOperationLog();
		NetworkNodePath p = new NetworkNodePath();
		p = p.add(1).add(2).add(3);
		System.out.println(p.toString());
		NetworkTreeOperationLog n2 = n.add(p, new NetworkAppendChildAtOperation(1));
		System.out.println("n.length() = "+n.length());

		Value v = msgpack.unconvert(n2);
		final NetworkTreeOperationLog log = msgpack.convert(v, NetworkTreeOperationLog.class);

		System.out.println("nn.lenght() = " + log.length());
		ChangeList list = new ChangeList(){
			@Override
			public Iterator<TreeOperation> iterator(){
				return log.iterator();
			}
		};
		for (TreeOperation op : list) {
			NodePath nPath = op.getNodePath();
			NodeOperation nodeOp = op.getNodeOperation();
			Command c = nodeOp.getCommand();
			System.out.println("Command : "+ c.toString());
			System.out.println(nPath.toString());
		}
	}
	
	
	
	
}