@Override public void resetStream() { // TODO: Implement proper reset handling outputStreamReceiver.resetStream(); }
@Override public void resetStream() { if (!discardedEvents.contains(EventType.RESET_STREAM)) { receiver.resetStream(); } }
@Override public void resetStream() { buffer.clear(); metamorph.resetStream(); for (final StreamReceiver receiver: receiverMap.values()) { receiver.resetStream(); } }
@Override public final void endRecord() { getReceiver().endRecord(); recordCount++; recordCount %= batchSize; if (recordCount == 0) { batchCount++; getReceiver().resetStream(); } }
@Test public void shouldPassResetStreamToAllReceivers() { splitter.resetStream(); verify(receiver1).resetStream(); verify(receiver2).resetStream(); }
@Test public void shouldClearBufferIfStreamIsReset() { streamBuffer.startRecord("1"); streamBuffer.endRecord(); streamBuffer.resetStream(); streamBuffer.replay(); verify(receiver).resetStream(); verifyNoMoreInteractions(receiver); }
@Test public void shouldForwardAllReceivedEvents() { logger.startRecord("1"); logger.startEntity("entity"); logger.literal("literal", "value"); logger.endEntity(); logger.endRecord(); logger.resetStream(); logger.closeStream(); final InOrder ordered = inOrder(receiver); ordered.verify(receiver).startRecord("1"); ordered.verify(receiver).startEntity("entity"); ordered.verify(receiver).literal("literal", "value"); ordered.verify(receiver).endEntity(); ordered.verify(receiver).endRecord(); ordered.verify(receiver).resetStream(); ordered.verify(receiver).closeStream(); }
@Test public void shouldForwardAllEventsToAllDownStreamReceivers() { streamTee.startRecord("1"); streamTee.literal("literal", "value"); streamTee.startEntity("entity"); streamTee.endEntity(); streamTee.endRecord(); streamTee.resetStream(); streamTee.closeStream(); final InOrder ordered = inOrder(receiver1, receiver2); ordered.verify(receiver1).startRecord("1"); ordered.verify(receiver2).startRecord("1"); ordered.verify(receiver1).literal("literal", "value"); ordered.verify(receiver2).literal("literal", "value"); ordered.verify(receiver1).startEntity("entity"); ordered.verify(receiver2).startEntity("entity"); ordered.verify(receiver1).endEntity(); ordered.verify(receiver2).endEntity(); ordered.verify(receiver1).endRecord(); ordered.verify(receiver2).endRecord(); ordered.verify(receiver1).resetStream(); ordered.verify(receiver2).resetStream(); ordered.verify(receiver1).closeStream(); ordered.verify(receiver2).closeStream(); }
@Test public void shouldClearStateOnResetStream() { remodeler.startRecord(RECORD_ID); emitMultscriptField(FIELD_021A, "01", SCRIPT_LATIN, VALUE_1); remodeler.resetStream(); remodeler.startRecord(RECORD_ID); emitMultscriptField(FIELD_021A, "01", SCRIPT_GREEK, VALUE_1_GREEK); remodeler.endRecord(); final InOrder ordered = inOrder(receiver); ordered.verify(receiver).startRecord(RECORD_ID); ordered.verify(receiver).resetStream(); ordered.verify(receiver).startRecord(RECORD_ID); verifySingleMultiscriptField(ordered, FIELD_021A, "01", SCRIPT_GREEK, VALUE_1_GREEK); ordered.verify(receiver).endRecord(); }
@Test public void setDiscardRecordEvents_shouldDiscardStartRecordAndEndRecordIfTrue() { discarder.setDiscardRecordEvents(true); discarder.startRecord("1"); discarder.startEntity("entity"); discarder.endEntity(); discarder.literal("literal", "value"); discarder.endRecord(); discarder.resetStream(); discarder.closeStream(); final InOrder ordered = inOrder(receiver); ordered.verify(receiver).startEntity("entity"); ordered.verify(receiver).endEntity(); ordered.verify(receiver).literal("literal", "value"); ordered.verify(receiver).resetStream(); ordered.verify(receiver).closeStream(); }
@Test public void shouldPassOnAllEventsByDefault() { discarder.startRecord("1"); discarder.startEntity("entity"); discarder.endEntity(); discarder.literal("literal", "value"); discarder.endRecord(); discarder.resetStream(); discarder.closeStream(); final InOrder ordered = inOrder(receiver); ordered.verify(receiver).startRecord("1"); ordered.verify(receiver).startEntity("entity"); ordered.verify(receiver).endEntity(); ordered.verify(receiver).literal("literal", "value"); ordered.verify(receiver).endRecord(); ordered.verify(receiver).resetStream(); ordered.verify(receiver).closeStream(); }
@Test public void setDiscardLiteralEvents_shouldDiscardLiteralIfTrue() { discarder.setDiscardLiteralEvents(true); discarder.startRecord("1"); discarder.startEntity("entity"); discarder.endEntity(); discarder.literal("literal", "value"); discarder.endRecord(); discarder.resetStream(); discarder.closeStream(); final InOrder ordered = inOrder(receiver); ordered.verify(receiver).startRecord("1"); ordered.verify(receiver).startEntity("entity"); ordered.verify(receiver).endEntity(); ordered.verify(receiver).endRecord(); ordered.verify(receiver).resetStream(); ordered.verify(receiver).closeStream(); }
@Test public void setDiscardEntityEvents_shouldDiscardStartEntityAndEndEntityIfTrue() { discarder.setDiscardEntityEvents(true); discarder.startRecord("1"); discarder.startEntity("entity"); discarder.endEntity(); discarder.literal("literal", "value"); discarder.endRecord(); discarder.resetStream(); discarder.closeStream(); final InOrder ordered = inOrder(receiver); ordered.verify(receiver).startRecord("1"); ordered.verify(receiver).literal("literal", "value"); ordered.verify(receiver).endRecord(); ordered.verify(receiver).resetStream(); ordered.verify(receiver).closeStream(); }