/** * Submits all deltas to the wavelet provider that are generated by the open * wavelets in the {@link OperationResults}. * * @param results the results of performing robot operations. * @param waveletProvider wavelet provider used to send the deltas to. * @param requestListener callback for deltas that are submitted to the * wavelet provider. */ public static void submitDeltas(OperationResults results, WaveletProvider waveletProvider, SubmitRequestListener requestListener) { for (Entry<WaveletName, RobotWaveletData> entry : results.getOpenWavelets().entrySet()) { WaveletName waveletName = entry.getKey(); RobotWaveletData w = entry.getValue(); for (WaveletDelta delta : w.getDeltas()) { ProtocolWaveletDelta protocolDelta = CoreWaveletOperationSerializer.serialize(delta); waveletProvider.submitRequest(waveletName, protocolDelta, requestListener); } } }
for (OperationRequest operation : operations) { String opId = operation.getId(); JsonRpcResponse response = results.getResponses().get(opId); responses.addLast(response);
public void testSubmitDeltas() { HashedVersion hashedVersionZero = HASH_FACTORY.createVersionZero(WAVELET_NAME); ObservableWaveletData waveletData = WaveletDataUtil.createEmptyWavelet(WAVELET_NAME, ALEX, hashedVersionZero, 0L); DocInitialization content = new DocInitializationBuilder().build(); waveletData.createDocument("b+example", BOB, Collections.singletonList(BOB), content, 0L, 0); RobotWaveletData wavelet = new RobotWaveletData(waveletData, hashedVersionZero); // Perform an operation that will be put into a delta wavelet.getOpBasedWavelet(BOB).addParticipant(ALEX); OperationResults results = mock(OperationResults.class); when(results.getOpenWavelets()).thenReturn(Collections.singletonMap(WAVELET_NAME, wavelet)); SubmitRequestListener requestListener = mock(SubmitRequestListener.class); OperationUtil.submitDeltas(results, waveletProvider, requestListener); verify(waveletProvider).submitRequest( eq(WAVELET_NAME), any(ProtocolWaveletDelta.class), eq(requestListener)); }
public void testSubmitDeltas() { HashedVersion hashedVersionZero = HASH_FACTORY.createVersionZero(WAVELET_NAME); ObservableWaveletData waveletData = WaveletDataUtil.createEmptyWavelet(WAVELET_NAME, ALEX, hashedVersionZero, 0L); DocInitialization content = new DocInitializationBuilder().build(); waveletData.createDocument("b+example", BOB, Collections.singletonList(BOB), content, 0L, 0); RobotWaveletData wavelet = new RobotWaveletData(waveletData, hashedVersionZero); // Perform an operation that will be put into a delta wavelet.getOpBasedWavelet(BOB).addParticipant(ALEX); OperationResults results = mock(OperationResults.class); when(results.getOpenWavelets()).thenReturn(Collections.singletonMap(WAVELET_NAME, wavelet)); SubmitRequestListener requestListener = mock(SubmitRequestListener.class); OperationUtil.submitDeltas(results, waveletProvider, requestListener); verify(waveletProvider).submitRequest( eq(WAVELET_NAME), any(ProtocolWaveletDelta.class), eq(requestListener)); }