/** * {@inheritDoc} */ @Override protected Collection<Future<Void>> processData(DefaultData defaultData) { if (defaultData instanceof InvocationSequenceData) { InvocationSequenceData invocation = (InvocationSequenceData) defaultData; InvocationSequenceData clone = invocation.getClonedInvocationSequence(); Future<Void> future = getStorageWriter().write(clone); if (null != future) { return Collections.singleton(future); } } return Collections.emptyList(); }
/** * Test the {@link InvocationClonerDataProcessor}. */ @Test public void invocationClonerDataProcessor() { InvocationClonerDataProcessor dataProcessor = new InvocationClonerDataProcessor(); InvocationSequenceData invocationSequenceData = mock(InvocationSequenceData.class); DefaultData defaultData = mock(DefaultData.class); IWriter writer = mock(IWriter.class); dataProcessor.setStorageWriter(writer); assertThat(dataProcessor.canBeProcessed(invocationSequenceData), is(true)); assertThat(dataProcessor.canBeProcessed(defaultData), is(false)); dataProcessor.process(invocationSequenceData); dataProcessor.process(defaultData); verify(invocationSequenceData, times(1)).getClonedInvocationSequence(); verify(writer, times(1)).write(invocationSequenceData.getClonedInvocationSequence()); verify(writer, times(0)).write(invocationSequenceData); }
normalProcessors.add(invocationExtractorDataProcessor); normalProcessors.add(new InvocationClonerDataProcessor());
normalProcessors.add(new InvocationClonerDataProcessor());