GroupTable aggregations are computed directly as strings


Even if using a GroupTable with only integers, values of group rows are computed directly as formatted strings. This is easy to see by doing an Excel export.

See below, 4th line 1065 value is an integer that has been exported as an integer to Excel. Lines above are computed groups where values have been computed and exported as strings.


The culprit is AggregatableDelegate.doAggregation method which dictates strings as results.

protected Map<AggregationInfo, String> doAggregation(Collection<K> itemIds, AggregationInfo[] aggregationInfos) {
        Map<AggregationInfo, String> aggregationResults = new HashMap<>();
        for (AggregationInfo aggregationInfo : aggregationInfos) {
            final Object value = doPropertyAggregation(aggregationInfo, itemIds);

cuba 6.10.9

Best Regards


Thank you for reporting the problem, we’ve created an issue: cuba-platform/cuba#2142 .