// Copyright 2009 Google Inc. All Rights Reserved. package org.waveprotocol.wave.model.operation.testing; import org.waveprotocol.wave.model.document.bootstrap.BootstrapDocument; import org.waveprotocol.wave.model.document.operation.BufferedDocOp; import org.waveprotocol.wave.model.document.operation.EvaluatingDocOpCursor; import org.waveprotocol.wave.model.document.operation.debug.RandomDocOpGenerator; import org.waveprotocol.wave.model.document.operation.debug.RandomProviderImpl; import org.waveprotocol.wave.model.document.operation.debug.RandomDocOpGenerator.RandomProvider; import org.waveprotocol.wave.model.document.operation.impl.DocOpBuffer; import java.util.Random; public class DocOpGenerator implements RandomOpGenerator<BootstrapDocument, BufferedDocOp> { @Override public BufferedDocOp randomOperation(BootstrapDocument state, Random random) { RandomProvider randomProvider = new RandomProviderImpl(random); EvaluatingDocOpCursor<BufferedDocOp> builder = new DocOpBuffer(); RandomDocOpGenerator.generate(randomProvider, new RandomDocOpGenerator.Parameters(), state).apply(builder); return builder.finish(); } }