Exemplo n.º 1
0
  @Override
  public void getResource(final HttpServletRequest request, final HttpServletResponse response)
      throws ServletException, IOException {
    ServletLifecycle.beginRequest(request);
    try {
      ServletContexts.instance().setRequest(request);
      ConversationPropagation.instance().restoreConversationId(request.getParameterMap());
      Manager.instance().restoreConversation();
      ServletLifecycle.resumeConversation(request);

      final ReportResult reportResult =
          (ReportResult) Contexts.getConversationContext().get("user.reportResult");

      if (reportResult != null) {
        response.setContentType("text/csv");
        response.setCharacterEncoding("UTF-8");

        final PrintWriter out = response.getWriter();

        boolean first = true;

        for (final ColumnDefinition column : reportResult.getGroupByColumns()) {
          if (!first) {
            out.print(DELIM);
          }
          out.print(toCSVString(column.getHeader()));
          first = false;
        }
        for (final ColumnDefinition column : reportResult.getColumns()) {
          if (!first) {
            out.print(DELIM);
          }
          out.print(toCSVString(column.getHeader()));
          first = false;
        }
        out.println();

        for (final ReportResultGroup group : reportResult.getGroups()) {
          writeReportGroup(0, group, out);
        }
        for (final ReportRow row : reportResult.getRows()) {
          writeReportRow(row, reportResult.getColumns(), out);
        }
        out.close();
      }
    } finally {
      ServletLifecycle.endRequest(request);
    }
  }
 public String getRequestConversationId(Map parameters) {
   return ConversationPropagation.getRequestParameterValue(parameters, getParameterName());
 }