private boolean isReady(BoundedWindow mainInputWindow) { if (notReadyWindows.contains(mainInputWindow)) { return false; } for (PCollectionView<?> view : views) { BoundedWindow sideInputWindow = view.getWindowMappingFn().getSideInputWindow(mainInputWindow); if (!sideInputReader.isReady(view, sideInputWindow)) { return false; } } return true; }
@Override public <T> T sideInput(PCollectionView<T> view) { return sideInputReader.get( view, view.getWindowMappingFn().getSideInputWindow(mainInputWindow)); }
private boolean isReady(BoundedWindow mainInputWindow) { for (PCollectionView<?> view : views) { BoundedWindow sideInputWindow = view.getWindowMappingFn().getSideInputWindow(mainInputWindow); if (!sideInputReader.isReady(view, sideInputWindow)) { return false; } } return true; } }
@Override public <T> T sideInput(PCollectionView<T> view) { if (!sideInputReader.contains(view)) { throw new IllegalArgumentException("calling sideInput() with unknown view"); } BoundedWindow sideInputWindow = view.getWindowMappingFn().getSideInputWindow(mainInputWindow); return sideInputReader.get(view, sideInputWindow); } };
final BoundedWindow sideInputWindow = view.getWindowMappingFn().getSideInputWindow(window);
@Override public void visitPrimitiveTransform(Node node) { if (node.getTransform() instanceof WriteView) { assertThat( "There should only be one WriteView primitive in the graph", writeViewVisited.getAndSet(true), is(false)); PCollectionView<?> replacementView = ((WriteView) node.getTransform()).getView(); // replacementView.getPCollection() is null, but that is not a requirement // so not asserted one way or the other assertThat( replacementView.getTagInternal(), equalTo((TupleTag) view.getTagInternal())); assertThat(replacementView.getViewFn(), equalTo(view.getViewFn())); assertThat(replacementView.getWindowMappingFn(), equalTo(view.getWindowMappingFn())); assertThat(node.getInputs().entrySet(), hasSize(1)); } } });
for (WindowedValue<InputT> value : pushedBackValues) { for (BoundedWindow win : value.getWindows()) { BoundedWindow sideInputWindow = sideInput.getWindowMappingFn().getSideInputWindow(win); if (!sideInputReader.isReady(sideInput, sideInputWindow)) { Object emptyValue =
when(mockView.getWindowMappingFn()).thenReturn((WindowMappingFn) sideInputWindowMappingFn);
public static SideInput translateView(PCollectionView<?> view, SdkComponents components) { Builder builder = SideInput.newBuilder(); builder.setAccessPattern( FunctionSpec.newBuilder().setUrn(view.getViewFn().getMaterialization().getUrn()).build()); builder.setViewFn(translateViewFn(view.getViewFn(), components)); builder.setWindowMappingFn(translateWindowMappingFn(view.getWindowMappingFn(), components)); return builder.build(); }
assertThat(restoredView.getViewFn(), instanceOf(view.getViewFn().getClass())); assertThat( restoredView.getWindowMappingFn(), instanceOf(view.getWindowMappingFn().getClass())); assertThat( restoredView.getWindowingStrategyInternal(),