Index: lams_tool_vote/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/conf/language/lams/ApplicationResources_en_AU.properties,v diff -u -r1.32 -r1.33 --- lams_tool_vote/conf/language/lams/ApplicationResources_en_AU.properties 25 Jan 2014 11:44:32 -0000 1.32 +++ lams_tool_vote/conf/language/lams/ApplicationResources_en_AU.properties 29 Jan 2014 20:20:41 -0000 1.33 @@ -159,6 +159,6 @@ button.submitActivity =Finish label.total.number.students.voted =A total of {0} over {1} learners have voted label.all.groups.total =All groups total +label.info.use.select.leader.outputs =Group leader's option is enabled - #======= End labels: Exported 153 labels for en AU ===== 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.56 -r1.57 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteAppConstants.java 28 Jan 2014 23:05:51 -0000 1.56 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteAppConstants.java 29 Jan 2014 20:20:41 -0000 1.57 @@ -259,7 +259,6 @@ /* * Monitoring Mode constants */ - public static final String CURRENT_MONITORING_TAB = "currentMonitoringTab"; public static final String REPORT_TITLE_MONITOR = "reportTitleMonitor"; public static final String MONITOR_USER_ID = "userId"; public static final String MONITORING_REPORT = "monitoringReport"; Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteGeneralMonitoringDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/Attic/VoteGeneralMonitoringDTO.java,v diff -u -r1.5 -r1.6 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteGeneralMonitoringDTO.java 23 Jan 2014 23:53:14 -0000 1.5 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/VoteGeneralMonitoringDTO.java 29 Jan 2014 20:20:41 -0000 1.6 @@ -35,7 +35,6 @@ * @author Ozgur Demirtas */ public class VoteGeneralMonitoringDTO implements Comparable { - protected String currentMonitoringTab; protected String defineLaterInEditMode; protected String requestLearningReport; protected String userExceptionNoToolSessions; @@ -197,21 +196,6 @@ } /** - * @return Returns the currentMonitoringTab. - */ - public String getCurrentMonitoringTab() { - return currentMonitoringTab; - } - - /** - * @param currentMonitoringTab - * The currentMonitoringTab to set. - */ - public void setCurrentMonitoringTab(String currentMonitoringTab) { - this.currentMonitoringTab = currentMonitoringTab; - } - - /** * @return Returns the defineLaterInEditMode. */ public String getDefineLaterInEditMode() { @@ -574,7 +558,7 @@ public String toString() { return new ToStringBuilder(this).append("toolContentID: ", toolContentID) .append("activeModule: ", activeModule).append("monitoredContentInUse: ", monitoredContentInUse) - .append("currentMonitoringTab: ", currentMonitoringTab).append("currentTab: ", currentTab) + .append("currentTab: ", currentTab) .append("requestLearningReport: ", requestLearningReport) .append("userExceptionNoToolSessions: ", userExceptionNoToolSessions) .append("userExceptionContentDoesNotExist: ", userExceptionContentDoesNotExist) Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java,v diff -u -r1.47 -r1.48 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java 28 Jan 2014 23:05:51 -0000 1.47 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java 29 Jan 2014 20:20:41 -0000 1.48 @@ -37,9 +37,11 @@ import org.lamsfoundation.lams.tool.exception.DataMissingException; import org.lamsfoundation.lams.tool.exception.SessionDataExistsException; import org.lamsfoundation.lams.tool.exception.ToolException; +import org.lamsfoundation.lams.tool.vote.ReflectionDTO; import org.lamsfoundation.lams.tool.vote.SessionDTO; import org.lamsfoundation.lams.tool.vote.VoteApplicationException; import org.lamsfoundation.lams.tool.vote.VoteGeneralLearnerFlowDTO; +import org.lamsfoundation.lams.tool.vote.VoteMonitoredAnswersDTO; import org.lamsfoundation.lams.tool.vote.pojos.VoteContent; import org.lamsfoundation.lams.tool.vote.pojos.VoteQueContent; import org.lamsfoundation.lams.tool.vote.pojos.VoteQueUsr; @@ -96,6 +98,11 @@ */ LinkedList getSessionDTOs(Long toolContentID); + List processUserEnteredNominations(VoteContent voteContent, String currentSessionId, + boolean showUserEntriesBySession, String userId, boolean showUserEntriesByUserId); + + List getReflectionData(VoteContent voteContent, Long userID); + void createVote(VoteContent voteContent) throws VoteApplicationException; VoteContent retrieveVote(Long toolContentID) throws VoteApplicationException; Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java,v diff -u -r1.76 -r1.77 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java 28 Jan 2014 23:05:51 -0000 1.76 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java 29 Jan 2014 20:20:41 -0000 1.77 @@ -54,6 +54,7 @@ import org.lamsfoundation.lams.learningdesign.service.ImportToolContentException; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; @@ -69,12 +70,14 @@ import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; import org.lamsfoundation.lams.tool.service.ILamsToolService; +import org.lamsfoundation.lams.tool.vote.ReflectionDTO; import org.lamsfoundation.lams.tool.vote.SessionDTO; import org.lamsfoundation.lams.tool.vote.VoteAppConstants; import org.lamsfoundation.lams.tool.vote.VoteApplicationException; import org.lamsfoundation.lams.tool.vote.VoteComparator; import org.lamsfoundation.lams.tool.vote.VoteGeneralLearnerFlowDTO; import org.lamsfoundation.lams.tool.vote.VoteMonitoredAnswersDTO; +import org.lamsfoundation.lams.tool.vote.VoteMonitoredUserDTO; import org.lamsfoundation.lams.tool.vote.VoteUtils; import org.lamsfoundation.lams.tool.vote.dao.IVoteContentDAO; import org.lamsfoundation.lams.tool.vote.dao.IVoteQueContentDAO; @@ -86,6 +89,7 @@ import org.lamsfoundation.lams.tool.vote.pojos.VoteQueUsr; import org.lamsfoundation.lams.tool.vote.pojos.VoteSession; import org.lamsfoundation.lams.tool.vote.pojos.VoteUsrAttempt; +import org.lamsfoundation.lams.tool.vote.web.MonitoringUtil; import org.lamsfoundation.lams.tool.vote.web.VoteMonitoringAction; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; @@ -424,8 +428,8 @@ sessionDTO.setMapStandardQuestionUid(mapStandardQuestionUid); sessionDTO.setMapStandardToolSessionUid(mapStandardToolSessionUid); - List openVotes = VoteMonitoringAction.processUserEnteredNominations(this, - voteContent, session.getVoteSessionId().toString(), true, null, false); + List openVotes = this.processUserEnteredNominations(voteContent, session + .getVoteSessionId().toString(), true, null, false); sessionDTO.setOpenVotes(openVotes); boolean isExistsOpenVote = openVotes.size() > 0; sessionDTO.setExistsOpenVote(isExistsOpenVote); @@ -516,6 +520,159 @@ return sessionDTOs; } + @Override + public List processUserEnteredNominations(VoteContent voteContent, + String currentSessionId, boolean showUserEntriesBySession, String userId, boolean showUserEntriesByUserId) { + Set userEntries = this.getUserEntries(); + + List listUserEntries = new LinkedList(); + + Iterator itListNominations = userEntries.iterator(); + while (itListNominations.hasNext()) { + String userEntry = (String) itListNominations.next(); + + if (userEntry != null && userEntry.length() > 0) { + VoteMonitoredAnswersDTO voteMonitoredAnswersDTO = new VoteMonitoredAnswersDTO(); + voteMonitoredAnswersDTO.setQuestion(userEntry); + + List userRecords = this.getUserRecords(userEntry); + List listMonitoredUserContainerDTO = new LinkedList(); + + Iterator itUserRecords = userRecords.iterator(); + while (itUserRecords.hasNext()) { + VoteMonitoredUserDTO voteMonitoredUserDTO = new VoteMonitoredUserDTO(); + VoteUsrAttempt voteUsrAttempt = (VoteUsrAttempt) itUserRecords.next(); + + VoteSession localUserSession = voteUsrAttempt.getVoteQueUsr().getVoteSession(); + + if (showUserEntriesBySession == false) { + if (voteContent.getUid().toString().equals(localUserSession.getVoteContentId().toString())) { + voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime()); + voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); + voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getFullname()); + voteMonitoredUserDTO.setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid().toString()); + voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); + voteMonitoredUserDTO.setUid(voteUsrAttempt.getUid().toString()); + voteMonitoredUserDTO.setVisible(new Boolean(voteUsrAttempt.isVisible()).toString()); + listMonitoredUserContainerDTO.add(voteMonitoredUserDTO); + } + } else { + // showUserEntriesBySession is true: the case with learner export portfolio + // show user entries by same content and same session and same user + String userSessionId = voteUsrAttempt.getVoteQueUsr().getVoteSession().getVoteSessionId() + .toString(); + + if (showUserEntriesByUserId == true) { + if (voteContent.getUid().toString().equals(localUserSession.getVoteContentId().toString())) { + if (userSessionId.equals(currentSessionId)) { + String localUserId = voteUsrAttempt.getVoteQueUsr().getQueUsrId().toString(); + if (userId.equals(localUserId)) { + voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime()); + voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); + voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getFullname()); + voteMonitoredUserDTO.setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid() + .toString()); + voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); + listMonitoredUserContainerDTO.add(voteMonitoredUserDTO); + voteMonitoredUserDTO.setUid(voteUsrAttempt.getUid().toString()); + voteMonitoredUserDTO.setVisible(new Boolean(voteUsrAttempt.isVisible()) + .toString()); + if (voteUsrAttempt.isVisible() == false) { + voteMonitoredAnswersDTO.setQuestion("Nomination Hidden"); + } + + } + } + } + } else { + // showUserEntriesByUserId is false + // show user entries by same content and same session + if (voteContent.getUid().toString().equals(localUserSession.getVoteContentId().toString())) { + if (userSessionId.equals(currentSessionId)) { + voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime()); + voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); + voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getFullname()); + voteMonitoredUserDTO + .setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid().toString()); + voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); + listMonitoredUserContainerDTO.add(voteMonitoredUserDTO); + voteMonitoredUserDTO.setUid(voteUsrAttempt.getUid().toString()); + voteMonitoredUserDTO.setVisible(new Boolean(voteUsrAttempt.isVisible()).toString()); + } + } + } + } + + } + + if (listMonitoredUserContainerDTO.size() > 0) { + Map mapMonitoredUserContainerDTO = MonitoringUtil + .convertToVoteMonitoredUserDTOMap(listMonitoredUserContainerDTO); + + voteMonitoredAnswersDTO.setQuestionAttempts(mapMonitoredUserContainerDTO); + listUserEntries.add(voteMonitoredAnswersDTO); + } + } + } + + return listUserEntries; + } + + @Override + public List getReflectionData(VoteContent voteContent, Long userID) { + List reflectionsContainerDTO = new LinkedList(); + + if (userID == null) { + for (Iterator sessionIter = voteContent.getVoteSessions().iterator(); sessionIter.hasNext();) { + VoteSession voteSession = (VoteSession) sessionIter.next(); + + for (Iterator userIter = voteSession.getVoteQueUsers().iterator(); userIter.hasNext();) { + VoteQueUsr user = (VoteQueUsr) userIter.next(); + + NotebookEntry notebookEntry = this.getEntry(voteSession.getVoteSessionId(), + CoreNotebookConstants.NOTEBOOK_TOOL, VoteAppConstants.MY_SIGNATURE, new Integer(user + .getQueUsrId().toString())); + + if (notebookEntry != null) { + ReflectionDTO reflectionDTO = new ReflectionDTO(); + reflectionDTO.setUserId(user.getQueUsrId().toString()); + reflectionDTO.setSessionId(voteSession.getVoteSessionId().toString()); + reflectionDTO.setUserName(user.getFullname()); + reflectionDTO.setReflectionUid(notebookEntry.getUid().toString()); + String notebookEntryPresentable = VoteUtils.replaceNewLines(notebookEntry.getEntry()); + reflectionDTO.setEntry(notebookEntryPresentable); + reflectionsContainerDTO.add(reflectionDTO); + } + } + } + } else { + for (Iterator sessionIter = voteContent.getVoteSessions().iterator(); sessionIter.hasNext();) { + VoteSession voteSession = (VoteSession) sessionIter.next(); + for (Iterator userIter = voteSession.getVoteQueUsers().iterator(); userIter.hasNext();) { + VoteQueUsr user = (VoteQueUsr) userIter.next(); + if (user.getQueUsrId().equals(userID)) { + NotebookEntry notebookEntry = this.getEntry(voteSession.getVoteSessionId(), + CoreNotebookConstants.NOTEBOOK_TOOL, VoteAppConstants.MY_SIGNATURE, new Integer(user + .getQueUsrId().toString())); + + if (notebookEntry != null) { + ReflectionDTO reflectionDTO = new ReflectionDTO(); + reflectionDTO.setUserId(user.getQueUsrId().toString()); + reflectionDTO.setSessionId(voteSession.getVoteSessionId().toString()); + reflectionDTO.setUserName(user.getFullname()); + reflectionDTO.setReflectionUid(notebookEntry.getUid().toString()); + String notebookEntryPresentable = VoteUtils.replaceNewLines(notebookEntry.getEntry()); + reflectionDTO.setEntry(notebookEntryPresentable); + reflectionsContainerDTO.add(reflectionDTO); + } + } + } + } + } + + return reflectionsContainerDTO; + } + public void createVote(VoteContent voteContent) throws VoteApplicationException { try { voteContentDAO.saveVoteContent(voteContent); Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java,v diff -u -r1.30 -r1.31 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java 23 Jan 2014 23:53:16 -0000 1.30 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java 29 Jan 2014 20:20:41 -0000 1.31 @@ -23,6 +23,8 @@ package org.lamsfoundation.lams.tool.vote.web; +import java.util.List; + import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -31,6 +33,7 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.vote.ExportPortfolioDTO; +import org.lamsfoundation.lams.tool.vote.ReflectionDTO; import org.lamsfoundation.lams.tool.vote.VoteAppConstants; import org.lamsfoundation.lams.tool.vote.VoteApplicationException; import org.lamsfoundation.lams.tool.vote.VoteGeneralMonitoringDTO; @@ -108,12 +111,14 @@ VoteGeneralMonitoringDTO voteGeneralMonitoringDTO = new VoteGeneralMonitoringDTO(); - VoteMonitoringAction voteMonitoringAction = new VoteMonitoringAction(); - voteMonitoringAction.refreshSummaryData(request, content, voteService, true, true, + VoteMonitoringStarterAction.refreshSummaryData(request, content, voteService, true, true, toolSessionID.toString(), userID.toString(), true, null, voteGeneralMonitoringDTO, exportPortfolioDTO); - voteMonitoringAction.prepareReflectionData(request, content, voteService, userID.toString(), true); + List reflectionsContainerDTO = voteService.getReflectionData(content, userID); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); + request.getSession().setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); + } else { // thise field is needed for the jsp. exportPortfolioDTO.setUserExceptionNoToolSessions("false"); @@ -146,13 +151,14 @@ exportPortfolioDTO.setAllowText(content.isAllowText()); VoteGeneralMonitoringDTO voteGeneralMonitoringDTO = new VoteGeneralMonitoringDTO(); - VoteMonitoringAction voteMonitoringAction = new VoteMonitoringAction(); - voteMonitoringAction.refreshSummaryData(request, content, voteService, true, false, null, null, false, null, + VoteMonitoringStarterAction.refreshSummaryData(request, content, voteService, true, false, null, null, false, null, voteGeneralMonitoringDTO, exportPortfolioDTO); request.getSession().setAttribute(VoteAppConstants.EXPORT_PORTFOLIO_DTO, exportPortfolioDTO); - voteMonitoringAction.prepareReflectionData(request, content, voteService, null, true); + List reflectionsContainerDTO = voteService.getReflectionData(content, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); + request.getSession().setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); } } \ No newline at end of file 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.54 -r1.55 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringAction.java 28 Jan 2014 23:05:51 -0000 1.54 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringAction.java 29 Jan 2014 20:20:41 -0000 1.55 @@ -90,217 +90,6 @@ return null; } - public static void refreshSummaryData(HttpServletRequest request, VoteContent voteContent, IVoteService voteService, - boolean isUserNamesVisible, boolean isLearnerRequest, String currentSessionId, String userId, - boolean showUserEntriesBySession, VoteGeneralLearnerFlowDTO voteGeneralLearnerFlowDTO, - VoteGeneralMonitoringDTO voteGeneralMonitoringDTO, ExportPortfolioDTO exportPortfolioDTO) { - - /* this section is related to summary tab. Starts here. */ - - if (voteService.studentActivityOccurredStandardAndOpen(voteContent)) { - if (voteGeneralMonitoringDTO != null) { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); - } - } else { - if (voteGeneralMonitoringDTO != null) { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); - } - } - - String userExceptionNoToolSessions = voteGeneralMonitoringDTO.getUserExceptionNoToolSessions(); - if (exportPortfolioDTO != null) { - exportPortfolioDTO.setUserExceptionNoToolSessions(userExceptionNoToolSessions); - } - - List listQuestions = voteService.getAllQuestionEntries(voteContent.getUid()); - - List listMonitoredAnswersContainerDTO = new LinkedList(); - - Iterator itListQuestions = listQuestions.iterator(); - while (itListQuestions.hasNext()) { - VoteQueContent voteQueContent = (VoteQueContent) itListQuestions.next(); - - if (voteQueContent != null) { - VoteMonitoredAnswersDTO voteMonitoredAnswersDTO = new VoteMonitoredAnswersDTO(); - voteMonitoredAnswersDTO.setQuestionUid(voteQueContent.getUid().toString()); - voteMonitoredAnswersDTO.setQuestion(voteQueContent.getQuestion()); - - Map questionAttemptData = MonitoringUtil.buildGroupsAttemptData(request, voteContent, voteQueContent, - voteQueContent.getUid().toString(), isUserNamesVisible, isLearnerRequest, currentSessionId, - userId, voteService); - voteMonitoredAnswersDTO.setQuestionAttempts(questionAttemptData); - listMonitoredAnswersContainerDTO.add(voteMonitoredAnswersDTO); - - } - } - /* ends here. */ - - List listUserEntries = processUserEnteredNominations(voteService, voteContent, currentSessionId, - showUserEntriesBySession, userId, isLearnerRequest); - - if (voteGeneralLearnerFlowDTO != null) { - voteGeneralLearnerFlowDTO.setListMonitoredAnswersContainerDto(listMonitoredAnswersContainerDTO); - voteGeneralLearnerFlowDTO.setListUserEntries(listUserEntries); - } - - if (exportPortfolioDTO != null) { - exportPortfolioDTO.setListMonitoredAnswersContainerDto(listMonitoredAnswersContainerDTO); - exportPortfolioDTO.setListUserEntries(listUserEntries); - } - - if (voteGeneralMonitoringDTO != null) { - voteGeneralMonitoringDTO.setListMonitoredAnswersContainerDto(listMonitoredAnswersContainerDTO); - voteGeneralMonitoringDTO.setListUserEntries(listUserEntries); - - voteGeneralMonitoringDTO.setExistsOpenVotes(new Boolean(false).toString()); - if (listUserEntries.size() > 0) { - voteGeneralMonitoringDTO.setExistsOpenVotes(new Boolean(true).toString()); - } - } - - boolean isContentInUse = VoteUtils.isContentInUse(voteContent); - voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(false).toString()); - if (isContentInUse == true) { - //monitoring url does not allow editActivity since the content is in use - voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(true).toString()); - } - - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); - - if (voteService.studentActivityOccurredGlobal(voteContent)) { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); - } else { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); - } - - request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); - - EditActivityDTO editActivityDTO = new EditActivityDTO(); - isContentInUse = VoteUtils.isContentInUse(voteContent); - if (isContentInUse == true) { - editActivityDTO.setMonitoredContentInUse(new Boolean(true).toString()); - } - request.setAttribute(VoteAppConstants.EDIT_ACTIVITY_DTO, editActivityDTO); - - /* find out if there are any reflection entries, from here */ - boolean notebookEntriesExist = MonitoringUtil.notebookEntriesExist(voteService, voteContent); - - if (notebookEntriesExist) { - request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); - - userExceptionNoToolSessions = voteGeneralMonitoringDTO.getUserExceptionNoToolSessions(); - - if (userExceptionNoToolSessions.equals("true")) { - //there are no online student activity but there are reflections - request.setAttribute(VoteAppConstants.NO_SESSIONS_NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); - } - } else { - request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(false).toString()); - } - /* ... till here */ - - MonitoringUtil.buildVoteStatsDTO(request, voteService, voteContent); - - } - - public static List processUserEnteredNominations(IVoteService voteService, VoteContent voteContent, - String currentSessionId, boolean showUserEntriesBySession, String userId, boolean showUserEntriesByUserId) { - Set userEntries = voteService.getUserEntries(); - - List listUserEntries = new LinkedList(); - - Iterator itListNominations = userEntries.iterator(); - while (itListNominations.hasNext()) { - String userEntry = (String) itListNominations.next(); - - if (userEntry != null && userEntry.length() > 0) { - VoteMonitoredAnswersDTO voteMonitoredAnswersDTO = new VoteMonitoredAnswersDTO(); - voteMonitoredAnswersDTO.setQuestion(userEntry); - - List userRecords = voteService.getUserRecords(userEntry); - List listMonitoredUserContainerDTO = new LinkedList(); - - Iterator itUserRecords = userRecords.iterator(); - while (itUserRecords.hasNext()) { - VoteMonitoredUserDTO voteMonitoredUserDTO = new VoteMonitoredUserDTO(); - VoteUsrAttempt voteUsrAttempt = (VoteUsrAttempt) itUserRecords.next(); - - VoteSession localUserSession = voteUsrAttempt.getVoteQueUsr().getVoteSession(); - - if (showUserEntriesBySession == false) { - if (voteContent.getUid().toString().equals(localUserSession.getVoteContentId().toString())) { - voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime()); - voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); - voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getFullname()); - voteMonitoredUserDTO.setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid().toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); - voteMonitoredUserDTO.setUid(voteUsrAttempt.getUid().toString()); - voteMonitoredUserDTO.setVisible(new Boolean(voteUsrAttempt.isVisible()).toString()); - listMonitoredUserContainerDTO.add(voteMonitoredUserDTO); - } - } else { - //showUserEntriesBySession is true: the case with learner export portfolio - //show user entries by same content and same session and same user - String userSessionId = voteUsrAttempt.getVoteQueUsr().getVoteSession().getVoteSessionId() - .toString(); - - if (showUserEntriesByUserId == true) { - if (voteContent.getUid().toString().equals(localUserSession.getVoteContentId().toString())) { - if (userSessionId.equals(currentSessionId)) { - String localUserId = voteUsrAttempt.getVoteQueUsr().getQueUsrId().toString(); - if (userId.equals(localUserId)) { - voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime()); - voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); - voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getFullname()); - voteMonitoredUserDTO.setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid() - .toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); - listMonitoredUserContainerDTO.add(voteMonitoredUserDTO); - voteMonitoredUserDTO.setUid(voteUsrAttempt.getUid().toString()); - voteMonitoredUserDTO.setVisible(new Boolean(voteUsrAttempt.isVisible()) - .toString()); - if (voteUsrAttempt.isVisible() == false) { - voteMonitoredAnswersDTO.setQuestion("Nomination Hidden"); - } - - } - } - } - } else { - //showUserEntriesByUserId is false - //show user entries by same content and same session - if (voteContent.getUid().toString().equals(localUserSession.getVoteContentId().toString())) { - if (userSessionId.equals(currentSessionId)) { - voteMonitoredUserDTO.setAttemptTime(voteUsrAttempt.getAttemptTime()); - voteMonitoredUserDTO.setTimeZone(voteUsrAttempt.getTimeZone()); - voteMonitoredUserDTO.setUserName(voteUsrAttempt.getVoteQueUsr().getFullname()); - voteMonitoredUserDTO - .setQueUsrId(voteUsrAttempt.getVoteQueUsr().getUid().toString()); - voteMonitoredUserDTO.setUserEntry(voteUsrAttempt.getUserEntry()); - listMonitoredUserContainerDTO.add(voteMonitoredUserDTO); - voteMonitoredUserDTO.setUid(voteUsrAttempt.getUid().toString()); - voteMonitoredUserDTO.setVisible(new Boolean(voteUsrAttempt.isVisible()).toString()); - } - } - } - } - - } - - if (listMonitoredUserContainerDTO.size() > 0) { - Map mapMonitoredUserContainerDTO = MonitoringUtil - .convertToVoteMonitoredUserDTOMap(listMonitoredUserContainerDTO); - - voteMonitoredAnswersDTO.setQuestionAttempts(mapMonitoredUserContainerDTO); - listUserEntries.add(voteMonitoredAnswersDTO); - } - } - } - - return listUserEntries; - } - public ActionForward hideOpenVote(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException, ToolException { IVoteService voteService = VoteServiceProxy.getVoteService(getServlet().getServletContext()); @@ -495,8 +284,8 @@ prepareEditActivityScreenData(request, voteContent); - // prepareReflectionData(request, voteContent, voteService, null, false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); if (voteService.studentActivityOccurredGlobal(voteContent)) { generalMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); @@ -778,7 +567,7 @@ voteAuthoringForm.setHttpSessionID(httpSessionID); voteAuthoringForm.setActiveModule(activeModule); voteAuthoringForm.setDefaultContentIdStr(defaultContentIdStr); - voteAuthoringForm.setCurrentTab("3"); + voteAuthoringForm.setCurrentTab("2"); request.setAttribute(VoteAppConstants.VOTE_GENERAL_AUTHORING_DTO, voteGeneralAuthoringDTO); @@ -791,8 +580,8 @@ request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); EditActivityDTO editActivityDTO = new EditActivityDTO(); boolean isContentInUse = VoteUtils.isContentInUse(voteContent); @@ -952,7 +741,7 @@ voteAuthoringForm.setHttpSessionID(httpSessionID); voteAuthoringForm.setActiveModule(activeModule); voteAuthoringForm.setDefaultContentIdStr(defaultContentIdStr); - voteAuthoringForm.setCurrentTab("3"); + voteAuthoringForm.setCurrentTab("2"); voteGeneralAuthoringDTO.setDefineLaterInEditMode(new Boolean(true).toString()); @@ -963,8 +752,8 @@ request.setAttribute(VoteAppConstants.TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); EditActivityDTO editActivityDTO = new EditActivityDTO(); boolean isContentInUse = VoteUtils.isContentInUse(voteContent); @@ -1088,7 +877,7 @@ voteAuthoringForm.setHttpSessionID(httpSessionID); voteAuthoringForm.setActiveModule(activeModule); voteAuthoringForm.setDefaultContentIdStr(defaultContentIdStr); - voteAuthoringForm.setCurrentTab("3"); + voteAuthoringForm.setCurrentTab("2"); voteGeneralAuthoringDTO.setDefineLaterInEditMode(new Boolean(true).toString()); @@ -1100,8 +889,8 @@ request.setAttribute(VoteAppConstants.TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); } VoteGeneralMonitoringDTO voteGeneralMonitoringDTO = new VoteGeneralMonitoringDTO(); @@ -1190,8 +979,8 @@ request.setAttribute(VoteAppConstants.TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); EditActivityDTO editActivityDTO = new EditActivityDTO(); boolean isContentInUse = VoteUtils.isContentInUse(voteContent); @@ -1303,8 +1092,8 @@ request.setAttribute(VoteAppConstants.TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); EditActivityDTO editActivityDTO = new EditActivityDTO(); boolean isContentInUse = VoteUtils.isContentInUse(voteContent); @@ -1435,7 +1224,7 @@ voteAuthoringForm.setHttpSessionID(httpSessionID); voteAuthoringForm.setActiveModule(activeModule); voteAuthoringForm.setDefaultContentIdStr(defaultContentIdStr); - voteAuthoringForm.setCurrentTab("3"); + voteAuthoringForm.setCurrentTab("2"); request.setAttribute(VoteAppConstants.LIST_NOMINATION_CONTENT_DTO, listNominationContentDTO); @@ -1446,8 +1235,8 @@ request.setAttribute(VoteAppConstants.TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); EditActivityDTO editActivityDTO = new EditActivityDTO(); boolean isContentInUse = VoteUtils.isContentInUse(voteContent); @@ -1508,7 +1297,7 @@ String httpSessionID = voteAuthoringForm.getHttpSessionID(); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(httpSessionID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(httpSessionID); String questionIndex = request.getParameter("questionIndex"); @@ -1560,7 +1349,7 @@ voteAuthoringForm.setHttpSessionID(httpSessionID); voteAuthoringForm.setActiveModule(activeModule); voteAuthoringForm.setDefaultContentIdStr(defaultContentIdStr); - voteAuthoringForm.setCurrentTab("3"); + voteAuthoringForm.setCurrentTab("2"); request.setAttribute(VoteAppConstants.LIST_NOMINATION_CONTENT_DTO, listNominationContentDTO); @@ -1571,8 +1360,8 @@ request.setAttribute(VoteAppConstants.TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); EditActivityDTO editActivityDTO = new EditActivityDTO(); boolean isContentInUse = VoteUtils.isContentInUse(voteContent); @@ -1685,7 +1474,7 @@ voteAuthoringForm.setHttpSessionID(httpSessionID); voteAuthoringForm.setActiveModule(activeModule); voteAuthoringForm.setDefaultContentIdStr(defaultContentIdStr); - voteAuthoringForm.setCurrentTab("3"); + voteAuthoringForm.setCurrentTab("2"); request.setAttribute(VoteAppConstants.LIST_NOMINATION_CONTENT_DTO, listNominationContentDTO); @@ -1697,8 +1486,8 @@ request.setAttribute(VoteAppConstants.TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); if (voteContent != null) { - // prepareReflectionData(request, voteContent, voteService, null,false); - prepareReflectionData(request, voteContent, voteService, null, false); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); EditActivityDTO editActivityDTO = new EditActivityDTO(); boolean isContentInUse = VoteUtils.isContentInUse(voteContent); @@ -1738,64 +1527,6 @@ return mapping.findForward(VoteAppConstants.LOAD_MONITORING); } - public static void prepareReflectionData(HttpServletRequest request, VoteContent voteContent, IVoteService voteService, - String userID, boolean exportMode) { - List reflectionsContainerDTO = new LinkedList(); - - if (userID == null) { - for (Iterator sessionIter = voteContent.getVoteSessions().iterator(); sessionIter.hasNext();) { - VoteSession voteSession = (VoteSession) sessionIter.next(); - - for (Iterator userIter = voteSession.getVoteQueUsers().iterator(); userIter.hasNext();) { - VoteQueUsr user = (VoteQueUsr) userIter.next(); - - NotebookEntry notebookEntry = voteService.getEntry(voteSession.getVoteSessionId(), - CoreNotebookConstants.NOTEBOOK_TOOL, VoteAppConstants.MY_SIGNATURE, new Integer(user - .getQueUsrId().toString())); - - if (notebookEntry != null) { - ReflectionDTO reflectionDTO = new ReflectionDTO(); - reflectionDTO.setUserId(user.getQueUsrId().toString()); - reflectionDTO.setSessionId(voteSession.getVoteSessionId().toString()); - reflectionDTO.setUserName(user.getFullname()); - reflectionDTO.setReflectionUid(notebookEntry.getUid().toString()); - String notebookEntryPresentable = VoteUtils.replaceNewLines(notebookEntry.getEntry()); - reflectionDTO.setEntry(notebookEntryPresentable); - reflectionsContainerDTO.add(reflectionDTO); - } - } - } - } else { - for (Iterator sessionIter = voteContent.getVoteSessions().iterator(); sessionIter.hasNext();) { - VoteSession voteSession = (VoteSession) sessionIter.next(); - for (Iterator userIter = voteSession.getVoteQueUsers().iterator(); userIter.hasNext();) { - VoteQueUsr user = (VoteQueUsr) userIter.next(); - if (user.getQueUsrId().toString().equals(userID)) { - NotebookEntry notebookEntry = voteService.getEntry(voteSession.getVoteSessionId(), - CoreNotebookConstants.NOTEBOOK_TOOL, VoteAppConstants.MY_SIGNATURE, new Integer(user - .getQueUsrId().toString())); - - if (notebookEntry != null) { - ReflectionDTO reflectionDTO = new ReflectionDTO(); - reflectionDTO.setUserId(user.getQueUsrId().toString()); - reflectionDTO.setSessionId(voteSession.getVoteSessionId().toString()); - reflectionDTO.setUserName(user.getFullname()); - reflectionDTO.setReflectionUid(notebookEntry.getUid().toString()); - String notebookEntryPresentable = VoteUtils.replaceNewLines(notebookEntry.getEntry()); - reflectionDTO.setEntry(notebookEntryPresentable); - reflectionsContainerDTO.add(reflectionDTO); - } - } - } - } - } - request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); - - if (exportMode) { - request.getSession().setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); - } - } - /** * Set Submission Deadline * 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.43 -r1.44 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringStarterAction.java 28 Jan 2014 23:05:51 -0000 1.43 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteMonitoringStarterAction.java 29 Jan 2014 20:20:41 -0000 1.44 @@ -44,11 +44,14 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.tool.vote.EditActivityDTO; +import org.lamsfoundation.lams.tool.vote.ExportPortfolioDTO; +import org.lamsfoundation.lams.tool.vote.ReflectionDTO; import org.lamsfoundation.lams.tool.vote.SessionDTO; import org.lamsfoundation.lams.tool.vote.VoteAppConstants; import org.lamsfoundation.lams.tool.vote.VoteApplicationException; import org.lamsfoundation.lams.tool.vote.VoteComparator; import org.lamsfoundation.lams.tool.vote.VoteGeneralAuthoringDTO; +import org.lamsfoundation.lams.tool.vote.VoteGeneralLearnerFlowDTO; import org.lamsfoundation.lams.tool.vote.VoteGeneralMonitoringDTO; import org.lamsfoundation.lams.tool.vote.VoteMonitoredAnswersDTO; import org.lamsfoundation.lams.tool.vote.VoteNominationContentDTO; @@ -63,10 +66,7 @@ import org.lamsfoundation.lams.web.util.SessionMap; /** - * - *

* Starts up the monitoring module - *

* * @author Ozgur Demirtas */ @@ -79,158 +79,21 @@ IVoteService voteService = VoteServiceProxy.getVoteService(getServlet().getServletContext()); - MessageService messageService = VoteServiceProxy.getMessageService(getServlet().getServletContext()); - VoteMonitoringForm voteMonitoringForm = (VoteMonitoringForm) form; VoteGeneralAuthoringDTO voteGeneralAuthoringDTO = new VoteGeneralAuthoringDTO(); VoteGeneralMonitoringDTO voteGeneralMonitoringDTO = new VoteGeneralMonitoringDTO(); + request.setAttribute(VoteAppConstants.VOTE_GENERAL_AUTHORING_DTO, voteGeneralAuthoringDTO); + request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); ActionForward validateParameters = validateParameters(request, mapping, voteMonitoringForm); - if (validateParameters != null) { return validateParameters; } - boolean initData = initialiseMonitoringData(mapping, form, request, response, voteService, - voteGeneralMonitoringDTO); - if (initData == false) - return (mapping.findForward(ERROR_LIST)); - - voteMonitoringForm.setCurrentTab("1"); - voteGeneralMonitoringDTO.setCurrentTab("1"); - - String toolContentID = voteMonitoringForm.getToolContentID(); - - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); - // Come back to fix here - voteGeneralMonitoringDTO.setCountAllUsers(new Integer(0).toString()); - voteGeneralMonitoringDTO.setCountSessionComplete(new Integer(0).toString()); - - initSummaryContent(toolContentID, request, voteService, voteGeneralMonitoringDTO); - - VoteContent voteContent = voteService.retrieveVote(new Long(toolContentID)); - - /* true means there is at least 1 response */ - if (voteService.studentActivityOccurredStandardAndOpen(voteContent)) { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); - } else { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); - } - - voteMonitoringForm.setActiveModule(MONITORING); - voteGeneralMonitoringDTO.setActiveModule(MONITORING); - - voteGeneralMonitoringDTO.setRequestLearningReport(new Boolean(false).toString()); - voteGeneralMonitoringDTO.setIsPortfolioExport(new Boolean(false).toString()); - - request.setAttribute(VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); - - /* this section is needed for Edit Activity screen, from here... */ - voteGeneralAuthoringDTO.setActivityTitle(voteGeneralMonitoringDTO.getActivityTitle()); - voteGeneralAuthoringDTO.setActivityInstructions(voteGeneralMonitoringDTO.getActivityInstructions()); - voteGeneralAuthoringDTO.setDefaultOptionContent(voteGeneralMonitoringDTO.getDefaultOptionContent()); - voteGeneralAuthoringDTO.setMapOptionsContent(voteGeneralMonitoringDTO.getMapOptionsContent()); - voteGeneralAuthoringDTO.setActiveModule(MONITORING); - - Map mapOptionsContent = voteGeneralMonitoringDTO.getMapOptionsContent(); - int maxIndex = mapOptionsContent.size(); - voteGeneralAuthoringDTO.setMaxOptionIndex(maxIndex); - - request.setAttribute(VOTE_GENERAL_AUTHORING_DTO, voteGeneralAuthoringDTO); - /* ...till here */ - - MonitoringUtil.repopulateRequestParameters(request, voteMonitoringForm, voteGeneralMonitoringDTO); - - List sessionDTOs = voteService.getSessionDTOs(new Long(toolContentID)); - voteGeneralMonitoringDTO.setSessionDTOs(sessionDTOs); - - boolean isGroupedActivity = voteService.isGroupedActivity(new Long(toolContentID)); - request.setAttribute("isGroupedActivity", isGroupedActivity); - - voteGeneralMonitoringDTO.setRequestLearningReport(new Boolean(false).toString()); - - // initInstructionsContent(toolContentID, request, voteService, voteGeneralMonitoringDTO); - initStatsContent(toolContentID, request, voteService, voteGeneralMonitoringDTO); - /* setting editable screen properties */ - - Map mapOptionsContent2 = new TreeMap(new VoteComparator()); - Iterator queIterator = voteContent.getVoteQueContents().iterator(); - Long mapIndex = new Long(1); - while (queIterator.hasNext()) { - VoteQueContent voteQueContent = (VoteQueContent) queIterator.next(); - if (voteQueContent != null) { - mapOptionsContent2.put(mapIndex.toString(), voteQueContent.getQuestion()); - /** - * make the first entry the default(first) one for jsp - */ - if (mapIndex.longValue() == 1) { - voteGeneralAuthoringDTO.setDefaultOptionContent(voteQueContent.getQuestion()); - } - - mapIndex = new Long(mapIndex.longValue() + 1); - } - } - - int maxIndex2 = mapOptionsContent2.size(); - voteGeneralAuthoringDTO.setMaxOptionIndex(maxIndex2); - - voteGeneralAuthoringDTO.setMapOptionsContent(mapOptionsContent2); - - boolean isContentInUse = VoteUtils.isContentInUse(voteContent); - voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(false).toString()); - if (isContentInUse == true) { - //monitoring url does not allow editActivity since the content is in use - voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(true).toString()); - } - - request.setAttribute(VoteAppConstants.VOTE_GENERAL_AUTHORING_DTO, voteGeneralAuthoringDTO); - - VoteMonitoringAction.prepareReflectionData(request, voteContent, voteService, null, false); - - if (voteService.studentActivityOccurredGlobal(voteContent)) { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); - } else { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); - } - - request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); - - EditActivityDTO editActivityDTO = new EditActivityDTO(); - if (isContentInUse == true) { - editActivityDTO.setMonitoredContentInUse(new Boolean(true).toString()); - } - request.setAttribute(VoteAppConstants.EDIT_ACTIVITY_DTO, editActivityDTO); - - /* find out if there are any reflection entries, from here */ - boolean notebookEntriesExist = MonitoringUtil.notebookEntriesExist(voteService, voteContent); - if (notebookEntriesExist) { - request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); - - String userExceptionNoToolSessions = voteGeneralMonitoringDTO.getUserExceptionNoToolSessions(); - - if (userExceptionNoToolSessions.equals("true")) { - //there are no online student activity but there are reflections - request.setAttribute(VoteAppConstants.NO_SESSIONS_NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); - } - } else { - request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(false).toString()); - } - /* ... till here */ - - MonitoringUtil.buildVoteStatsDTO(request, voteService, voteContent); - - return mapping.findForward(VoteAppConstants.LOAD_MONITORING); - } - - private boolean initialiseMonitoringData(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response, IVoteService voteService, VoteGeneralMonitoringDTO voteGeneralMonitoringDTO) { - VoteMonitoringForm voteMonitoringForm = (VoteMonitoringForm) form; - - voteGeneralMonitoringDTO.setCurrentMonitoringTab("summary"); + //initialiseMonitoringData voteGeneralMonitoringDTO.setDefineLaterInEditMode(new Boolean(false).toString()); voteGeneralMonitoringDTO.setRequestLearningReport(new Boolean(false).toString()); - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); VoteUtils.saveTimeZone(request); @@ -241,31 +104,21 @@ if (voteContent == null) { VoteUtils.cleanUpSessionAbsolute(request); voteGeneralMonitoringDTO.setUserExceptionContentDoesNotExist(new Boolean(true).toString()); - return false; + return (mapping.findForward(ERROR_LIST)); } - boolean isContentInUse = VoteUtils.isContentInUse(voteContent); - voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(false).toString()); - if (isContentInUse == true) { - voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(true).toString()); - } - voteGeneralMonitoringDTO.setActivityTitle(voteContent.getTitle()); voteGeneralMonitoringDTO.setActivityInstructions(voteContent.getInstructions()); if (voteService.studentActivityOccurredStandardAndOpen(voteContent)) { VoteUtils.cleanUpSessionAbsolute(request); voteGeneralMonitoringDTO.setUserExceptionContentInUse(new Boolean(true).toString()); - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); - } else { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); } /* * get the nominations section is needed for the Edit tab's View Only mode, starts here */ - - SessionMap sessionMap = new SessionMap(); + SessionMap sessionMap = new SessionMap(); sessionMap.put(ACTIVITY_TITLE_KEY, voteContent.getTitle()); sessionMap.put(ACTIVITY_INSTRUCTIONS_KEY, voteContent.getInstructions()); @@ -275,7 +128,6 @@ List listNominationContentDTO = new LinkedList(); Map mapOptionsContent = new TreeMap(new VoteComparator()); - mapOptionsContent.clear(); Iterator queIterator = voteContent.getVoteQueContents().iterator(); Long mapIndex = new Long(1); while (queIterator.hasNext()) { @@ -288,6 +140,11 @@ voteNominationContentDTO.setQuestion(voteQueContent.getQuestion()); voteNominationContentDTO.setDisplayOrder(new Integer(voteQueContent.getDisplayOrder()).toString()); listNominationContentDTO.add(voteNominationContentDTO); + + //make the first entry the default(first) one for jsp + if (mapIndex.longValue() == 1) { + voteGeneralAuthoringDTO.setDefaultOptionContent(voteQueContent.getQuestion()); + } mapIndex = new Long(mapIndex.longValue() + 1); } @@ -300,50 +157,43 @@ request.setAttribute(TOTAL_NOMINATION_COUNT, new Integer(listNominationContentDTO.size())); - VoteMonitoringAction.refreshSummaryData(request, voteContent, voteService, true, false, null, null, false, + VoteMonitoringStarterAction.refreshSummaryData(request, voteContent, voteService, true, false, null, null, false, null, voteGeneralMonitoringDTO, null); voteGeneralMonitoringDTO.setExistsOpenVotes(new Boolean(false).toString()); - EditActivityDTO editActivityDTO = new EditActivityDTO(); - isContentInUse = VoteUtils.isContentInUse(voteContent); - if (isContentInUse == true) { - editActivityDTO.setMonitoredContentInUse(new Boolean(true).toString()); - } - request.setAttribute(EDIT_ACTIVITY_DTO, editActivityDTO); + voteMonitoringForm.setCurrentTab("1"); + voteGeneralMonitoringDTO.setCurrentTab("1"); - boolean notebookEntriesExist = MonitoringUtil.notebookEntriesExist(voteService, voteContent); - - if (notebookEntriesExist) { - request.setAttribute(NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); - - String userExceptionNoToolSessions = (String) voteGeneralMonitoringDTO.getUserExceptionNoToolSessions(); - - if (userExceptionNoToolSessions.equals("true")) { - request.setAttribute(NO_SESSIONS_NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); - } - + /* true means there is at least 1 response */ + if (voteService.studentActivityOccurredStandardAndOpen(voteContent)) { + voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); } else { - request.setAttribute(NOTEBOOK_ENTRIES_EXIST, new Boolean(false).toString()); + voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); } - MonitoringUtil.buildVoteStatsDTO(request, voteService, voteContent); + voteMonitoringForm.setActiveModule(MONITORING); + voteGeneralMonitoringDTO.setActiveModule(MONITORING); - return true; - } - + voteGeneralMonitoringDTO.setIsPortfolioExport(new Boolean(false).toString()); + // this section is needed for Edit Activity screen + voteGeneralAuthoringDTO.setActivityTitle(voteGeneralMonitoringDTO.getActivityTitle()); + voteGeneralAuthoringDTO.setActivityInstructions(voteGeneralMonitoringDTO.getActivityInstructions()); + voteGeneralAuthoringDTO.setDefaultOptionContent(voteGeneralMonitoringDTO.getDefaultOptionContent()); + voteGeneralAuthoringDTO.setMapOptionsContent(voteGeneralMonitoringDTO.getMapOptionsContent()); + voteGeneralAuthoringDTO.setActiveModule(MONITORING); + voteGeneralAuthoringDTO.setMaxOptionIndex(mapOptionsContent.size()); - private void initStatsContent(String toolContentID, HttpServletRequest request, IVoteService voteService, - VoteGeneralMonitoringDTO voteGeneralMonitoringDTO) throws IOException, ServletException { - VoteContent voteContent = voteService.retrieveVote(new Long(toolContentID)); + MonitoringUtil.repopulateRequestParameters(request, voteMonitoringForm, voteGeneralMonitoringDTO); - if (voteService.studentActivityOccurredStandardAndOpen(voteContent)) { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); - } else { - voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); - } + List sessionDTOs = voteService.getSessionDTOs(new Long(toolContentID)); + voteGeneralMonitoringDTO.setSessionDTOs(sessionDTOs); + + boolean isGroupedActivity = voteService.isGroupedActivity(new Long(toolContentID)); + request.setAttribute("isGroupedActivity", isGroupedActivity); + //refreshStatsData /* it is possible that no users has ever logged in for the activity yet */ int countAllUsers = voteService.getTotalNumberOfUsers(); @@ -353,77 +203,115 @@ voteGeneralMonitoringDTO.setCountAllUsers(new Integer(countAllUsers).toString()); int countSessionComplete = voteService.countSessionComplete(); voteGeneralMonitoringDTO.setCountSessionComplete(new Integer(countSessionComplete).toString()); - request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); - EditActivityDTO editActivityDTO = new EditActivityDTO(); - boolean isContentInUse = VoteUtils.isContentInUse(voteContent); - if (isContentInUse == true) { - editActivityDTO.setMonitoredContentInUse(new Boolean(true).toString()); + List reflectionsContainerDTO = voteService.getReflectionData(voteContent, null); + request.setAttribute(VoteAppConstants.REFLECTIONS_CONTAINER_DTO, reflectionsContainerDTO); + + return mapping.findForward(VoteAppConstants.LOAD_MONITORING); + } + + public static void refreshSummaryData(HttpServletRequest request, VoteContent voteContent, IVoteService voteService, + boolean isUserNamesVisible, boolean isLearnerRequest, String currentSessionId, String userId, + boolean showUserEntriesBySession, VoteGeneralLearnerFlowDTO voteGeneralLearnerFlowDTO, + VoteGeneralMonitoringDTO voteGeneralMonitoringDTO, ExportPortfolioDTO exportPortfolioDTO) { + + /* this section is related to summary tab. Starts here. */ + + if (voteService.studentActivityOccurredStandardAndOpen(voteContent)) { + if (voteGeneralMonitoringDTO != null) { + voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); + } + } else { + if (voteGeneralMonitoringDTO != null) { + voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); + } } - request.setAttribute(VoteAppConstants.EDIT_ACTIVITY_DTO, editActivityDTO); - voteGeneralMonitoringDTO.setCurrentMonitoringTab("stats"); + String userExceptionNoToolSessions = voteGeneralMonitoringDTO.getUserExceptionNoToolSessions(); + if (exportPortfolioDTO != null) { + exportPortfolioDTO.setUserExceptionNoToolSessions(userExceptionNoToolSessions); + } + + List listQuestions = voteService.getAllQuestionEntries(voteContent.getUid()); - request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); + List listMonitoredAnswersContainerDTO = new LinkedList(); - /* find out if there are any reflection entries, from here */ - boolean notebookEntriesExist = MonitoringUtil.notebookEntriesExist(voteService, voteContent); + Iterator itListQuestions = listQuestions.iterator(); + while (itListQuestions.hasNext()) { + VoteQueContent voteQueContent = (VoteQueContent) itListQuestions.next(); - if (notebookEntriesExist) { - request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); + if (voteQueContent != null) { + VoteMonitoredAnswersDTO voteMonitoredAnswersDTO = new VoteMonitoredAnswersDTO(); + voteMonitoredAnswersDTO.setQuestionUid(voteQueContent.getUid().toString()); + voteMonitoredAnswersDTO.setQuestion(voteQueContent.getQuestion()); - String userExceptionNoToolSessions = voteGeneralMonitoringDTO.getUserExceptionNoToolSessions(); + Map questionAttemptData = MonitoringUtil.buildGroupsAttemptData(request, voteContent, voteQueContent, + voteQueContent.getUid().toString(), isUserNamesVisible, isLearnerRequest, currentSessionId, + userId, voteService); + voteMonitoredAnswersDTO.setQuestionAttempts(questionAttemptData); + listMonitoredAnswersContainerDTO.add(voteMonitoredAnswersDTO); - if (userExceptionNoToolSessions.equals("true")) { - //there are no online student activity but there are reflections - request.setAttribute(VoteAppConstants.NO_SESSIONS_NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); } - } else { - request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(false).toString()); } - /* ... till here */ + /* ends here. */ - MonitoringUtil.buildVoteStatsDTO(request, voteService, voteContent); - } + List listUserEntries = voteService.processUserEnteredNominations(voteContent, + currentSessionId, showUserEntriesBySession, userId, isLearnerRequest); - private void initSummaryContent(String toolContentID, HttpServletRequest request, IVoteService voteService, - VoteGeneralMonitoringDTO voteGeneralMonitoringDTO) throws IOException, ServletException { - VoteContent voteContent = voteService.retrieveVote(new Long(toolContentID)); + if (voteGeneralLearnerFlowDTO != null) { + voteGeneralLearnerFlowDTO.setListMonitoredAnswersContainerDto(listMonitoredAnswersContainerDTO); + voteGeneralLearnerFlowDTO.setListUserEntries(listUserEntries); + } - /* true means there is at least 1 response */ - if (voteService.studentActivityOccurredStandardAndOpen(voteContent)) { + if (exportPortfolioDTO != null) { + exportPortfolioDTO.setListMonitoredAnswersContainerDto(listMonitoredAnswersContainerDTO); + exportPortfolioDTO.setListUserEntries(listUserEntries); + } + + if (voteGeneralMonitoringDTO != null) { + voteGeneralMonitoringDTO.setListMonitoredAnswersContainerDto(listMonitoredAnswersContainerDTO); + voteGeneralMonitoringDTO.setListUserEntries(listUserEntries); + + voteGeneralMonitoringDTO.setExistsOpenVotes(new Boolean(false).toString()); + if (listUserEntries.size() > 0) { + voteGeneralMonitoringDTO.setExistsOpenVotes(new Boolean(true).toString()); + } + } + + boolean isContentInUse = VoteUtils.isContentInUse(voteContent); + voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(false).toString()); + if (isContentInUse == true) { + //monitoring url does not allow editActivity since the content is in use + voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(true).toString()); + } + + if (voteService.studentActivityOccurredGlobal(voteContent)) { voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(false).toString()); } else { voteGeneralMonitoringDTO.setUserExceptionNoToolSessions(new Boolean(true).toString()); } + request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); + EditActivityDTO editActivityDTO = new EditActivityDTO(); - boolean isContentInUse = VoteUtils.isContentInUse(voteContent); if (isContentInUse == true) { editActivityDTO.setMonitoredContentInUse(new Boolean(true).toString()); + //monitoring url does not allow editActivity since the content is in use + voteGeneralMonitoringDTO.setIsMonitoredContentInUse(new Boolean(true).toString()); } request.setAttribute(VoteAppConstants.EDIT_ACTIVITY_DTO, editActivityDTO); - voteGeneralMonitoringDTO.setCurrentMonitoringTab("summary"); - - request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); - - /* find out if there are any reflection entries, from here */ + // find out if there are any reflection entries boolean notebookEntriesExist = MonitoringUtil.notebookEntriesExist(voteService, voteContent); - if (notebookEntriesExist) { request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); - - String userExceptionNoToolSessions = voteGeneralMonitoringDTO.getUserExceptionNoToolSessions(); - if (userExceptionNoToolSessions.equals("true")) { //there are no online student activity but there are reflections request.setAttribute(VoteAppConstants.NO_SESSIONS_NOTEBOOK_ENTRIES_EXIST, new Boolean(true).toString()); } } else { request.setAttribute(VoteAppConstants.NOTEBOOK_ENTRIES_EXIST, new Boolean(false).toString()); } - /* ... till here */ MonitoringUtil.buildVoteStatsDTO(request, voteService, voteContent); @@ -448,17 +336,4 @@ } return null; } - - /** - * persists error messages to request scope - * - * @param request - * @param message - */ - public void persistInRequestError(HttpServletRequest request, String message) { - ActionMessages errors = new ActionMessages(); - errors.add(Globals.ERROR_KEY, new ActionMessage(message)); - logger.error("add " + message + " to ActionMessages:"); - saveErrors(request, errors); - } } Index: lams_tool_vote/web/monitoring/AllSessionsSummary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/monitoring/AllSessionsSummary.jsp,v diff -u -r1.24 -r1.25 --- lams_tool_vote/web/monitoring/AllSessionsSummary.jsp 28 Jan 2014 23:05:50 -0000 1.24 +++ lams_tool_vote/web/monitoring/AllSessionsSummary.jsp 29 Jan 2014 20:20:41 -0000 1.25 @@ -149,19 +149,21 @@

-

- - - -

+ +

+ -

+ +

+ + +



Index: lams_tool_vote/web/monitoring/Stats.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/monitoring/Stats.jsp,v diff -u -r1.13 -r1.14 --- lams_tool_vote/web/monitoring/Stats.jsp 23 Jan 2014 23:53:16 -0000 1.13 +++ lams_tool_vote/web/monitoring/Stats.jsp 29 Jan 2014 20:20:41 -0000 1.14 @@ -4,19 +4,18 @@ - - - - - -
- -
-
+ + + + + +
+ +
+
- - - - + + + Index: lams_tool_vote/web/monitoring/SummaryContent.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/monitoring/SummaryContent.jsp,v diff -u -r1.44 -r1.45 --- lams_tool_vote/web/monitoring/SummaryContent.jsp 28 Jan 2014 23:05:50 -0000 1.44 +++ lams_tool_vote/web/monitoring/SummaryContent.jsp 29 Jan 2014 20:20:41 -0000 1.45 @@ -47,17 +47,24 @@
- + - + + + +
+ +
+
+
- +
<%@include file="AdvanceOptions.jsp"%>