@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { TimeWindow window = (TimeWindow) invocation.getArguments()[2]; Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; context.registerEventTimeTimer(window.getEnd()); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.FIRE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { TimeWindow window = (TimeWindow) invocation.getArguments()[2]; Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; context.registerEventTimeTimer(window.getEnd()); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.FIRE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { TimeWindow window = (TimeWindow) invocation.getArguments()[2]; Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; context.registerEventTimeTimer(window.getEnd()); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.FIRE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult onProcessingTime(long time, W window, TriggerContext ctx) throws Exception { ReducingState<Long> fireTimestamp = ctx.getPartitionedState(stateDesc); if (fireTimestamp.get().equals(time)) { fireTimestamp.clear(); fireTimestamp.add(time + interval); ctx.registerProcessingTimeTimer(time + interval); return TriggerResult.FIRE; } return TriggerResult.CONTINUE; }
@Override public TriggerResult onElement(Object element, long timestamp, W window, TriggerContext ctx) throws Exception { ReducingState<Long> fireTimestamp = ctx.getPartitionedState(stateDesc); timestamp = ctx.getCurrentProcessingTime(); if (fireTimestamp.get() == null) { long start = timestamp - (timestamp % interval); long nextFireTimestamp = start + interval; ctx.registerProcessingTimeTimer(nextFireTimestamp); fireTimestamp.add(nextFireTimestamp); return TriggerResult.CONTINUE; } return TriggerResult.CONTINUE; }
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; // don't interfere with cleanup timers timeAdaptor.registerTimer(context, 0L); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.CONTINUE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public Object answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[1]; timeAdaptor.deleteTimer(context, 0L); context.getPartitionedState(valueStateDescriptor).clear(); return null; } }).when(mockTrigger).clear(anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; // don't interfere with cleanup timers timeAdaptor.registerTimer(context, 0L); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.CONTINUE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; // don't interfere with cleanup timers timeAdaptor.registerTimer(context, 1L); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.CONTINUE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; // we don't want to fire the cleanup timer timeAdaptor.registerTimer(context, 0L); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.CONTINUE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; context.registerEventTimeTimer(0L); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.PURGE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public Object answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[1]; timeAdaptor.deleteTimer(context, 1000); context.getPartitionedState(valueStateDescriptor).clear(); return null; } }).when(mockTrigger).clear(anyTimeWindow(), anyTriggerContext());
@Override public Object answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[1]; timeAdaptor.deleteTimer(context, 1000L); context.getPartitionedState(valueStateDescriptor).clear(); return null; } }).when(mockTrigger).clear(anyTimeWindow(), anyTriggerContext());
@Override public void clear(W window, TriggerContext ctx) throws Exception { ReducingState<Long> fireTimestamp = ctx.getPartitionedState(stateDesc); long timestamp = fireTimestamp.get(); ctx.deleteProcessingTimeTimer(timestamp); fireTimestamp.clear(); }
@Override public void clear(W window, TriggerContext ctx) throws Exception { ReducingState<Long> fireTimestamp = ctx.getPartitionedState(stateDesc); Long timestamp = fireTimestamp.get(); if (timestamp != null) { ctx.deleteEventTimeTimer(timestamp); fireTimestamp.clear(); } }
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; // very far in the future so our watermark does not trigger it timeAdaptor.registerTimer(context, 1000); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.PURGE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public Object answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[1]; timeAdaptor.deleteTimer(context, 1000L); context.getPartitionedState(valueStateDescriptor).clear(); return null; } }).when(mockTrigger).clear(anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; // very far in the future so our watermark does not trigger it timeAdaptor.registerTimer(context, 1000L); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.CONTINUE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult answer(InvocationOnMock invocation) throws Exception { Trigger.TriggerContext context = (Trigger.TriggerContext) invocation.getArguments()[3]; // don't interfere with cleanup timers timeAdaptor.registerTimer(context, 0L); context.getPartitionedState(valueStateDescriptor).update("hello"); return TriggerResult.CONTINUE; } }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext());
@Override public TriggerResult onElement(Object element, long timestamp, W window, TriggerContext ctx) throws Exception { ReducingState<Long> count = ctx.getPartitionedState(stateDesc); count.add(1L); if (count.get() >= maxCount) { count.clear(); return TriggerResult.FIRE; } return TriggerResult.CONTINUE; }