@Override public PTransformReplacement<PBegin, PCollection<T>> getReplacementTransform( AppliedPTransform<PBegin, PCollection<T>, PTransform<PBegin, PCollection<T>>> transform) { PBegin input = PBegin.in(transform.getPipeline()); BoundedSource<T> source; try { source = ReadTranslation.boundedSourceFromTransform(transform); } catch (IOException e) { throw new RuntimeException(e); } return PTransformReplacement.of(input, bounded(source)); }
@Override public PTransformReplacement<PBegin, PCollection<T>> getReplacementTransform( AppliedPTransform<PBegin, PCollection<T>, Read.Bounded<T>> transform) { return PTransformReplacement.of( transform.getPipeline().begin(), JavaReadViaImpulse.bounded(transform.getTransform().getSource())); }
@Test public void testOutputCoder() { p.enableAbandonedNodeEnforcement(false); BoundedSource<Integer> fixedCoderSource = new BigEndianIntegerSource(); assertThat( p.apply(JavaReadViaImpulse.bounded(fixedCoderSource)).getCoder(), equalTo(BigEndianIntegerCoder.of())); }
@Test @Category(NeedsRunner.class) public void testBoundedRead() { PCollection<Long> read = p.apply(JavaReadViaImpulse.bounded(CountingSource.upTo(10L))); PAssert.that(read).containsInAnyOrder(0L, 9L, 8L, 1L, 2L, 7L, 6L, 3L, 4L, 5L); p.run(); }