use of org.apache.flink.table.runtime.functions.aggregate.ListAggWsWithRetractAggFunction.ListAggWsWithRetractAccumulator in project flink by apache.
the class ListAggWsWithRetractAggFunctionTest method retractValues.
@Override
protected void retractValues(ListAggWsWithRetractAccumulator accumulator, List<StringData> values) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
AggregateFunction<StringData, ListAggWsWithRetractAccumulator> aggregator = getAggregator();
Method retractFunc = getRetractFunc();
Preconditions.checkArgument(values.size() % 2 == 0, "number of values must be an integer multiple of 2.");
for (int i = 0; i < values.size(); i += 2) {
StringData value = values.get(i + 1);
StringData delimiter = values.get(i);
retractFunc.invoke(aggregator, accumulator, delimiter, value);
}
}
use of org.apache.flink.table.runtime.functions.aggregate.ListAggWsWithRetractAggFunction.ListAggWsWithRetractAccumulator in project flink by apache.
the class ListAggWsWithRetractAggFunctionTest method accumulateValues.
@Override
protected ListAggWsWithRetractAccumulator accumulateValues(List<StringData> values) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
AggregateFunction<StringData, ListAggWsWithRetractAccumulator> aggregator = getAggregator();
ListAggWsWithRetractAccumulator accumulator = getAggregator().createAccumulator();
Method accumulateFunc = getAccumulateFunc();
Preconditions.checkArgument(values.size() % 2 == 0, "number of values must be an integer multiple of 2.");
for (int i = 0; i < values.size(); i += 2) {
StringData value = values.get(i + 1);
StringData delimiter = values.get(i);
accumulateFunc.invoke(aggregator, accumulator, delimiter, value);
}
return accumulator;
}
Aggregations