package org.araqne.log.api; import java.util.Map; public class CsvLogParser extends V1LogParser { private final String targetField; private final boolean includeTargetField; private final String[] columnHeaders; private CsvParser parser; public CsvLogParser(boolean useTab, boolean useDoubleQuote, String[] columnHeaders, String targetField, boolean includeTargetField) { this.targetField = targetField; this.columnHeaders = columnHeaders; this.includeTargetField = includeTargetField; parser = new CsvParser(useTab, useDoubleQuote, columnHeaders); } public String[] getColumnHeaders() { return columnHeaders; } @Override public Map<String, Object> parse(Map<String, Object> params) { String line = (String) params.get(targetField); if (line == null) return params; Map<String, Object> m = parser.parse(line); if (includeTargetField) m.put(targetField, line); return m; } }