Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java =================================================================== diff -u -rc8f1ea88d18b9b6b1ee0002d299ac9bfb1431d84 -r99dfa3c71ae1855a7146b540358c474c6d88316d --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java (.../IVoteService.java) (revision c8f1ea88d18b9b6b1ee0002d299ac9bfb1431d84) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java (.../IVoteService.java) (revision 99dfa3c71ae1855a7146b540358c474c6d88316d) @@ -155,6 +155,13 @@ public VoteSession getVoteSessionByUID(Long uid) throws VoteApplicationException; + /** Get the count of all the potential learners for the vote session. This will include + * the people that have never logged into the lesson. Not great, but it is a better estimate of + * how many users there will be eventually than the number of people already known to the tool. + * @param voteSessionId The tool session id + */ + public int getVoteSessionPotentialLearnersCount(Long voteSessionId) throws VoteApplicationException; + public void deleteVote(VoteContent vote) throws VoteApplicationException; public void deleteVoteById(Long voteId) throws VoteApplicationException; Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java =================================================================== diff -u -rc8f1ea88d18b9b6b1ee0002d299ac9bfb1431d84 -r99dfa3c71ae1855a7146b540358c474c6d88316d --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java (.../VoteServicePOJO.java) (revision c8f1ea88d18b9b6b1ee0002d299ac9bfb1431d84) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java (.../VoteServicePOJO.java) (revision 99dfa3c71ae1855a7146b540358c474c6d88316d) @@ -51,6 +51,7 @@ import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.tool.exception.SessionDataExistsException; import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.service.ILamsToolService; @@ -406,12 +407,26 @@ } catch (DataAccessException e) { - throw new VoteApplicationException("Exception occured when lams is getting voteSession my uid: " + throw new VoteApplicationException("Exception occured when lams is getting voteSession by uid: " + e.getMessage(), e); } } + public int getVoteSessionPotentialLearnersCount(Long voteSessionId) throws VoteApplicationException + { + try + { + Set potentialLearners = toolService.getAllPotentialLearners(voteSessionId); + return potentialLearners != null ? potentialLearners.size() : 0; + } + catch (LamsToolServiceException e) + { + throw new VoteApplicationException("Exception occured when lams is getting count of potential voteSession learners: " + + e.getMessage(), + e); + } + } public void createVoteQueUsr(VoteQueUsr voteQueUsr) throws VoteApplicationException { Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java =================================================================== diff -u -rc8f1ea88d18b9b6b1ee0002d299ac9bfb1431d84 -r99dfa3c71ae1855a7146b540358c474c6d88316d --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision c8f1ea88d18b9b6b1ee0002d299ac9bfb1431d84) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 99dfa3c71ae1855a7146b540358c474c6d88316d) @@ -660,9 +660,6 @@ userEntries=voteService.getSessionUserEntries(toolSessionUid); logger.debug("sessionUserCount: " + userEntries.size()); - distinctSessionUsers=voteService.getVoteUserBySessionUid(toolSessionUid); - logger.debug("distinctSessionUsers: " + distinctSessionUsers); - int completedSessionUserCount=voteService.getCompletedVoteUserBySessionUid(toolSessionUid); logger.debug("completedSessionUserCount: " + completedSessionUserCount); @@ -672,16 +669,7 @@ if (voteMonitoringForm != null) { - if (distinctSessionUsers != null) - { - logger.debug("distinctSessionUsers count: " + distinctSessionUsers.size()); - voteMonitoringForm.setSessionUserCount(new Integer(distinctSessionUsers.size()).toString()); - } - else - { - voteMonitoringForm.setSessionUserCount(new Integer(0).toString()); - } - + voteMonitoringForm.setSessionUserCount(Integer.toString(voteService.getVoteSessionPotentialLearnersCount(toolSessionUid))); voteMonitoringForm.setCompletedSessionUserCount(new Integer(completedSessionUserCount).toString()); } }