private void respondWith()

in src/main/java/com/amazonaws/services/kinesis/aggregators/app/ListAggregateKeysServlet.java [40:94]


    private void respondWith(HttpServletResponse response, List<TableKeyStructure> queryResult)
            throws IOException {
        response.setStatus(200);
        // cors grant
        response.setHeader("Access-Control-Allow-Origin", "*");
        PrintWriter w = response.getWriter();
        w.println("{");

        int i = 0;

        // write out the response values as json
        if (queryResult != null) {
            int result = 0;
            for (TableKeyStructure t : queryResult) {
                if (result == 0) {
                    w.println(String.format("\"labelName\":\"%s\",", t.getLabelAttributeName()));
                    w.println(String.format("\"dateName\":\"%s\",", t.getDateAttributeName()));
                    w.println("\"values\":[");
                }

                // write the value as a struct
                w.print("{");
                w.print(String.format("\"value\":\"%s\"", t.getLabelAttributeValue()));

                int dateItem = 0;
                if (t.getDateValues() != null) {
                    if (dateItem == 0) {
                        w.print(",\n\"dates\":[");
                    }

                    for (String s : t.getDateValues()) {
                        // write the date value
                        w.print(String.format("\"%s\"", s));

                        if (dateItem != t.getDateValues().size() - 1) {
                            w.println(",");
                        } else {
                            w.print("]");
                        }
                        dateItem++;
                    }
                }

                w.print("}");

                if (result != queryResult.size() - 1) {
                    w.println(",");
                }

                result++;
            }
        }

        w.print("]}");
    }