Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java =================================================================== diff -u -rad31a4a4d1cc260f56affbbeacf3579c0138f575 -ra1044423d025101e48d3c1fc42716eb0661c18b5 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision ad31a4a4d1cc260f56affbbeacf3579c0138f575) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision a1044423d025101e48d3c1fc42716eb0661c18b5) @@ -37,6 +37,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import java.util.SortedSet; import java.util.TimeZone; import java.util.TreeMap; import java.util.TreeSet; @@ -71,6 +72,7 @@ import org.lamsfoundation.lams.tool.assessment.dto.QuestionDTO; import org.lamsfoundation.lams.tool.assessment.dto.QuestionSummary; import org.lamsfoundation.lams.tool.assessment.dto.ReflectDTO; +import org.lamsfoundation.lams.tool.assessment.dto.TblAssessmentQuestionDTO; import org.lamsfoundation.lams.tool.assessment.dto.UserSummary; import org.lamsfoundation.lams.tool.assessment.dto.UserSummaryItem; import org.lamsfoundation.lams.tool.assessment.model.Assessment; @@ -82,6 +84,7 @@ import org.lamsfoundation.lams.tool.assessment.model.QuestionReference; import org.lamsfoundation.lams.tool.assessment.service.IAssessmentService; import org.lamsfoundation.lams.tool.assessment.util.AssessmentEscapeUtils; +import org.lamsfoundation.lams.tool.assessment.util.AssessmentSessionComparator; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; @@ -250,6 +253,14 @@ request.setAttribute("questions", questionDtos); } + List tblQuestionDtos = TblMonitoringController.getTblAssessmentQuestionDtos(contentId, + true, service); + request.setAttribute("questionDtos", tblQuestionDtos); + SortedSet sessions = new TreeSet<>(new AssessmentSessionComparator()); + sessions.addAll(service.getSessionsByContentId(assessment.getContentId())); + + request.setAttribute("sessions", sessions); + // lists all code styles used in this assessment Set codeStyles = questionList.stream().filter(q -> q.getQbQuestion().getCodeStyle() != null) .collect(Collectors.mapping(q -> q.getQbQuestion().getCodeStyle(), Collectors.toSet())); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/TblMonitoringController.java =================================================================== diff -u -rd580e50efde13c15321cdc47dbb11fb01689d19d -ra1044423d025101e48d3c1fc42716eb0661c18b5 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/TblMonitoringController.java (.../TblMonitoringController.java) (revision d580e50efde13c15321cdc47dbb11fb01689d19d) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/TblMonitoringController.java (.../TblMonitoringController.java) (revision a1044423d025101e48d3c1fc42716eb0661c18b5) @@ -211,14 +211,61 @@ @RequestMapping("aesStudentChoicesTable") public String aesStudentChoicesTable(HttpServletRequest request) { Long toolContentId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + List tblQuestionDtos = TblMonitoringController + .getTblAssessmentQuestionDtos(toolContentId, false, assessmentService); + Assessment assessment = assessmentService.getAssessmentByContentId(toolContentId); + SortedSet sessions = new TreeSet<>(new AssessmentSessionComparator()); + sessions.addAll(assessmentService.getSessionsByContentId(assessment.getContentId())); + + request.setAttribute("sessions", sessions); + request.setAttribute("questionDtos", tblQuestionDtos); + + return "pages/tblmonitoring/assessmentStudentChoicesTable"; + } + + @RequestMapping("aesStudentChoices") + public String aesStudentChoices(HttpServletRequest request) { + Long toolContentId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + Assessment assessment = assessmentService.getAssessmentByContentId(toolContentId); Map questionSummaries = assessmentService.getQuestionSummaryForExport(assessment, false); List tblQuestionDtos = new ArrayList<>(); for (QuestionSummary questionSummary : questionSummaries.values()) { QuestionDTO questionDto = questionSummary.getQuestionDto(); TblAssessmentQuestionDTO tblQuestionDto = new TblAssessmentQuestionDTO(); + tblQuestionDto.setTitle(questionDto.getTitle()); + tblQuestionDto + .setQuestionTypeLabel(AssessmentServiceImpl.getQuestionTypeLanguageLabel(questionDto.getType())); + tblQuestionDto.setCorrectAnswer(TblMonitoringController.getAssessmentCorrectAnswer(questionDto)); + tblQuestionDtos.add(tblQuestionDto); + } + + request.setAttribute("questionDtos", tblQuestionDtos); + request.setAttribute(AttributeNames.PARAM_TOOL_CONTENT_ID, toolContentId); + request.setAttribute("groupsInAnsweredQuestionsChart", assessment.isUseSelectLeaderToolOuput()); + request.setAttribute("assessment", assessment); + + return "pages/tblmonitoring/assessmentStudentChoices"; + } + + static List getTblAssessmentQuestionDtos(Long toolContentId, boolean addHeaderData, + IAssessmentService assessmentService) { + Assessment assessment = assessmentService.getAssessmentByContentId(toolContentId); + Map questionSummaries = assessmentService.getQuestionSummaryForExport(assessment, false); + List tblQuestionDtos = new ArrayList<>(); + for (QuestionSummary questionSummary : questionSummaries.values()) { + QuestionDTO questionDto = questionSummary.getQuestionDto(); + + TblAssessmentQuestionDTO tblQuestionDto = new TblAssessmentQuestionDTO(); + if (addHeaderData) { + tblQuestionDto.setTitle(questionDto.getTitle()); + tblQuestionDto.setQuestionTypeLabel( + AssessmentServiceImpl.getQuestionTypeLanguageLabel(questionDto.getType())); + tblQuestionDto.setCorrectAnswer(TblMonitoringController.getAssessmentCorrectAnswer(questionDto)); + } + List sessionQuestionResults = new ArrayList<>(); for (List questionResultsPerSession : questionSummary .getQuestionResultsPerSession()) { @@ -272,45 +319,13 @@ tblQuestionDtos.add(tblQuestionDto); } - SortedSet sessions = new TreeSet<>(new AssessmentSessionComparator()); - sessions.addAll(assessmentService.getSessionsByContentId(assessment.getContentId())); - - request.setAttribute("sessions", sessions); - request.setAttribute("questionDtos", tblQuestionDtos); - - return "pages/tblmonitoring/assessmentStudentChoicesTable"; + return tblQuestionDtos; } - @RequestMapping("aesStudentChoices") - public String aesStudentChoices(HttpServletRequest request) { - Long toolContentId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); - Assessment assessment = assessmentService.getAssessmentByContentId(toolContentId); - Map questionSummaries = assessmentService.getQuestionSummaryForExport(assessment, false); - List tblQuestionDtos = new ArrayList<>(); - for (QuestionSummary questionSummary : questionSummaries.values()) { - QuestionDTO questionDto = questionSummary.getQuestionDto(); - - TblAssessmentQuestionDTO tblQuestionDto = new TblAssessmentQuestionDTO(); - tblQuestionDto.setTitle(questionDto.getTitle()); - tblQuestionDto - .setQuestionTypeLabel(AssessmentServiceImpl.getQuestionTypeLanguageLabel(questionDto.getType())); - tblQuestionDto.setCorrectAnswer(getAssessmentCorrectAnswer(questionDto)); - - tblQuestionDtos.add(tblQuestionDto); - } - - request.setAttribute("questionDtos", tblQuestionDtos); - request.setAttribute(AttributeNames.PARAM_TOOL_CONTENT_ID, toolContentId); - request.setAttribute("groupsInAnsweredQuestionsChart", assessment.isUseSelectLeaderToolOuput()); - request.setAttribute("assessment", assessment); - - return "pages/tblmonitoring/assessmentStudentChoices"; - } - /** * Used only for excell export (for getUserSummaryData() method). */ - private String getAssessmentCorrectAnswer(QuestionDTO questionDto) { + private static String getAssessmentCorrectAnswer(QuestionDTO questionDto) { StringBuilder sb = new StringBuilder(); if (questionDto != null) { Index: lams_tool_assessment/web/pages/monitoring/summary.jsp =================================================================== diff -u -r0586f1081f3b7e5b550da93b64463175ea698c28 -ra1044423d025101e48d3c1fc42716eb0661c18b5 --- lams_tool_assessment/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 0586f1081f3b7e5b550da93b64463175ea698c28) +++ lams_tool_assessment/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision a1044423d025101e48d3c1fc42716eb0661c18b5) @@ -14,6 +14,13 @@ + + <%@ include file="parts/discloseAnswers.jsp"%>