private void writeCsvRecordForProject(Map<String, CSVWriter> projectToFile, String outputFolderPath, ProjectModel projectModel, String[] line) { if (!projectToFile.containsKey(MERGED_CSV_FILENAME)) { String mergedFilename = PathUtil.cleanFileName(MERGED_CSV_FILENAME) + ".csv"; CSVWriter mergedFileWriter = initCSVWriter(outputFolderPath + mergedFilename, true); projectToFile.put(MERGED_CSV_FILENAME, mergedFileWriter); } if (!projectToFile.containsKey(projectModel.getName())) { String filename = PathUtil.cleanFileName(projectModel.getRootFileModel().getFileName()) + ".csv"; CSVWriter writer = initCSVWriter(outputFolderPath + filename, false); projectToFile.put(projectModel.getName(), writer); LOG.info("Setting csv filename to: " + filename + " for id: " + projectModel.getId()); projectModel.setCsvFilename(filename); } projectToFile.get(projectModel.getName()).writeNext(line); //Convert line array to ArrayList, add extra field for merged file on the end, // then convert back to array to send to CSVWriter ArrayList<String> mergedList = new ArrayList<String>(Arrays.stream(line).collect(Collectors.toList())); mergedList.add(projectModel.getRootFileModel().asFile().getName()); String[] mergedLine = new String[ mergedList.size() ]; projectToFile.get(MERGED_CSV_FILENAME).writeNext(mergedList.toArray(mergedLine)); }
private void writeCsvRecordForProject(Map<String, CSVWriter> projectToFile, String outputFolderPath, ProjectModel projectModel, String[] line) { if (!projectToFile.containsKey(projectModel.getName())) { String filename = PathUtil.cleanFileName(projectModel.getRootFileModel().getFileName()) + ".csv"; CSVWriter writer = initCSVWriter(outputFolderPath + filename); projectToFile.put(projectModel.getName(), writer); LOG.info("Setting csv filename to: " + filename + " for id: " + projectModel.getId()); projectModel.setCsvFilename(filename); } projectToFile.get(projectModel.getName()).writeNext(line); }