public void writeDataToFile()

in src/main/java/com/datacompare/service/CompareService.java [937:1015]


	public void writeDataToFile(FetchMetadata fetchSourceMetadata, Map<String, String> mismatchSourceData,
			FetchMetadata fetchTargetMetadata, Map<String, String> mismatchTargetData, CompareResult dto,
			String schemaName, boolean displayCompleteData) {
		
		StringBuilder info = new StringBuilder();
		
		info.append("\nSource Table size = ");
		info.append(mismatchSourceData.size());
		info.append("\nTarget Table size = ");
		info.append(mismatchTargetData.size());
		info.append("\n");
		
		logger.info(info.toString());

		if (mismatchSourceData.size() != 0) {
			
			info = new StringBuilder();
			
			info.append(schemaName.toLowerCase());
			info.append("_");
			info.append(dto.getTableName().toLowerCase());
			info.append("_table_comparison_result_");
			info.append(new DateUtil().getAppendDateToFileName(new Date())); 
			info.append(".html");
			
			String fileName = info.toString();
			
			try {
				
				long totalFailedRowCount = 0;
				
				StringBuilder bw = new StringBuilder();
				
				writeHeader(fetchSourceMetadata, fetchTargetMetadata, displayCompleteData, bw); 
				
				writeMismatchData(mismatchSourceData, mismatchTargetData, displayCompleteData, dto, bw); 
				
				writeMismatchSourceData(mismatchSourceData, displayCompleteData, dto, bw); 
				
				writeMismatchTargetData(mismatchTargetData, displayCompleteData, dto, bw);
 				
				totalFailedRowCount = dto.getValueMismatchCount() + dto.getTargetFailedRowCount()
						+ dto.getSourceFailedRowCount();
 			
 				String reasonOfFailure = "";
 				
 				if( dto.getTargetFailedRowCount() > 0 ) {
 					reasonOfFailure = "Additional rows found in Target";
 				}
 				
 				if( dto.getSourceFailedRowCount() > 0 ) {
 					reasonOfFailure = reasonOfFailure + (!reasonOfFailure.isEmpty() ? " / " : "") + "Rows did not migrated from source";
 				}
 				
 				if( dto.getValueMismatchCount() > 0 ) {
 					reasonOfFailure = reasonOfFailure + (!reasonOfFailure.isEmpty() ? " / " : "") + "Tuple value mismatched";
 				}
 				
 				if( dto.getTargetFailedRowCount() == 0 && dto.getSourceFailedRowCount() == 0 && dto.getValueMismatchCount() == 0 ) {
 					 
 					reasonOfFailure = "Data Matched";
 				}
 				
 				dto.setFailedRowNumber(totalFailedRowCount);
 				dto.setReason(reasonOfFailure);
 				dto.setFilename(fileName); 
 				
 				bw.append("</tbody></table></body></html>");
 				
 				FileUtil fileWrite = new FileUtil();
 				
 				fileWrite.writeDataToFile(bw, fileName, CompareController.reportOutputFolder); 
				
			} catch (Exception e) {
				
				logger.error(e.getMessage(), e);
			}
		}
	}