use of com.adobe.acs.commons.reports.models.QueryReportExecutor in project acs-aem-commons by Adobe-Consulting-Services.
the class ReportCSVExportServlet method updateCSV.
private void updateCSV(Resource config, SlingHttpServletRequest request, List<ReportCellCSVExporter> exporters, Csv csv, Writer writer) throws ReportException {
QueryReportExecutor executor = request.adaptTo(QueryReportExecutor.class);
executor.setConfiguration(config);
log.debug("Retrieved executor {}", executor);
ResultsPage queryResult = executor.getAllResults();
List<? extends Object> results = queryResult.getResults();
log.debug("Retrieved {} results", results.size());
for (Object result : results) {
List<String> row = new ArrayList<String>();
try {
for (ReportCellCSVExporter exporter : exporters) {
row.add(exporter.getValue(result));
}
csv.writeRow(row.toArray(new String[row.size()]));
writer.flush();
} catch (Exception e) {
log.warn("Exception writing row: " + row, e);
}
}
log.debug("Results written successfully");
}
Aggregations