@Test public void testToString() { Trigger trigger = AfterEach.inOrder( StubTrigger.named("t1"), StubTrigger.named("t2"), StubTrigger.named("t3")); assertEquals("AfterEach.inOrder(t1, t2, t3)", trigger.toString()); } }
@Test public void testFireDeadline() throws Exception { BoundedWindow window = new IntervalWindow(new Instant(0), new Instant(10)); assertEquals( new Instant(9), AfterEach.inOrder(AfterWatermark.pastEndOfWindow(), AfterPane.elementCountAtLeast(4)) .getWatermarkThatGuaranteesFiring(window)); assertEquals( BoundedWindow.TIMESTAMP_MAX_VALUE, AfterEach.inOrder(AfterPane.elementCountAtLeast(2), AfterWatermark.pastEndOfWindow()) .getWatermarkThatGuaranteesFiring(window)); }
@Test public void testContinuation() throws Exception { OnceTrigger trigger1 = AfterProcessingTime.pastFirstElementInPane(); OnceTrigger trigger2 = AfterWatermark.pastEndOfWindow(); Trigger afterEach = AfterEach.inOrder(trigger1, trigger2); assertEquals( Repeatedly.forever( AfterFirst.of(trigger1.getContinuationTrigger(), trigger2.getContinuationTrigger())), afterEach.getContinuationTrigger()); }
return AfterFirst.of(protosToTriggers(triggerProto.getAfterAny().getSubtriggersList())); case AFTER_EACH: return AfterEach.inOrder( protosToTriggers(triggerProto.getAfterEach().getSubtriggersList())); case AFTER_END_OF_WINDOW:
.withTimestampCombiner(TimestampCombiner.EARLIEST) .withTrigger( AfterEach.inOrder( Repeatedly.forever( AfterProcessingTime.pastFirstElementInPane()
.withTimestampCombiner(TimestampCombiner.EARLIEST) .withTrigger( AfterEach.inOrder( Repeatedly.forever( AfterProcessingTime.pastFirstElementInPane()
.withTimestampCombiner(TimestampCombiner.EARLIEST) .withTrigger( AfterEach.inOrder( Repeatedly.forever( AfterProcessingTime.pastFirstElementInPane()
.withTimestampCombiner(TimestampCombiner.EARLIEST) .withTrigger( AfterEach.inOrder( Repeatedly.forever( AfterProcessingTime.pastFirstElementInPane()
FixedWindows.of(Duration.standardMinutes(windowDuration))) .triggering( AfterEach.inOrder( Repeatedly.forever( AfterProcessingTime.pastFirstElementInPane()
AfterAll.of(AfterPane.elementCountAtLeast(79), AfterWatermark.pastEndOfWindow())), toProtoAndBackSpec( AfterEach.inOrder(AfterPane.elementCountAtLeast(79), AfterPane.elementCountAtLeast(3))), toProtoAndBackSpec( AfterFirst.of(AfterWatermark.pastEndOfWindow(), AfterPane.elementCountAtLeast(3))),