Skip to content

Commit

Permalink
Clean up DataApiRequest contracts
Browse files Browse the repository at this point in the history
  • Loading branch information
michael-mclawhorn committed Sep 25, 2018
1 parent 277a788 commit e22c2c5
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 19 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,8 @@ Thanks to everyone who contributed to this release!

### Added:

- [Added with method for timesort to DataApiRequest](https://github.com/yahoo/fili/issues/773)

- [Latest Time Macro](https://github.com/yahoo/fili/pull/697)
* Added `logicalTableAvailability` to `TableUtils` which returns the union of intervals for the logical table.
* Added `now` parameter to `generateIntervals` for which time macros will be relatively calculated.
Expand Down Expand Up @@ -420,6 +422,9 @@ Thanks to everyone who contributed to this release!

### Changed:

- [Corrected generality on with methods](https://github.com/yahoo/fili/issues/773)
* Changed `DataApiRequest` methods to not refer to the implementation classes.

- [Avoid casting to generate SimplifiedIntervalList](https://github.com/yahoo/fili/pull/658)
* Some downstream projects generated partial intervals as `ArrayList`, which cannot be cased to
`SimplifiedIntervalList` in places like `getPartialIntervalsWithDefault`. The result is a casting exception which
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,46 +177,48 @@ Map<Dimension, Set<ApiFilter>> generateFilters(
);

// CHECKSTYLE:OFF
DataApiRequestImpl withFormat(ResponseFormatType format);
DataApiRequest withFormat(ResponseFormatType format);

DataApiRequestImpl withPaginationParameters(Optional<PaginationParameters> paginationParameters);
DataApiRequest withPaginationParameters(Optional<PaginationParameters> paginationParameters);

DataApiRequestImpl withBuilder(Response.ResponseBuilder builder);
DataApiRequest withBuilder(Response.ResponseBuilder builder);

DataApiRequestImpl withTable(LogicalTable table);
DataApiRequest withTable(LogicalTable table);

DataApiRequestImpl withGranularity(Granularity granularity);
DataApiRequest withGranularity(Granularity granularity);

DataApiRequestImpl withDimensions(LinkedHashSet<Dimension> dimensions);
DataApiRequest withDimensions(LinkedHashSet<Dimension> dimensions);

DataApiRequestImpl withPerDimensionFields(LinkedHashMap<Dimension,
DataApiRequest withPerDimensionFields(LinkedHashMap<Dimension,
LinkedHashSet<DimensionField>> perDimensionFields);

DataApiRequestImpl withLogicalMetrics(LinkedHashSet<LogicalMetric> logicalMetrics);
DataApiRequest withLogicalMetrics(LinkedHashSet<LogicalMetric> logicalMetrics);

DataApiRequestImpl withIntervals(List<Interval> intervals);
DataApiRequest withIntervals(List<Interval> intervals);

@Deprecated
/**
* @deprecated Use @see{{@link #withIntervals(List)}}
*/
DataApiRequestImpl withIntervals(Set<Interval> intervals);
DataApiRequest withIntervals(Set<Interval> intervals);

DataApiRequestImpl withFilters(ApiFilters filters);
DataApiRequest withFilters(ApiFilters filters);

DataApiRequestImpl withHavings(Map<LogicalMetric, Set<ApiHaving>> havings);
DataApiRequest withHavings(Map<LogicalMetric, Set<ApiHaving>> havings);

DataApiRequestImpl withHaving(Having having);
DataApiRequest withHaving(Having having);

DataApiRequestImpl withSorts(LinkedHashSet<OrderByColumn> sorts);
DataApiRequest withSorts(LinkedHashSet<OrderByColumn> sorts);

DataApiRequestImpl withCount(int count);
DataApiRequest withTimeSort(Optional<OrderByColumn> timeSort);

DataApiRequestImpl withTopN(int topN);
DataApiRequest withCount(int count);

DataApiRequestImpl withAsyncAfter(long asyncAfter);
DataApiRequest withTopN(int topN);

DataApiRequestImpl withTimeZone(DateTimeZone timeZone);
DataApiRequest withAsyncAfter(long asyncAfter);

DataApiRequestImpl withFilterBuilder(DruidFilterBuilder filterBuilder);
DataApiRequest withTimeZone(DateTimeZone timeZone);

DataApiRequest withFilterBuilder(DruidFilterBuilder filterBuilder);
}

0 comments on commit e22c2c5

Please sign in to comment.