public static RestResponse buildXContentBuilder( Table table, RestRequest request, RestChannel channel) throws Exception { XContentBuilder builder = RestXContentBuilder.restContentBuilder(request); List<DisplayHeader> displayHeaders = buildDisplayHeaders(table, request); builder.startArray(); for (int row = 0; row < table.getRows().size(); row++) { builder.startObject(); for (DisplayHeader header : displayHeaders) { builder.field( header.display, renderValue(request, table.getAsMap().get(header.name).get(row).value)); } builder.endObject(); } builder.endArray(); return new XContentRestResponse(request, RestStatus.OK, builder); }
public static RestResponse buildXContentBuilder( Table table, RestRequest request, RestChannel channel) throws Exception { XContentBuilder builder = RestXContentBuilder.restContentBuilder(request); Set<String> displayHeaders = buildDisplayHeaders(table, request); List<Table.Cell> headers = table.getHeaders(); builder.startArray(); for (List<Table.Cell> row : table.getRows()) { builder.startObject(); for (int i = 0; i < headers.size(); i++) { String headerName = headers.get(i).value.toString(); if (displayHeaders.contains(headerName)) { builder.field(headerName, renderValue(request, row.get(i).value)); } } builder.endObject(); } builder.endArray(); return new XContentRestResponse(request, RestStatus.OK, builder); }