use of cn.edu.zjnu.acm.judge.domain.Contest in project judge by zjnu-acm.
the class ShowSubmissionDetailsController method showSolutionDetails.
@GetMapping("/showsolutiondetails")
public String showSolutionDetails(HttpServletRequest request, @RequestParam("solution_id") long submissionId, Authentication authentication) {
Submission submission = submissionMapper.findOne(submissionId);
if (submission == null) {
throw new BusinessException(BusinessCode.SUBMISSION_NOT_FOUND, submissionId);
}
Long contestId = submission.getContest();
if (contestId != null) {
Contest contest = contestMapper.findOne(contestId);
if (contest != null) {
request.setAttribute("contestId", contest.getId());
}
}
if (!submissionService.canView(request, submission)) {
throw new MessageException("You have no permission to view solution '" + submissionId + "'", HttpStatus.FORBIDDEN);
}
String submissionDetail = submissionMapper.getSubmissionDetail(submissionId);
if (submissionDetail == null) {
submissionDetail = "";
}
String[] detailsArray = submissionDetail.split(",");
SubmissionDetail[] details = new SubmissionDetail[detailsArray.length / 4];
for (int i = 0; i < detailsArray.length / 4; ++i) {
details[i] = SubmissionDetail.builder().result(ResultType.getCaseScoreDescription(Integer.parseInt(detailsArray[i << 2]))).score(detailsArray[i << 2 | 1]).time(detailsArray[i << 2 | 2]).memory(detailsArray[i << 2 | 3]).build();
}
request.setAttribute("details", details);
request.setAttribute("user", submission.getUser());
request.setAttribute("problem", submission.getProblem());
request.setAttribute("result", ResultType.getResultDescription(submission.getScore()));
request.setAttribute("score", submission.getScore());
request.setAttribute("time", submission.getTime());
request.setAttribute("memory", submission.getMemory());
return "submissions/detail";
}
use of cn.edu.zjnu.acm.judge.domain.Contest in project judge by zjnu-acm.
the class ContestMapperTest method testFindOne.
/**
* Test of findOne method, of class ContestMapper.
*/
@Test
public void testFindOne() {
log.info("findOne");
long contestId = 0L;
Contest expResult = null;
Contest result = instance.findOne(contestId);
assertEquals(expResult, result);
}
use of cn.edu.zjnu.acm.judge.domain.Contest in project judge by zjnu-acm.
the class MockDataService method contest.
@Nonnull
public Contest contest(boolean create) {
Instant now = Instant.now();
Contest contest = Contest.builder().startTime(now.minus(1, ChronoUnit.HOURS)).endTime(now.plus(1, ChronoUnit.HOURS)).title("test title").description("test description").build();
if (create) {
contestService.save(contest);
}
return contest;
}
Aggregations