List of usage examples for org.apache.commons.lang3 StringEscapeUtils escapeCsv
public static final String escapeCsv(final String input)
From source file:serposcope.controllers.google.GoogleTargetController.java
protected Result renderExport(Group group, GoogleTarget target, List<GoogleSearch> searches, List<Run> runs, LocalDate minDay, LocalDate maxDay, LocalDate startDate, LocalDate endDate) { return Results.ok().text().addHeader("Content-Disposition", "attachment; filename=\"export.csv\"") .render((Context context, Result result) -> { ResponseStreams stream = context.finalizeHeaders(result); try (Writer writer = stream.getWriter()) { writer.append("date,rank,url,target,keyword,device,tld,datacenter,local,custom\n"); for (Run run : runs) { String day = run.getDay().toString(); for (GoogleSearch search : searches) { GoogleRank rank = googleDB.rank.getFull(run.getId(), group.getId(), target.getId(), search.getId()); writer.append(day).append(","); if (rank != null) { writer.append(Integer.toString(rank.rank)).append(","); writer.append(rank.url).append(","); } else { writer.append(",").append(","); }/*from w w w.j ava 2s . c o m*/ writer.append(StringEscapeUtils.escapeCsv(target.getName())).append(","); writer.append(StringEscapeUtils.escapeCsv(search.getKeyword())).append(","); writer.append(search.getDevice() == GoogleDevice.DESKTOP ? "D" : "M").append(","); writer.append( search.getTld() != null ? StringEscapeUtils.escapeCsv(search.getTld()) : "") .append(","); writer.append(search.getDatacenter() != null ? StringEscapeUtils.escapeCsv(search.getDatacenter()) : "").append(","); writer.append( search.getLocal() != null ? StringEscapeUtils.escapeCsv(search.getLocal()) : "") .append(","); writer.append(search.getCustomParameters() != null ? StringEscapeUtils.escapeCsv(search.getCustomParameters()) : ""); writer.append("\n"); } } } catch (IOException ex) { LOG.warn("error while exporting csv"); } }); }