Chesnay Schepler created FLINK-9976:
---------------------------------------
Summary: Odd signatures for streaming file sink format builders
Key: FLINK-9976
URL: https://issues.apache.org/jira/browse/FLINK-9976
Project: Flink
Issue Type: Bug
Components: Streaming Connectors
Affects Versions: 1.6.0
Reporter: Chesnay Schepler
There are 2 instances of apparently unnecessary generic parameters in the
format builders for the {{StreamingFileSink}}.
Both these methods have a generic parameter for the BucketID type, however the
builder itself already has such a parameter. The methods use unchecked casts to
make the types fit, so we should be able to modify the signature to use the
builders parameter instead.
{code}
public static class RowFormatBuilder<IN, BucketID> extends
StreamingFileSink.BucketsBuilder<IN, BucketID> {
...
public <ID> StreamingFileSink.RowFormatBuilder<IN, ID>
withBucketerAndPolicy(final Bucketer<IN, ID> bucketer, final RollingPolicy<IN,
ID> policy) {
@SuppressWarnings("unchecked")
StreamingFileSink.RowFormatBuilder<IN, ID> reInterpreted =
(StreamingFileSink.RowFormatBuilder<IN, ID>) this;
reInterpreted.bucketer = Preconditions.checkNotNull(bucketer);
reInterpreted.rollingPolicy =
Preconditions.checkNotNull(policy);
return reInterpreted;
}
...
{code}
{code}
public static class BulkFormatBuilder<IN, BucketID> extends
StreamingFileSink.BucketsBuilder<IN, BucketID> {
...
public <ID> StreamingFileSink.BulkFormatBuilder<IN, ID>
withBucketer(Bucketer<IN, ID> bucketer) {
@SuppressWarnings("unchecked")
StreamingFileSink.BulkFormatBuilder<IN, ID> reInterpreted =
(StreamingFileSink.BulkFormatBuilder<IN, ID>) this;
reInterpreted.bucketer = Preconditions.checkNotNull(bucketer);
return reInterpreted;
}
...
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)