public void processElement()

in beam-collector/src/main/java/com/google/collector/loaders/LoadFromCsv.java [34:62]


  public void processElement(ProcessContext ctx) throws IllegalArgumentException {
    ImmutableList<String> columns = loadColumns(ctx);
    // hacky skip of unwanted lines: header, empties, unparsed
    if (columns.isEmpty() || columns.size() <= 12 || columns.get(1).equals("report_time")) {
      return;
    }

    CspReport cspReport = CspReport.newBuilder()
        .setReferrer(columns.get(4))
        .setBlockedUri(columns.get(5))
        .setViolatedDirective(columns.get(6))
        .setOriginalPolicy(columns.get(7))
        .setSourceFile(columns.get(8))
        .setEffectiveDirective(columns.get(13))
        .setScriptSample(columns.get(19))
        .setLineNumber(-1)
        .setColumnNumber(-1)
        .build();

    SecurityReport securityReport = SecurityReport.newBuilder()
        .setReportChecksum("foo")
        .setReportTime(1L)
        .setReportCount(1L)
        .setUserAgent("foo")
        .setDisposition(Disposition.REPORTING)
        .setCspReport(cspReport)
        .build();
    ctx.output(securityReport);
  }