Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dto/ScribeSessionDTO.java =================================================================== diff -u -r893a9fc55bf32709c48cc4c1e235d1191beaf085 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dto/ScribeSessionDTO.java (.../ScribeSessionDTO.java) (revision 893a9fc55bf32709c48cc4c1e235d1191beaf085) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dto/ScribeSessionDTO.java (.../ScribeSessionDTO.java) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -41,7 +41,7 @@ Set userDTOs; - int numberOfPosts; + int numberOfVotes; int numberOfLearners; @@ -116,12 +116,12 @@ this.numberOfLearners = numberOfLearners; } - public int getNumberOfPosts() { - return numberOfPosts; + public int getNumberOfVotes() { + return numberOfVotes; } - public void setNumberOfPosts(int numberOfPosts) { - this.numberOfPosts = numberOfPosts; + public void setNumberOfVotes(int numberOfVotes) { + this.numberOfVotes = numberOfVotes; } public Set getReportDTOs() { Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/IScribeService.java =================================================================== diff -u -r74267305b37a60850dca2e40d5dcb975fe2efc32 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/IScribeService.java (.../IScribeService.java) (revision 74267305b37a60850dca2e40d5dcb975fe2efc32) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/IScribeService.java (.../IScribeService.java) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -149,6 +149,4 @@ public NotebookEntry getEntry(Long id, Integer idType, String signature, Integer userID); - -// public void saveOrUpdateScribeHeading(ScribeHeading heading); } \ No newline at end of file Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java =================================================================== diff -u -r84283f3449a27ed45130e07c53d2cefc451ba537 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision 84283f3449a27ed45130e07c53d2cefc451ba537) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -98,8 +98,6 @@ private IScribeUserDAO scribeUserDAO = null; private IScribeAttachmentDAO scribeAttachmentDAO = null; - - private IScribeHeadingDAO scribeHeadingDAO = null; private ILearnerService learnerService; @@ -415,10 +413,6 @@ scribeUserDAO.saveOrUpdate(scribeUser); } -// public void saveOrUpdateScribeHeading(ScribeHeading heading) { -// scribeHeadingDAO.saveOrUpdate(heading); -// } - public synchronized ScribeUser createScribeUser(UserDTO user, ScribeSession scribeSession) { ScribeUser scribeUser = new ScribeUser(user, scribeSession); Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java =================================================================== diff -u -r84283f3449a27ed45130e07c53d2cefc451ba537 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java (.../LearningAction.java) (revision 84283f3449a27ed45130e07c53d2cefc451ba537) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java (.../LearningAction.java) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -71,6 +71,7 @@ * @struts.action-forward name="runOffline" path="tiles:/learning/runOffline" * @struts.action-forward name="defineLater" path="tiles:/learning/defineLater" * @struts.action-forward name="notebook" path="tiles:/learning/notebook" + * @struts.action-forward name="voteCount" path="/pages/learning/voteCount.jsp" */ public class LearningAction extends LamsDispatchAction { @@ -130,27 +131,8 @@ ((LearningForm)form).setToolSessionID(scribeSession.getSessionId()); request.setAttribute("MODE", mode.toString()); - - ScribeDTO scribeDTO = new ScribeDTO(scribe); - request.setAttribute("scribeDTO", scribeDTO); - - ScribeSessionDTO sessionDTO = new ScribeSessionDTO(scribeSession); - request.setAttribute("scribeSessionDTO", sessionDTO); + setupDTOs(request, scribeSession, scribeUser); - ScribeUserDTO scribeUserDTO = new ScribeUserDTO(scribeUser); - request.setAttribute("scribeUserDTO", scribeUserDTO); - - if (scribeUser.isFinishedActivity()) { - // get the notebook entry. - NotebookEntry notebookEntry = scribeService.getEntry(toolSessionID, - CoreNotebookConstants.NOTEBOOK_TOOL, - ScribeConstants.TOOL_SIGNATURE, scribeUser.getUserId() - .intValue()); - if (notebookEntry != null) { - scribeUserDTO.notebookEntry = notebookEntry.getEntry(); - } - } - // Ensure that the content is use flag is set. if (!scribe.isContentInUse()) { scribe.setContentInUse(new Boolean(true)); @@ -292,17 +274,8 @@ scribeService.saveOrUpdateScribeSession(session); request.setAttribute("MODE", lrnForm.getMode()); - - // build dto's - ScribeDTO scribeDTO = new ScribeDTO(session.getScribe()); - request.setAttribute("scribeDTO", scribeDTO); + setupDTOs(request, session, scribeUser); - ScribeSessionDTO sessionDTO = new ScribeSessionDTO(session); - request.setAttribute("scribeSessionDTO", sessionDTO); - - ScribeUserDTO scribeUserDTO = new ScribeUserDTO(scribeUser); - request.setAttribute("scribeUserDTO", scribeUserDTO); - return mapping.findForward("scribe"); } @@ -319,20 +292,69 @@ scribeUser.setReportApproved(true); request.setAttribute("MODE", lrnForm.getMode()); + setupDTOs(request, session, scribeUser); - // build dto's - // TODO the following code is being reused over and over, need to refactor - ScribeDTO scribeDTO = new ScribeDTO(session.getScribe()); + scribeService.saveOrUpdateScribeUser(scribeUser); + + return mapping.findForward("learning"); + } + + public ActionForward getVoteCount(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + + Long toolSessionID = WebUtil.readLongParam(request, "toolSessionID"); + + ScribeSession session = scribeService.getSessionBySessionId(toolSessionID); + + int voteCount = 0; + + for (Iterator iter = session.getScribeUsers().iterator(); iter.hasNext();) { + ScribeUser user = (ScribeUser) iter.next(); + + if (user.isReportApproved()) { + voteCount++; + } + } + + request.setAttribute("voteCount", voteCount); + + return mapping.findForward("voteCount"); + } + + + // Private methods. + + private void setupDTOs(HttpServletRequest request, ScribeSession scribeSession, ScribeUser scribeUser) { + + ScribeDTO scribeDTO = new ScribeDTO(scribeSession.getScribe()); request.setAttribute("scribeDTO", scribeDTO); - ScribeSessionDTO sessionDTO = new ScribeSessionDTO(session); + ScribeSessionDTO sessionDTO = new ScribeSessionDTO(scribeSession); + + int numberOfVotes = 0; + for (Iterator iter = scribeSession.getScribeUsers().iterator(); iter.hasNext();) { + ScribeUser user = (ScribeUser) iter.next(); + if (user.isReportApproved()) { + numberOfVotes++; + } + } + + // TODO + sessionDTO.setNumberOfVotes(numberOfVotes); + sessionDTO.setNumberOfLearners(scribeSession.getScribeUsers().size()); request.setAttribute("scribeSessionDTO", sessionDTO); ScribeUserDTO scribeUserDTO = new ScribeUserDTO(scribeUser); + if (scribeUser.isFinishedActivity()) { + // get the notebook entry. + NotebookEntry notebookEntry = scribeService.getEntry(scribeSession.getSessionId(), + CoreNotebookConstants.NOTEBOOK_TOOL, + ScribeConstants.TOOL_SIGNATURE, scribeUser.getUserId() + .intValue()); + if (notebookEntry != null) { + scribeUserDTO.notebookEntry = notebookEntry.getEntry(); + } + } request.setAttribute("scribeUserDTO", scribeUserDTO); - - scribeService.saveOrUpdateScribeUser(scribeUser); - - return mapping.findForward("learning"); } } Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/MonitoringAction.java =================================================================== diff -u -r893a9fc55bf32709c48cc4c1e235d1191beaf085 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision 893a9fc55bf32709c48cc4c1e235d1191beaf085) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -132,6 +132,7 @@ ScribeSession session = (ScribeSession) sessIter.next(); ScribeSessionDTO sessionDTO = new ScribeSessionDTO(session); + int numberOfVotes = 0; for (Iterator userIter = session.getScribeUsers().iterator(); userIter .hasNext();) { @@ -147,11 +148,16 @@ userDTO.finishedReflection = true; } else { userDTO.finishedReflection = false; - } + } + if (user.isReportApproved()) { + numberOfVotes++; + } + sessionDTO.getUserDTOs().add(userDTO); } - + sessionDTO.setNumberOfLearners(session.getScribeUsers().size()); + sessionDTO.setNumberOfVotes(numberOfVotes); scribeDTO.getSessionDTOs().add(sessionDTO); } Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/servlets/ExportServlet.java =================================================================== diff -u -raee0cad2ca403ec58fcfcfd4070747bac2a0cd9d -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/servlets/ExportServlet.java (.../ExportServlet.java) (revision aee0cad2ca403ec58fcfcfd4070747bac2a0cd9d) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/servlets/ExportServlet.java (.../ExportServlet.java) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -65,7 +65,8 @@ HttpServletResponse response, String directoryName, Cookie[] cookies) { if (scribeService == null) { - scribeService = ScribeServiceProxy.getScribeService(getServletContext()); + scribeService = ScribeServiceProxy + .getScribeService(getServletContext()); } try { @@ -110,10 +111,10 @@ // get the scribe user UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( AttributeNames.USER); - - ScribeUser scribeUser = scribeService.getUserByUserIdAndSessionId(new Long( - user.getUserID()), toolSessionID); + ScribeUser scribeUser = scribeService.getUserByUserIdAndSessionId( + new Long(user.getUserID()), toolSessionID); + // construct session DTO. ScribeSessionDTO sessionDTO = new ScribeSessionDTO(scribeSession); @@ -157,20 +158,29 @@ Scribe scribe = scribeService.getScribeByContentId(toolContentID); ScribeDTO scribeDTO = new ScribeDTO(scribe); - for (Iterator iter = scribe.getScribeSessions().iterator(); iter.hasNext();) { + for (Iterator iter = scribe.getScribeSessions().iterator(); iter + .hasNext();) { ScribeSession session = (ScribeSession) iter.next(); ScribeSessionDTO sessionDTO = new ScribeSessionDTO(session); + + int numberOfVotes = 0; + for (Iterator iterator = session.getScribeUsers().iterator(); iterator + .hasNext();) { + ScribeUser user = (ScribeUser) iterator.next(); + + // count the votes + if (user.isReportApproved()) { + numberOfVotes++; + } + + // if reflectOnActivity is enabled add all userDTO. + if (session.getScribe().isReflectOnActivity()) { - // if reflectOnActivity is enabled add all userDTO. - if (session.getScribe().isReflectOnActivity()) { - - for (Iterator iterator = session.getScribeUsers().iterator(); iterator - .hasNext();) { - ScribeUser user = (ScribeUser) iterator.next(); ScribeUserDTO userDTO = new ScribeUserDTO(user); // get the entry. - NotebookEntry entry = scribeService.getEntry(session.getSessionId(), + NotebookEntry entry = scribeService.getEntry(session + .getSessionId(), CoreNotebookConstants.NOTEBOOK_TOOL, ScribeConstants.TOOL_SIGNATURE, user.getUserId() .intValue()); @@ -183,6 +193,9 @@ sessionDTO.getUserDTOs().add(userDTO); } } + + sessionDTO.setNumberOfLearners(session.getScribeUsers().size()); + sessionDTO.setNumberOfVotes(numberOfVotes); scribeDTO.getSessionDTOs().add(sessionDTO); } request.getSession().setAttribute("scribeDTO", scribeDTO); Index: lams_tool_scribe/web/pages/export/exportPortfolio.jsp =================================================================== diff -u -raee0cad2ca403ec58fcfcfd4070747bac2a0cd9d -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/web/pages/export/exportPortfolio.jsp (.../exportPortfolio.jsp) (revision aee0cad2ca403ec58fcfcfd4070747bac2a0cd9d) +++ lams_tool_scribe/web/pages/export/exportPortfolio.jsp (.../exportPortfolio.jsp) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -55,6 +55,23 @@

+ ?Total Number of Learners? +
+ +

+ ${session.numberOfLearners} +

+ +
+ ?Number of Votes? +
+ +

+ ${session.numberOfVotes} +

+ + +
?Report?

Index: lams_tool_scribe/web/pages/learning/learning.jsp =================================================================== diff -u -r84283f3449a27ed45130e07c53d2cefc451ba537 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/web/pages/learning/learning.jsp (.../learning.jsp) (revision 84283f3449a27ed45130e07c53d2cefc451ba537) +++ lams_tool_scribe/web/pages/learning/learning.jsp (.../learning.jsp) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -12,7 +12,6 @@ } -

@@ -22,16 +21,28 @@

${scribeDTO.instructions}

+ +
+ ?Number of Votes? +
+ +

+ ${scribeSessionDTO.numberOfVotes} +

+ +
+ ?Headings? +
-

+

${reportDTO.headingDTO.headingText} -

+

Index: lams_tool_scribe/web/pages/learning/scribe.jsp =================================================================== diff -u -r893a9fc55bf32709c48cc4c1e235d1191beaf085 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/web/pages/learning/scribe.jsp (.../scribe.jsp) (revision 893a9fc55bf32709c48cc4c1e235d1191beaf085) +++ lams_tool_scribe/web/pages/learning/scribe.jsp (.../scribe.jsp) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -1,5 +1,34 @@ <%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + +

@@ -15,10 +44,21 @@ +
+ ?Number of Votes? +
+ +

+ ${scribeSessionDTO.numberOfVotes} +

+ +
+ ?Headings? +
-

+

${reportDTO.headingDTO.headingText} -

+

Index: lams_tool_scribe/web/pages/learning/voteCount.jsp =================================================================== diff -u --- lams_tool_scribe/web/pages/learning/voteCount.jsp (revision 0) +++ lams_tool_scribe/web/pages/learning/voteCount.jsp (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -0,0 +1 @@ +${voteCount} \ No newline at end of file Index: lams_tool_scribe/web/pages/monitoring/summary.jsp =================================================================== diff -u -r893a9fc55bf32709c48cc4c1e235d1191beaf085 -r7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b --- lams_tool_scribe/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 893a9fc55bf32709c48cc4c1e235d1191beaf085) +++ lams_tool_scribe/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 7d8d96ba15203a9f3f8898c4a0fc4a4406b9475b) @@ -60,6 +60,22 @@

+ ?Total Number of Learners? +
+ +

+ ${session.numberOfLearners} +

+ +
+ ?Number of Votes? +
+ +

+ ${session.numberOfVotes} +

+ +
?Report?