in c3r-sdk-core/src/main/java/com/amazonaws/c3r/action/CsvRowMarshaller.java [82:110]
private static RowMarshaller<CsvValue> newInstance(
@NonNull final String sourceFile,
@NonNull final String targetFile,
@NonNull final String tempDir,
final String inputNullValue,
final String outputNullValue,
@NonNull final ClientSettings settings,
@NonNull final TableSchema schema,
@NonNull final Map<ColumnType, Transformer> transforms) {
final RowReader<CsvValue> reader = CsvRowReader.builder().sourceName(sourceFile).inputNullValue(inputNullValue)
.externalHeaders(schema.getPositionalColumnHeaders()).build();
final List<ColumnHeader> targetHeaders = schema.getColumns().stream().map(ColumnSchema::getTargetHeader)
.collect(Collectors.toList());
final RowWriter<CsvValue> writer = CsvRowWriter.builder()
.targetName(targetFile)
.outputNullValue(outputNullValue)
.headers(targetHeaders)
.build();
validate(outputNullValue, schema);
return RowMarshaller.<CsvValue>builder()
.settings(settings)
.schema(schema)
.tempDir(tempDir)
.inputReader(reader)
.valueFactory(new CsvValueFactory())
.outputWriter(writer)
.transformers(transforms)
.build();
}