view src/alice/jungle/persistence/PersistentChangeListReader.java @ 85:e641f559559c

Added some files for persistent
author one
date Mon, 28 Oct 2013 17:21:56 +0900
parents
children bcaf28f8244d
line wrap: on
line source

package alice.jungle.persistence;

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

import org.msgpack.MessagePack;

import alice.jungle.operations.NetworkTreeOperationLog;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;

public class PersistentChangeListReader  implements ChangeListReader {
	
	private static InputStream in;
	MessagePack msgpack = NetworkJournal.getMessagePack();

	public PersistentChangeListReader() {
		in = null;
	}
	
	public PersistentChangeListReader(InputStream _in) {
		in = _in;
	}
 	
	@Override
	public ChangeListReader newReader()
	{
		return new PersistentChangeListReader();
	}
	
	@Override 
	public ChangeList read()
	{
		try {
			final NetworkTreeOperationLog readLog = msgpack.read(in, NetworkTreeOperationLog.class);
			ChangeList cl = new ChangeList() {
				@Override
				public Iterator<TreeOperation> iterator() {
					return readLog.iterator();
				}
			};
			return cl;
		} catch (EOFException e){

		} catch (IOException e) {
		}
		return null;
	}

}