package org.knoma.jglor.csv; import java.util.List; import org.knoma.jglor.domain.Patient; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; import org.knoma.jglor.generators.PatientGenerator; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; /** * Created by gabriel on 28/09/15. */ public class CSVFileExporter { public void write(List<Patient> patients, String file) { CSVFormat csvFileFormat = CSVFormat.EXCEL; try { StringBuilder builder = new StringBuilder(); CSVPrinter csvPrinter = new CSVPrinter(builder, csvFileFormat); csvPrinter.printRecord(PatientCSVConverter.FILE_HEADER); for (Patient patient : patients) { csvPrinter.printRecord(new PatientCSVConverter().convert(patient)); } FileWriter writer = new FileWriter(file); writer.write(builder.toString()); writer.flush(); } catch (IOException e) { throw new RuntimeException("Cannot generate csv file", e); } } public static final void main(String... args) { final List<Patient> patients = new ArrayList<>(); for (int i = 0; i < 40; i++) { patients.add(new PatientGenerator().generate()); } new CSVFileExporter().write(patients, "build/patients.csv"); } }