protected void execute(HttpServletRequest request, HttpServletResponse response, int content) throws IOException {
// Get the report instance id
int instanceId = Integer.parseInt(request.getParameter("instanceId"));
// Get the report instance
ReportDao reportDao = new ReportDao();
ReportInstance instance = reportDao.getReportInstance(instanceId);
// Ensure the user is allowed access.
ReportCommon.ensureReportInstancePermission(Common.getUser(request), instance);
// Stream the content.
response.setContentType("text/csv");
Translations translations = Common.getTranslations();
if (content == CONTENT_REPORT) {
ExportCsvStreamer creator = new ExportCsvStreamer(response.getWriter(), translations);
if(Common.databaseProxy.getNoSQLProxy() == null)
reportDao.reportInstanceDataSQL(instanceId, creator);
else
reportDao.reportInstanceDataNoSQL(instanceId, creator);
}
else if (content == CONTENT_EVENTS)
new EventCsvStreamer(response.getWriter(), reportDao.getReportInstanceEvents(instanceId), translations);
else if (content == CONTENT_COMMENTS)
new UserCommentCsvStreamer(response.getWriter(), reportDao.getReportInstanceUserComments(instanceId),
translations);
}