private static GroupByDateHistogram toGroupByDateHistogram()

in tablestore/src/main/java/com/alicloud/openservices/tablestore/core/protocol/SearchGroupByParser.java [79:120]


    private static GroupByDateHistogram toGroupByDateHistogram(String groupByName, ByteString groupByByteString) throws IOException {
        Search.GroupByDateHistogram pb = Search.GroupByDateHistogram.parseFrom(groupByByteString);
        GroupByDateHistogram groupBy = new GroupByDateHistogram();
        groupBy.setGroupByName(groupByName);
        if (pb.hasFieldName()) {
            groupBy.setFieldName(pb.getFieldName());
        }
        if (pb.hasInterval()) {
            DateTimeValue dateTimeValue = SearchProtocolParser.toDateTimeValue(pb.getInterval());
            groupBy.setInterval(dateTimeValue);
        }
        if (pb.hasMissing()) {
            ColumnValue missing = ValueUtil.toColumnValue(SearchVariantType.getValue(pb.getMissing().toByteArray()));
            groupBy.setMissing(missing);
        }
        if (pb.hasOffset()) {
            DateTimeValue dateTimeValue = SearchProtocolParser.toDateTimeValue(pb.getOffset());
            groupBy.setOffset(dateTimeValue);
        }
        if (pb.hasSort()) {
            groupBy.setGroupBySorters(SearchSortParser.toGroupBySort(pb.getSort()));
        }
        if (pb.hasMinDocCount()) {
            groupBy.setMinDocCount(pb.getMinDocCount());
        }
        if (pb.hasTimeZone()) {
            groupBy.setTimeZone(pb.getTimeZone());
        }
        if (pb.hasFieldRange()) {
            Search.FieldRange fieldRangePb = pb.getFieldRange();
            ColumnValue min = ValueUtil.toColumnValue(SearchVariantType.getValue(fieldRangePb.getMin().toByteArray()));
            ColumnValue max = ValueUtil.toColumnValue(SearchVariantType.getValue(fieldRangePb.getMax().toByteArray()));
            groupBy.setFieldRange(new com.alicloud.openservices.tablestore.model.search.groupby.FieldRange(min, max));
        }
        if (pb.hasSubGroupBys()) {
            groupBy.setSubGroupBys(toGroupBys(pb.getSubGroupBys()));
        }
        if (pb.hasSubAggs()) {
            groupBy.setSubAggregations(SearchAggregationParser.toAggregations(pb.getSubAggs()));
        }
        return groupBy;
    }