getEntityManager().createNativeQuery(sql).executeUpdate();
reportExecutionList.getTestRound().setId(sessionBean.getTestRoundId());
List<ReportExecution> caseReports = reportExecutionList.getResultList();
ReportSummary reportSummary = new ReportSummary();
testRoundHome.setTestRoundId(sessionBean.getTestRoundId());
TestRound testRound = testRoundHome.getInstance();
reportSummary.setTestRound(testRound);
reportSummary.setTotalCaseNumber(0);
reportSummary.setPassCaseNumber(0);
reportSummary.setFailCaseNumber(0);
reportSummary.setMissCaseNumber(0);
reportSummary.setRoundResult("Miss");
reportSummary.setStartTime(new Date());
reportSummary.setEndTime(new Date());
for (ReportExecution caseReport : caseReports) {
reportSummary
.setTotalCaseNumber(reportSummary.getTotalCaseNumber() + 1);
if (!caseReport.getCaseResult().equals("Pass")) {
reportSummary.setRoundResult("Fail");
reportSummary.setFailCaseNumber(reportSummary
.getFailCaseNumber() + 1);
} else {
reportSummary.setPassCaseNumber(reportSummary
.getPassCaseNumber() + 1);
}
if (caseReport.getStartTime().before(reportSummary.getStartTime())) {
reportSummary.setStartTime(caseReport.getStartTime());
}
if (caseReport.getEndTime().after(reportSummary.getEndTime())) {
reportSummary.setEndTime(caseReport.getEndTime());
}
reportSummary.setDuring((reportSummary.getEndTime().getTime()
- reportSummary.getStartTime().getTime()) / (1000 * 60));
}
reportSummary.setGenerateTime(new Date(System.currentTimeMillis()));
reportSummaryHome.setInstance(reportSummary);
reportSummaryHome.persist();
}