You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Keith Berkoben (JIRA)" <ji...@apache.org> on 2017/06/21 17:12:00 UTC

[jira] [Created] (BEAM-2493) TestStream.Builder.addElements() should return the same builder

Keith Berkoben created BEAM-2493:
------------------------------------

             Summary: TestStream.Builder.addElements() should return the same builder
                 Key: BEAM-2493
                 URL: https://issues.apache.org/jira/browse/BEAM-2493
             Project: Beam
          Issue Type: Bug
          Components: sdk-java-core
    Affects Versions: 2.0.0
            Reporter: Keith Berkoben
            Assignee: Davor Bonaci


When writing tests for pipelines, it is commonly the case where a TestStream must be built in steps ex: 

TestStream.Builder<Object> tsb = TestStream.create(<coder>).advanceWatermarkTo(new Instant(0);
if(<a thing is true>){
  tsb.addElements(<element>);
}
TestStream<Object>  stream = tsb.advanceWatermarkToInfinity();

The above code does not  work, however, because addElements() is creating a NEW builder rather than augmenting the existing one.  This is a-typical for a builder pattern and requires the user to do 

tsb = tsb.addElements()

which is more verbose and counterintuitive if one is expecting a builder. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)