@VisibleForTesting Coder<T> inferCoder(CoderRegistry coderRegistry) { if (getCoder() != null) { return getCoder(); } try { return coderRegistry.getCoder(TypeDescriptors.outputOf(getParseFn())); } catch (CannotProvideCoderException e) { throw new IllegalArgumentException( "Unable to infer coder for output of parseFn. Specify it explicitly using withCoder().", e); } }
checkArgument(getUseLegacySql() != null, "useLegacySql should not be null if query is set"); checkArgument(getParseFn() != null, "A parseFn is required");
private BigQuerySourceBase<T> createSource(String jobUuid, Coder<T> coder) { BigQuerySourceBase<T> source; if (getQuery() == null) { source = BigQueryTableSource.create( jobUuid, getTableProvider(), getBigQueryServices(), coder, getParseFn()); } else { source = BigQueryQuerySource.create( jobUuid, getQuery(), getFlattenResults(), getUseLegacySql(), getBigQueryServices(), coder, getParseFn(), MoreObjects.firstNonNull(getQueryPriority(), QueryPriority.BATCH), getQueryLocation()); } return source; }