protected MemoryCoGroupGate createBlockingJoinGate( HashJoin join ) { return new MemoryCoGroupGate( flowProcess, join ); }
push( collections, keysTuple ); push( collections, keysTuple ); keys = createKeySet(); keyValues = createKeyValuesArray();
@Override public void receive( Duct previous, int ordinal, TupleEntry incomingEntry ) { Tuple valuesTuple = incomingEntry.getTupleCopy(); Tuple groupTuple = keyBuilder[ ordinal ].makeResult( valuesTuple, null ); // view on valuesTuple groupTuple = getDelegatedTuple( groupTuple ); // wrap so hasher/comparator is honored keys.add( groupTuple ); keyValues[ ordinal ].get( groupTuple ).add( valuesTuple ); }
protected Gate createCoGroupGate( CoGroup element, IORole role ) { return new MemoryCoGroupGate( flowProcess, element ); }