Search in sources :

Example 1 with RassXmlFileProcessingResult

use of edu.cornell.kfs.rass.batch.RassXmlFileProcessingResult in project cu-kfs by CU-CommunityApps.

the class RassReportServiceImpl method writeBatchJobReports.

@Override
public void writeBatchJobReports(RassBatchJobReport rassBatchJobReport) {
    LOG.info("writeBatchJobReports: start writing RASS batch job reports for each file");
    List<RassXmlFileParseResult> fileParseResults = rassBatchJobReport.getFileParseResults();
    Map<String, RassXmlFileProcessingResult> fileProcessingResults = rassBatchJobReport.getFileProcessingResults();
    List<RassXmlFileParseResult> errorResults = new ArrayList<>();
    for (RassXmlFileParseResult fileParseResult : fileParseResults) {
        if (RassConstants.RassParseResultCode.ERROR.equals(fileParseResult.getResultCode())) {
            errorResults.add(fileParseResult);
            continue;
        }
        RassXmlFileProcessingResult fileResult = fileProcessingResults.get(fileParseResult.getRassXmlFileName());
        initializeNewReportForFile(fileParseResult);
        writeReportSummary(fileResult);
        writeReportDetails(fileResult);
        finalizeReportForCurrentFile();
        sendReportEmail();
    }
    if (!errorResults.isEmpty()) {
        LOG.info("writeBatchJobReports: One or more RASS files failed to be parsed; writing error report file");
        writeErrorReport(errorResults);
        sendReportEmail();
    }
    LOG.info("writeBatchJobReports: finished writing RASS batch job reports");
}
Also used : RassXmlFileProcessingResult(edu.cornell.kfs.rass.batch.RassXmlFileProcessingResult) ArrayList(java.util.ArrayList) RassXmlFileParseResult(edu.cornell.kfs.rass.batch.RassXmlFileParseResult)

Example 2 with RassXmlFileProcessingResult

use of edu.cornell.kfs.rass.batch.RassXmlFileProcessingResult in project cu-kfs by CU-CommunityApps.

the class RassServiceImplTest method assertFilesPerformedExpectedObjectUpdates.

private void assertFilesPerformedExpectedObjectUpdates(List<FileWithExpectedResults> expectedFileResults, Map<String, RassXmlFileProcessingResult> actualFileResults) {
    assertEquals("Wrong number of file results", expectedFileResults.size(), actualFileResults.size());
    for (FileWithExpectedResults expectedFileResult : expectedFileResults) {
        String xmlFileName = expectedFileResult.getExpectedXmlFileName();
        RassXmlFileProcessingResult actualFileResult = actualFileResults.get(xmlFileName);
        assertNotNull("No results were found for filename key: " + xmlFileName, actualFileResult);
        assertEquals("Wrong filename for file result entry", xmlFileName, actualFileResult.getRassXmlFileName());
        assertAgenciesWereUpdatedAndReportedAsExpected(expectedFileResult, actualFileResult);
        assertProposalsWereUpdatedAndReportedAsExpected(expectedFileResult, actualFileResult);
        assertAwardsWereUpdatedAndReportedAsExpected(expectedFileResult, actualFileResult);
    }
}
Also used : RassXmlFileProcessingResult(edu.cornell.kfs.rass.batch.RassXmlFileProcessingResult)

Aggregations

RassXmlFileProcessingResult (edu.cornell.kfs.rass.batch.RassXmlFileProcessingResult)2 RassXmlFileParseResult (edu.cornell.kfs.rass.batch.RassXmlFileParseResult)1 ArrayList (java.util.ArrayList)1