Index: lams_tool_vote/conf/language/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/conf/language/Attic/ApplicationResources.properties,v diff -u -r1.13 -r1.14 --- lams_tool_vote/conf/language/ApplicationResources.properties 26 Apr 2006 12:36:13 -0000 1.13 +++ lams_tool_vote/conf/language/ApplicationResources.properties 27 Apr 2006 12:21:50 -0000 1.14 @@ -59,6 +59,7 @@ label.attempts =Attempts label.you.answered =You answered: label.learner.answered =Learner answered: +label.learning.report =Learning Report label.retake =Redo Vote label.view.summary =View Summary label.view.answers =View Answers Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteAppConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteAppConstants.java,v diff -u -r1.12 -r1.13 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteAppConstants.java 26 Apr 2006 17:56:11 -0000 1.12 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteAppConstants.java 27 Apr 2006 12:21:50 -0000 1.13 @@ -67,6 +67,8 @@ public static final String ACTIVE_MODULE ="activeModule"; public static final String DEFINE_LATER_IN_EDIT_MODE ="defineLaterInEditMode"; public static final String SUBMIT_SUCCESS ="sbmtSuccess"; + public static final String REQUEST_LEARNING_REPORT ="requestLearningReport"; + public static final String REQUEST_LEARNING_REPORT_PROGRESS ="requestLearningReportProgress"; /* * authoring mode controllers Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java,v diff -u -r1.6 -r1.7 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java 26 Apr 2006 17:56:10 -0000 1.6 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java 27 Apr 2006 12:21:50 -0000 1.7 @@ -249,40 +249,14 @@ VoteMonitoredUserDTO voteMonitoredUserDTO = new VoteMonitoredUserDTO(); voteMonitoredUserDTO.setAttemptTime(voteUsrResp.getAttemptTime().toString()); voteMonitoredUserDTO.setTimeZone(voteUsrResp.getTimeZone()); - //voteMonitoredUserDTO.setUid(voteUsrResp.getResponseId().toString()); voteMonitoredUserDTO.setUserName(voteQueUsr.getUsername()); voteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); voteMonitoredUserDTO.setSessionId(sessionId.toString()); voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); logger.debug("attempt: " + voteUsrResp); - //VoteQueContent localVoteQueContent=voteUsrResp.getVoteQueContent(); - //logger.debug("localVoteQueContent: " + localVoteQueContent); - //logger.debug("localVoteQueContent question : " + localVoteQueContent.getQuestion()); - //voteMonitoredUserDTO.setResponse(localVoteQueContent.getQuestion()); voteMonitoredUserDTO.setQuestionUid(questionUid); - /* - boolean isSingleUserEntry=voteUsrResp.isSingleUserEntry(); - logger.debug("isSingleUserEntry: " + isSingleUserEntry); - logger.debug("userEntry: " + voteUsrResp.getUserEntry()); - if ((isSingleUserEntry == false) && (voteUsrResp.getUserEntry().length() > 0)) - { - logger.debug("userEntry available and must be added " + voteUsrResp.getUserEntry()); - VoteMonitoredUserDTO userEntryVoteMonitoredUserDTO = new VoteMonitoredUserDTO(); - - userEntryVoteMonitoredUserDTO.setAttemptTime(voteUsrResp.getAttemptTime().toString()); - userEntryVoteMonitoredUserDTO.setTimeZone(voteUsrResp.getTimeZone()); - userEntryVoteMonitoredUserDTO.setUserName(voteQueUsr.getUsername()); - userEntryVoteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); - userEntryVoteMonitoredUserDTO.setSessionId(sessionId.toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); - - userEntryVoteMonitoredUserDTO.setResponse(voteUsrResp.getUserEntry()); - listMonitoredUserContainerDTO.add(userEntryVoteMonitoredUserDTO); - } - */ - VoteQueContent voteQueContent=voteUsrResp.getVoteQueContent(); logger.debug("voteQueContent: " + voteQueContent); String entry=voteQueContent.getQuestion(); @@ -343,35 +317,8 @@ voteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); voteMonitoredUserDTO.setSessionId(sessionId.toString()); voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); - //voteMonitoredUserDTO.setResponse(voteUsrResp.getUserEntry()); - logger.debug("attempt: " + voteUsrResp); - //VoteQueContent localVoteQueContent=voteUsrResp.getVoteQueContent(); - //logger.debug("localVoteQueContent: " + localVoteQueContent); - //logger.debug("localVoteQueContent question : " + localVoteQueContent.getQuestion()); - //voteMonitoredUserDTO.setResponse(localVoteQueContent.getQuestion()); voteMonitoredUserDTO.setQuestionUid(questionUid); - - /* - boolean isSingleUserEntry=voteUsrResp.isSingleUserEntry(); - logger.debug("isSingleUserEntry: " + isSingleUserEntry); - logger.debug("userEntry: " + voteUsrResp.getUserEntry()); - if ((isSingleUserEntry == false) && (voteUsrResp.getUserEntry().length() > 0)) - { - logger.debug("userEntry available and must be added " + voteUsrResp.getUserEntry()); - VoteMonitoredUserDTO userEntryVoteMonitoredUserDTO = new VoteMonitoredUserDTO(); - - userEntryVoteMonitoredUserDTO.setAttemptTime(voteUsrResp.getAttemptTime().toString()); - userEntryVoteMonitoredUserDTO.setTimeZone(voteUsrResp.getTimeZone()); - userEntryVoteMonitoredUserDTO.setUserName(voteQueUsr.getUsername()); - userEntryVoteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); - userEntryVoteMonitoredUserDTO.setSessionId(sessionId.toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); - - userEntryVoteMonitoredUserDTO.setResponse(voteUsrResp.getUserEntry()); - listMonitoredUserContainerDTO.add(userEntryVoteMonitoredUserDTO); - } - */ VoteQueContent voteQueContent=voteUsrResp.getVoteQueContent(); logger.debug("voteQueContent: " + voteQueContent); @@ -443,37 +390,11 @@ voteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); voteMonitoredUserDTO.setSessionId(sessionId.toString()); - //voteMonitoredUserDTO.setResponse(voteUsrResp.getUserEntry()); logger.debug("attempt: " + voteUsrResp); - //VoteQueContent localVoteQueContent=voteUsrResp.getVoteQueContent(); - //logger.debug("localVoteQueContent: " + localVoteQueContent); - //logger.debug("localVoteQueContent question : " + localVoteQueContent.getQuestion()); - //voteMonitoredUserDTO.setResponse(localVoteQueContent.getQuestion()); voteMonitoredUserDTO.setQuestionUid(questionUid); voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); - /* - boolean isSingleUserEntry=voteUsrResp.isSingleUserEntry(); - logger.debug("isSingleUserEntry: " + isSingleUserEntry); - logger.debug("userEntry: " + voteUsrResp.getUserEntry()); - if ((isSingleUserEntry == false) && (voteUsrResp.getUserEntry().length() > 0)) - { - logger.debug("userEntry available and must be added " + voteUsrResp.getUserEntry()); - VoteMonitoredUserDTO userEntryVoteMonitoredUserDTO = new VoteMonitoredUserDTO(); - - userEntryVoteMonitoredUserDTO.setAttemptTime(voteUsrResp.getAttemptTime().toString()); - userEntryVoteMonitoredUserDTO.setTimeZone(voteUsrResp.getTimeZone()); - userEntryVoteMonitoredUserDTO.setUserName(voteQueUsr.getUsername()); - userEntryVoteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); - userEntryVoteMonitoredUserDTO.setSessionId(sessionId.toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); - - userEntryVoteMonitoredUserDTO.setResponse(voteUsrResp.getUserEntry()); - listMonitoredUserContainerDTO.add(userEntryVoteMonitoredUserDTO); - } - */ - VoteQueContent voteQueContent=voteUsrResp.getVoteQueContent(); logger.debug("voteQueContent: " + voteQueContent); String entry=voteQueContent.getQuestion(); @@ -534,35 +455,9 @@ voteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); voteMonitoredUserDTO.setSessionId(sessionId.toString()); voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); - //voteMonitoredUserDTO.setResponse(voteUsrResp.getUserEntry()); - logger.debug("attempt: " + voteUsrResp); - //VoteQueContent localVoteQueContent=voteUsrResp.getVoteQueContent(); - //logger.debug("localVoteQueContent: " + localVoteQueContent); - //logger.debug("localVoteQueContent question : " + localVoteQueContent.getQuestion()); - //voteMonitoredUserDTO.setResponse(localVoteQueContent.getQuestion()); voteMonitoredUserDTO.setQuestionUid(questionUid); - /* - boolean isSingleUserEntry=voteUsrResp.isSingleUserEntry(); - logger.debug("isSingleUserEntry: " + isSingleUserEntry); - logger.debug("userEntry: " + voteUsrResp.getUserEntry()); - if ((isSingleUserEntry == false) && (voteUsrResp.getUserEntry().length() > 0)) - { - logger.debug("userEntry available and must be added " + voteUsrResp.getUserEntry()); - VoteMonitoredUserDTO userEntryVoteMonitoredUserDTO = new VoteMonitoredUserDTO(); - - userEntryVoteMonitoredUserDTO.setAttemptTime(voteUsrResp.getAttemptTime().toString()); - userEntryVoteMonitoredUserDTO.setTimeZone(voteUsrResp.getTimeZone()); - userEntryVoteMonitoredUserDTO.setUserName(voteQueUsr.getUsername()); - userEntryVoteMonitoredUserDTO.setQueUsrId(voteQueUsr.getUid().toString()); - userEntryVoteMonitoredUserDTO.setSessionId(sessionId.toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrResp.getUserEntry()); - - userEntryVoteMonitoredUserDTO.setResponse(voteUsrResp.getUserEntry()); - listMonitoredUserContainerDTO.add(userEntryVoteMonitoredUserDTO); - } - */ VoteQueContent voteQueContent=voteUsrResp.getVoteQueContent(); logger.debug("voteQueContent: " + voteQueContent); Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java,v diff -u -r1.9 -r1.10 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java 26 Apr 2006 12:36:13 -0000 1.9 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java 27 Apr 2006 12:21:50 -0000 1.10 @@ -274,46 +274,25 @@ /* by now, we know that the mode is either teacher or learner * check if the mode is teacher and request is for Learner Progress */ - String userId=request.getParameter(USER_ID); - logger.debug("userId: " + userId); - if ((userId != null) && (mode.equals("teacher"))) + + String learnerProgressUserId=request.getParameter(USER_ID); + logger.debug("learnerProgressUserId: " + learnerProgressUserId); + + if ((learnerProgressUserId != null) && (mode.equals("teacher"))) { - logger.debug("request is for learner progress"); - commonContentSetup(request, voteContent); + logger.debug("start generating learner progress report."); + Long currentToolSessionId=(Long)request.getSession().getAttribute(TOOL_SESSION_ID); + logger.debug("currentToolSessionId: " + currentToolSessionId); - /* LEARNER_PROGRESS for jsp*/ - request.getSession().setAttribute(LEARNER_PROGRESS_USERID, userId); - request.getSession().setAttribute(LEARNER_PROGRESS, new Boolean(true).toString()); - VoteLearningAction voteLearningAction= new VoteLearningAction(); - /* pay attention that this userId is the learner's userId passed by the request parameter. - * It is differerent than USER_ID kept in the session of the current system user*/ - VoteQueUsr voteQueUsr=voteService.retrieveVoteQueUsr(new Long(userId)); - logger.debug("voteQueUsr:" + voteQueUsr); - if (voteQueUsr == null) - { - VoteUtils.cleanUpSessionAbsolute(request); - persistError(request, "error.learner.required"); - request.getSession().setAttribute(USER_EXCEPTION_LEARNER_REQUIRED, new Boolean(true).toString()); - return (mapping.findForward(ERROR_LIST)); - } - - /* check whether the user's session really referrs to the session id passed to the url*/ - Long sessionUid=voteQueUsr.getVoteSessionId(); - logger.debug("sessionUid" + sessionUid); - VoteSession voteSessionLocal=voteService.getVoteSessionByUID(sessionUid); - logger.debug("checking voteSessionLocal" + voteSessionLocal); - Long toolSessionId=(Long)request.getSession().getAttribute(TOOL_SESSION_ID); - logger.debug("toolSessionId: " + toolSessionId + " versus" + voteSessionLocal); - if ((voteSessionLocal == null) || - (voteSessionLocal.getVoteSessionId().longValue() != toolSessionId.longValue())) - { - VoteUtils.cleanUpSessionAbsolute(request); - request.getSession().setAttribute(USER_EXCEPTION_TOOLSESSIONID_INCONSISTENT, new Boolean(true).toString()); - persistError(request, "error.learner.sessionId.inconsistent"); - return (mapping.findForward(ERROR_LIST)); - } - //return voteLearningAction.viewAnswers(mapping, form, request, response); - return null; + /* the report should have only this user's entries(with userId)*/ + VoteMonitoringAction voteMonitoringAction= new VoteMonitoringAction(); + voteMonitoringAction.refreshSummaryData(request, voteContent, voteService, true, true, currentToolSessionId.toString(), learnerProgressUserId, true); + + request.getSession().setAttribute(REQUEST_LEARNING_REPORT, new Boolean(true).toString()); + request.getSession().setAttribute(REQUEST_LEARNING_REPORT_PROGRESS, new Boolean(true).toString()); + logger.debug("fwd'ing to for learner progress" + LEARNER_REPORT); + return (mapping.findForward(LEARNER_REPORT)); + } /* by now, we know that the mode is learner*/ Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringAction.java,v diff -u -r1.6 -r1.7 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringAction.java 27 Apr 2006 07:45:47 -0000 1.6 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringAction.java 27 Apr 2006 12:21:50 -0000 1.7 @@ -114,7 +114,7 @@ } public void refreshSummaryData(HttpServletRequest request, VoteContent voteContent, IVoteService voteService, - boolean isUserNamesVisible, boolean isLearnerRequest, String currentSessionId, String userId) + boolean isUserNamesVisible, boolean isLearnerRequest, String currentSessionId, String userId, boolean showUserEntriesBySession) { if (voteService == null) { @@ -171,15 +171,17 @@ logger.debug("LIST_MONITORED_ANSWERS_CONTAINER_DTO: " + request.getSession().getAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO)); /* ends here. */ - List listUserEntries=processUserEnteredNominations(voteService); + List listUserEntries=processUserEnteredNominations(voteService, currentSessionId, showUserEntriesBySession); logger.debug("listUserEntries: " + listUserEntries); request.getSession().setAttribute(LIST_USER_ENTRIES, listUserEntries); } - public List processUserEnteredNominations(IVoteService voteService) + public List processUserEnteredNominations(IVoteService voteService, String currentSessionId, boolean showUserEntriesBySession) { - logger.debug("start getting user entries: "); + logger.debug("start getting user entries, showUserEntriesBySession: " + showUserEntriesBySession); + logger.debug("start getting user entries, currentSessionId: " + currentSessionId); + List userEntries=voteService.getUserEntries(); logger.debug("userEntries: " + userEntries); @@ -211,13 +213,30 @@ logger.debug("new DTO created"); VoteUsrAttempt voteUsrAttempt =(VoteUsrAttempt)itUserRecords.next(); logger.debug("voteUsrAttempt: " + voteUsrAttempt); - voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime().toString()); - voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); - voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getUsername()); - voteMonitoredUserDTO.setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid().toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); - - logger.debug("adding user entry: " + voteUsrAttempt.getUserEntry()); + + if (showUserEntriesBySession == false) + { + voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime().toString()); + voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); + voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getUsername()); + voteMonitoredUserDTO.setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid().toString()); + voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); + } + else + { + logger.debug("showUserEntriesBySession is true"); + String userSessionId=voteUsrAttempt.getVoteQueUsr().getVoteSession().getVoteSessionId().toString() ; + logger.debug("userSessionId versus currentSessionId: " + userSessionId + " versus " + currentSessionId); + if (userSessionId.equals(currentSessionId)) + { + logger.debug("this is a requested session id: " + currentSessionId); + voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime().toString()); + voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); + voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getUsername()); + voteMonitoredUserDTO.setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid().toString()); + voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); + } + } listMonitoredUserContainerDTO.add(voteMonitoredUserDTO); } @@ -491,7 +510,45 @@ return voteAction.moveOptionUp(mapping, form, request, response); } + /** + * calls learning action endLearning functionality + * ActionForward endLearning(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException, ToolException + * + * @param mapping + * @param form + * @param request + * @param response + * @return + * @throws IOException + * @throws ServletException + * @throws ToolException + */ + public ActionForward endLearning(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException, ToolException + { + logger.debug("dispatching proxy endLearning to learning module..."); + IVoteService voteService = (IVoteService)request.getSession().getAttribute(TOOL_SERVICE); + logger.debug("voteService: " + voteService); + if (voteService == null) + { + logger.debug("will retrieve voteService"); + voteService = VoteServiceProxy.getVoteService(getServlet().getServletContext()); + logger.debug("retrieving voteService from session: " + voteService); + } + + VoteLearningAction voteLearningAction= new VoteLearningAction(); + return null; + } + + /** * persists error messages to request scope * @param request Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringStarterAction.java,v diff -u -r1.4 -r1.5 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringStarterAction.java 20 Apr 2006 16:09:29 -0000 1.4 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringStarterAction.java 27 Apr 2006 12:21:50 -0000 1.5 @@ -218,7 +218,7 @@ VoteMonitoringAction voteMonitoringAction= new VoteMonitoringAction(); logger.debug("refreshing summary data..."); - voteMonitoringAction.refreshSummaryData(request, voteContent, voteService, true, false, null, null); + voteMonitoringAction.refreshSummaryData(request, voteContent, voteService, true, false, null, null, false); logger.debug("refreshing stats data..."); voteMonitoringAction.refreshStatsData(request); Index: lams_tool_vote/web/WEB-INF/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/WEB-INF/struts-config.xml,v diff -u -r1.10 -r1.11 --- lams_tool_vote/web/WEB-INF/struts-config.xml 24 Apr 2006 12:57:35 -0000 1.10 +++ lams_tool_vote/web/WEB-INF/struts-config.xml 27 Apr 2006 12:21:50 -0000 1.11 @@ -217,7 +217,13 @@ path="/learning/AnswersContent.jsp" redirect="false" /> - + + + - + - + @@ -67,7 +67,7 @@ -> - + Index: lams_tool_vote/web/monitoring/LearnerRep.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/monitoring/Attic/LearnerRep.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_vote/web/monitoring/LearnerRep.jsp 20 Apr 2006 12:23:29 -0000 1.1 +++ lams_tool_vote/web/monitoring/LearnerRep.jsp 27 Apr 2006 12:21:50 -0000 1.2 @@ -19,6 +19,7 @@ http://www.gnu.org/licenses/gpl.txt --%> + <%@ taglib uri="tags-bean" prefix="bean"%> <%@ taglib uri="tags-html" prefix="html"%> <%@ taglib uri="tags-logic" prefix="logic" %> @@ -30,43 +31,37 @@ - - - + + + - <bean:message key="label.learning.report"/> - + <bean:message key="label.learning.report"/> - - + - - css/tool_custom.css" rel="stylesheet" type="text/css"> - + + + + + + + + @@ -93,10 +88,6 @@ - -
- -