view src/jungle/test/operations/messagepack/PackOperationLog.java @ 1:8ee02d1a2b12

add jungle.test.operations
author one
date Fri, 07 Jun 2013 19:26:08 +0900
parents
children 20498c88a70d
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 jungle.test.operations.NetworkNodePath;
import jungle.test.operations.NetworkTreeOperationLog;

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

public class PackOperationLog {

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

		Value v = msgpack.unconvert(n);
		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(nPath.toString());
			
		}
		
		
	}
	
}