Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/ExportServlet.java =================================================================== diff -u -r0f29639d502d808fe728f426312644ed5f6282fc -rf89e6168c312c16ee2796922e8b668cea52b1358 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/ExportServlet.java (.../ExportServlet.java) (revision 0f29639d502d808fe728f426312644ed5f6282fc) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/ExportServlet.java (.../ExportServlet.java) (revision f89e6168c312c16ee2796922e8b668cea52b1358) @@ -121,21 +121,23 @@ throw new McApplicationException(error); } - McMonitoringAction mcMonitoringAction= new McMonitoringAction(); - List listMonitoredAnswersContainerDTO=MonitoringUtil.buildGroupsQuestionDataForExportLearner(request, content, mcService, mcSession, learner ); - request.getSession().setAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO, listMonitoredAnswersContainerDTO); - logger.debug("LIST_MONITORED_ANSWERS_CONTAINER_DTO: " + request.getSession().getAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO)); - + request.getSession().setAttribute(PORTFOLIO_EXPORT_MODE, "learner"); + if ( learner != null ) { + McMonitoringAction mcMonitoringAction= new McMonitoringAction(); + List listMonitoredAnswersContainerDTO=MonitoringUtil.buildGroupsQuestionDataForExportLearner(request, content, mcService, mcSession, learner ); + request.getSession().setAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO, listMonitoredAnswersContainerDTO); + logger.debug("LIST_MONITORED_ANSWERS_CONTAINER_DTO: " + request.getSession().getAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO)); + String intTotalMark=viewAnswers(request, content, learner, mcSession, mcService); logger.debug("intTotalMark: " + intTotalMark); request.getSession().setAttribute(LEARNER_MARK,intTotalMark); request.getSession().setAttribute(LEARNER_NAME,learner.getFullname() ); + + request.getSession().setAttribute(PASSMARK,content.getPassMark().toString()); + mcMonitoringAction.prepareReflectionData(request, content, mcService, userID.toString(), true); } - request.getSession().setAttribute(PASSMARK,content.getPassMark().toString()); - request.getSession().setAttribute(PORTFOLIO_EXPORT_MODE, "learner"); - mcMonitoringAction.prepareReflectionData(request, content, mcService, userID.toString(), true); logger.debug("ending learner mode: "); } Index: lams_tool_lamc/web/export/exportportfolio.jsp =================================================================== diff -u -r8b0642b3d59ceabb9577ae08995cdfec1dca3ebc -rf89e6168c312c16ee2796922e8b668cea52b1358 --- lams_tool_lamc/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision 8b0642b3d59ceabb9577ae08995cdfec1dca3ebc) +++ lams_tool_lamc/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision f89e6168c312c16ee2796922e8b668cea52b1358) @@ -41,15 +41,15 @@

- - -

- + + +

+
@@ -167,6 +167,8 @@ + + @@ -313,6 +315,7 @@ + Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/ExportServlet.java =================================================================== diff -u -r90a7e534d921e18dc7f7f07138690b06e90c8af4 -rf89e6168c312c16ee2796922e8b668cea52b1358 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/ExportServlet.java (.../ExportServlet.java) (revision 90a7e534d921e18dc7f7f07138690b06e90c8af4) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/ExportServlet.java (.../ExportServlet.java) (revision f89e6168c312c16ee2796922e8b668cea52b1358) @@ -87,6 +87,12 @@ QaSession qaSession=qaService.retrieveQaSessionOrNullById(toolSessionID.longValue()); + // If the learner hasn't answered yet, then they won't exist in the session. + // Yet we might be asked for their page, as the activity has been commenced. + // So need to do a "blank" page in that case + QaQueUsr learner = qaService.getQaUserBySession(userID,qaSession.getUid()); + logger.debug("learner: " + learner); + QaContent content=qaSession.getQaContent(); logger.debug("content: " + content); logger.debug("content id: " + content.getQaContentId()); @@ -104,18 +110,22 @@ GeneralLearnerFlowDTO generalLearnerFlowDTO= LearningUtil.buildGeneralLearnerFlowDTO(content); logger.debug("generalLearnerFlowDTO: " + generalLearnerFlowDTO); - qaMonitoringAction.refreshSummaryData(request, content, qaService, content.isUsernameVisible(), true, toolSessionID.toString(), - userID.toString(), generalLearnerFlowDTO, false, toolSessionID.toString()); - logger.debug("end refreshSummaryData for learner mode."); - + + // if learner is null, don't want to show other people's answers + if ( learner != null ) { + qaMonitoringAction.refreshSummaryData(request, content, qaService, content.isUsernameVisible(), true, toolSessionID.toString(), + userID.toString(), generalLearnerFlowDTO, false, toolSessionID.toString()); + logger.debug("end refreshSummaryData for learner mode."); + qaMonitoringAction.prepareReflectionData(request, content, qaService, userID.toString(), true, toolSessionID.toString()); + } + generalLearnerFlowDTO =(GeneralLearnerFlowDTO)request.getAttribute(GENERAL_LEARNER_FLOW_DTO); logger.debug("final generalLearnerFlowDTO: " + generalLearnerFlowDTO); logger.debug("for the special case of export portfolio we place generalLearnerFlowDTO into session scope"); request.getSession().setAttribute(GENERAL_LEARNER_FLOW_DTO, generalLearnerFlowDTO); + request.getSession().setAttribute(PORTFOLIO_EXPORT_MODE, "learner"); - - qaMonitoringAction.prepareReflectionData(request, content, qaService, userID.toString(), true, toolSessionID.toString()); logger.debug("ending learner mode: "); } Index: lams_tool_laqa/web/export/exportportfolio.jsp =================================================================== diff -u -r7d13e6e6b653149634a2867a4aa964bb929c773f -rf89e6168c312c16ee2796922e8b668cea52b1358 --- lams_tool_laqa/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision 7d13e6e6b653149634a2867a4aa964bb929c773f) +++ lams_tool_laqa/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision f89e6168c312c16ee2796922e8b668cea52b1358) @@ -38,12 +38,11 @@
- -

-

-
+

+

- + +
@@ -52,6 +51,7 @@
+
Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java =================================================================== diff -u -r6f711478ad8dea47cec30ba0f67cbf35c1cf8d9b -rf89e6168c312c16ee2796922e8b668cea52b1358 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java (.../ExportServlet.java) (revision 6f711478ad8dea47cec30ba0f67cbf35c1cf8d9b) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java (.../ExportServlet.java) (revision f89e6168c312c16ee2796922e8b668cea52b1358) @@ -66,23 +66,29 @@ logger.debug("dispathcing doExport"); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath(); + boolean generateCharts = false; + if (StringUtils.equals(mode,ToolAccessMode.LEARNER.toString())){ - learner(request,response,directoryName,cookies); + generateCharts = learner(request,response,directoryName,cookies); }else if (StringUtils.equals(mode,ToolAccessMode.TEACHER.toString())){ - teacher(request,response,directoryName,cookies); + generateCharts = teacher(request,response,directoryName,cookies); } - - logger.debug("writing out chart to directoryName: " + directoryName); - writeOutChart(request, "pie", directoryName); - writeOutChart(request, "bar", directoryName); - logger.debug("basePath: " + basePath); + + if ( generateCharts ) { + logger.debug("writing out chart to directoryName: " + directoryName); + writeOutChart(request, "pie", directoryName); + writeOutChart(request, "bar", directoryName); + logger.debug("basePath: " + basePath); + } + writeResponseToFile(basePath+"/export/exportportfolio.jsp",directoryName,FILENAME,cookies); return FILENAME; } - public void learner(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) + public boolean learner(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) { + boolean generateCharts = false; ExportPortfolioDTO exportPortfolioDTO= new ExportPortfolioDTO(); logger.debug("starting learner mode..."); @@ -105,52 +111,58 @@ logger.debug("retrieving voteSession: " + voteSession); logger.debug("voteSession uid: " + voteSession.getUid()); + // If the learner hasn't voted yet, then they won't exist in the session. + // Yet we might be asked for their page, as the activity has been commenced. + // So need to do a "blank" page in that case VoteQueUsr learner = voteService.getVoteUserBySession(userID,voteSession.getUid()); logger.debug("learner: " + learner); - if (learner == null) - { - String error="The user with user id " + userID + " does not exist in this session or session may not exist."; - logger.error(error); - throw new VoteApplicationException(error); - } + if ( learner != null && learner.isFinalScreenRequested() ) { + generateCharts = true; + + VoteContent content=voteSession.getVoteContent(); + logger.debug("content: " + content); + logger.debug("content id: " + content.getVoteContentId()); + + if (content == null) + { + String error="The content for this activity has not been defined yet."; + logger.error(error); + throw new VoteApplicationException(error); + } + + VoteGeneralMonitoringDTO voteGeneralMonitoringDTO=new VoteGeneralMonitoringDTO(); + logger.debug("calling learning mode toolSessionID:" + toolSessionID + " userID: " + userID ); + + VoteMonitoringAction voteMonitoringAction= new VoteMonitoringAction(); + voteMonitoringAction.refreshSummaryData(request, content, voteService, true, true, + toolSessionID.toString(), userID.toString() , true, null, voteGeneralMonitoringDTO, exportPortfolioDTO); + logger.debug("post refreshSummaryData, exportPortfolioDTO now: " + exportPortfolioDTO); + + + MonitoringUtil.prepareChartDataForExportTeacher(request, voteService, null, content.getVoteContentId(), + voteSession.getUid(), exportPortfolioDTO); + + // VoteChartGenerator.create{Pie|Bar}Chart expects these to be session attributes + request.getSession().setAttribute(MAP_STANDARD_NOMINATIONS_CONTENT, exportPortfolioDTO.getMapStandardNominationsHTMLedContent()); + request.getSession().setAttribute(MAP_STANDARD_RATES_CONTENT, exportPortfolioDTO.getMapStandardRatesContent()); + + // voteMonitoringAction.prepareReflectionData(request, content, voteService, userID.toString(),true); + } else { + // thise field is needed for the jsp. + exportPortfolioDTO.setUserExceptionNoToolSessions("false"); + } - VoteContent content=voteSession.getVoteContent(); - logger.debug("content: " + content); - logger.debug("content id: " + content.getVoteContentId()); - - if (content == null) - { - String error="The content for this activity has not been defined yet."; - logger.error(error); - throw new VoteApplicationException(error); - } - - VoteGeneralMonitoringDTO voteGeneralMonitoringDTO=new VoteGeneralMonitoringDTO(); - logger.debug("calling learning mode toolSessionID:" + toolSessionID + " userID: " + userID ); - - VoteMonitoringAction voteMonitoringAction= new VoteMonitoringAction(); - voteMonitoringAction.refreshSummaryData(request, content, voteService, true, true, - toolSessionID.toString(), userID.toString() , true, null, voteGeneralMonitoringDTO, exportPortfolioDTO); - logger.debug("post refreshSummaryData, exportPortfolioDTO now: " + exportPortfolioDTO); - - - MonitoringUtil.prepareChartDataForExportTeacher(request, voteService, null, content.getVoteContentId(), - voteSession.getUid(), exportPortfolioDTO); - logger.debug("final exportPortfolioDTO: " + exportPortfolioDTO); logger.debug("final exportPortfolioDTO userExceptionNoToolSessions: " + exportPortfolioDTO.getUserExceptionNoToolSessions() ); request.getSession().setAttribute(EXPORT_PORTFOLIO_DTO, exportPortfolioDTO); - // VoteChartGenerator.create{Pie|Bar}Chart expects these to be session attributes - request.getSession().setAttribute(MAP_STANDARD_NOMINATIONS_CONTENT, exportPortfolioDTO.getMapStandardNominationsHTMLedContent()); - request.getSession().setAttribute(MAP_STANDARD_RATES_CONTENT, exportPortfolioDTO.getMapStandardRatesContent()); - - // voteMonitoringAction.prepareReflectionData(request, content, voteService, userID.toString(),true); logger.debug("ending learner mode: "); + + return generateCharts; } - public void teacher(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) + public boolean teacher(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) { logger.debug("starting teacher mode..."); ExportPortfolioDTO exportPortfolioDTO= new ExportPortfolioDTO(); @@ -194,6 +206,9 @@ voteMonitoringAction.prepareReflectionData(request, content, voteService, null, true, "All"); logger.debug("ending teacher mode: "); + + // always generate the charts + return true; } /** Index: lams_tool_vote/web/export/ExportContent.jsp =================================================================== diff -u -rc7d3fcf4395bbe2cd1d4fde631985e7ca3d265de -rf89e6168c312c16ee2796922e8b668cea52b1358 --- lams_tool_vote/web/export/ExportContent.jsp (.../ExportContent.jsp) (revision c7d3fcf4395bbe2cd1d4fde631985e7ca3d265de) +++ lams_tool_vote/web/export/ExportContent.jsp (.../ExportContent.jsp) (revision f89e6168c312c16ee2796922e8b668cea52b1358) @@ -179,6 +179,7 @@ + Pie Chart @@ -190,7 +191,7 @@ Bar Chart - + Index: lams_tool_vote/web/export/exportportfolio.jsp =================================================================== diff -u -rc7d3fcf4395bbe2cd1d4fde631985e7ca3d265de -rf89e6168c312c16ee2796922e8b668cea52b1358 --- lams_tool_vote/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision c7d3fcf4395bbe2cd1d4fde631985e7ca3d265de) +++ lams_tool_vote/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision f89e6168c312c16ee2796922e8b668cea52b1358) @@ -39,13 +39,12 @@

- - -

- + + +
@@ -54,6 +53,7 @@
+