Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java,v diff -u -r1.9 -r1.10 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java 3 Apr 2006 13:31:03 -0000 1.9 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java 27 Jun 2006 18:30:29 -0000 1.10 @@ -118,6 +118,8 @@ public List getSessionNamesFromContent(McContent mcContent); public int countSessionComplete(); + + public int countSessionComplete(McContent mcContent); public int countSessionIncomplete(); } \ No newline at end of file Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java,v diff -u -r1.10 -r1.11 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java 3 Apr 2006 13:31:03 -0000 1.10 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java 27 Jun 2006 18:30:29 -0000 1.11 @@ -24,6 +24,7 @@ import java.util.List; +import org.lamsfoundation.lams.tool.mc.pojos.McContent; import org.lamsfoundation.lams.tool.mc.pojos.McQueUsr; import org.lamsfoundation.lams.tool.mc.pojos.McSession; @@ -89,6 +90,8 @@ public List getMcUserBySessionOnly(final McSession mcSession); + public int getTotalNumberOfUsers(McContent mcContent); + public int getTotalNumberOfUsers(); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java,v diff -u -r1.12 -r1.13 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java 3 Apr 2006 13:31:03 -0000 1.12 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java 27 Jun 2006 18:30:13 -0000 1.13 @@ -89,6 +89,31 @@ else return 0; } + + public int countSessionComplete(McContent mcContent) + { + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(COUNT_SESSION_COMPLETE) + .list(); + + int sessionCount=0; + if(list != null && list.size() > 0){ + McSession mcSession = (McSession) list.get(0); + logger.debug("mcSession: " + mcSession); + logger.debug("local session's content uid versus incoming content uid: " + + mcSession.getMcContent().getUid().intValue() + " versus " + mcContent.getUid().intValue()); + + if (mcSession.getMcContent().getUid().intValue() == mcContent.getUid().intValue()) + { + ++sessionCount; + } + } + logger.debug("sessionCount: " + sessionCount); + return sessionCount; + + } + + public int countSessionIncomplete() { HibernateTemplate templ = this.getHibernateTemplate(); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java,v diff -u -r1.14 -r1.15 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java 3 Apr 2006 13:31:03 -0000 1.14 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java 27 Jun 2006 18:30:13 -0000 1.15 @@ -26,6 +26,7 @@ import org.hibernate.FlushMode; import org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO; +import org.lamsfoundation.lams.tool.mc.pojos.McContent; import org.lamsfoundation.lams.tool.mc.pojos.McQueUsr; import org.lamsfoundation.lams.tool.mc.pojos.McSession; import org.springframework.orm.hibernate3.HibernateTemplate; @@ -148,4 +149,29 @@ return this.getHibernateTemplate().find(query).size(); } + + public int getTotalNumberOfUsers(McContent mcContent) + { + String strGetUser = "from mcQueUsr in class McQueUsr"; + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(strGetUser) + .list(); + logger.debug("strGetUser: " + strGetUser); + + int totalUserCount=0; + if(list != null && list.size() > 0){ + McQueUsr usr = (McQueUsr) list.get(0); + logger.debug("usr: " + usr); + logger.debug("local usr content uid versus incoming content uid: " + + usr.getMcSession().getMcContent().getUid().intValue() + " versus " + mcContent.getUid().intValue()); + + if (usr.getMcSession().getMcContent().getUid().intValue() == mcContent.getUid().intValue()) + { + ++totalUserCount; + } + } + logger.debug("final totalUserCount: " + totalUserCount); + return totalUserCount; + } + } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java,v diff -u -r1.50 -r1.51 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 19 Jun 2006 15:09:52 -0000 1.50 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 27 Jun 2006 18:30:13 -0000 1.51 @@ -152,6 +152,8 @@ public User getCurrentUserData(String username) throws McApplicationException; public int getTotalNumberOfUsers() throws McApplicationException; + + public int getTotalNumberOfUsers(McContent mcContent) throws McApplicationException; public Lesson getCurrentLesson(long lessonId) throws McApplicationException; @@ -247,6 +249,8 @@ public int countSessionComplete() throws McApplicationException; + public int countSessionComplete(McContent mcContent) throws McApplicationException; + public McSession findMcSessionById(Long mcSessionId) throws McApplicationException; public int countSessionIncomplete() throws McApplicationException; Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java,v diff -u -r1.68 -r1.69 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 19 Jun 2006 15:09:52 -0000 1.68 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 27 Jun 2006 18:30:13 -0000 1.69 @@ -792,6 +792,21 @@ } } + + public int countSessionComplete(McContent mcContent) throws McApplicationException + { + try + { + return mcSessionDAO.countSessionComplete(mcContent); + } + catch(DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is counting incomplete sessions" + + e.getMessage(),e); + } + } + + public int countSessionComplete() throws McApplicationException { try @@ -1150,6 +1165,21 @@ } + public int getTotalNumberOfUsers(McContent mcContent) throws McApplicationException + { + try + { + return mcUserDAO.getTotalNumberOfUsers(mcContent); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is retrieving total number of McQueUsr: " + + e.getMessage(), + e); + } + } + + public int getTotalNumberOfUsers() throws McApplicationException { try Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java,v diff -u -r1.31 -r1.32 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java 24 Jun 2006 23:36:32 -0000 1.31 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java 27 Jun 2006 18:30:13 -0000 1.32 @@ -364,8 +364,10 @@ /* it is possible that no users has ever logged in for the activity yet*/ - int countAllUsers=mcService.getTotalNumberOfUsers(); + //int countAllUsers=mcService.getTotalNumberOfUsers(); + int countAllUsers=mcService.getTotalNumberOfUsers(mcContent); logger.debug("countAllUsers: " + countAllUsers); + request.getSession().setAttribute(USER_EXCEPTION_NO_STUDENT_ACTIVITY, new Boolean(false)); if (countAllUsers == 0) { @@ -383,7 +385,8 @@ } /* this section is related to Stats tab. Starts here. */ - int countSessionComplete=mcService.countSessionComplete(); + //int countSessionComplete=mcService.countSessionComplete(); + int countSessionComplete=mcService.countSessionComplete(mcContent); logger.debug("countSessionComplete: " + countSessionComplete); int countMaxAttempt=1; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java,v diff -u -r1.12 -r1.13 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java 7 Jun 2006 17:33:23 -0000 1.12 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java 27 Jun 2006 18:32:17 -0000 1.13 @@ -24,6 +24,7 @@ import java.util.List; +import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaQueUsr; import org.lamsfoundation.lams.tool.qa.QaSession; @@ -53,5 +54,7 @@ public int getTotalNumberOfUsers(); + public int getTotalNumberOfUsers(QaContent qa); + public List getUserBySessionOnly(final QaSession qaSession); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java,v diff -u -r1.10 -r1.11 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java 7 Apr 2006 00:44:23 -0000 1.10 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java 27 Jun 2006 18:32:17 -0000 1.11 @@ -38,6 +38,8 @@ public int countSessionIncomplete(); public int countSessionComplete(); + + public int countSessionComplete(QaContent qa); public QaSession getQaSessionById(long qaSessionId); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java,v diff -u -r1.15 -r1.16 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java 7 Jun 2006 17:33:23 -0000 1.15 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java 27 Jun 2006 18:32:17 -0000 1.16 @@ -26,6 +26,7 @@ import org.apache.log4j.Logger; import org.hibernate.FlushMode; +import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaQueUsr; import org.lamsfoundation.lams.tool.qa.QaSession; import org.lamsfoundation.lams.tool.qa.dao.IQaQueUsrDAO; @@ -138,4 +139,30 @@ String query="from obj in class QaQueUsr"; return this.getHibernateTemplate().find(query).size(); } + + + public int getTotalNumberOfUsers(QaContent qa) + { + String strGetUser = "from qaQueUsr in class QaQueUsr"; + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(strGetUser) + .list(); + logger.debug("strGetUser: " + strGetUser); + + int totalUserCount=0; + if(list != null && list.size() > 0){ + QaQueUsr usr = (QaQueUsr) list.get(0); + logger.debug("usr: " + usr); + logger.debug("local usr content uid versus incoming content uid: " + + usr.getQaSession().getQaContent().getUid().intValue() + " versus " + qa.getUid().intValue()); + + if (usr.getQaSession().getQaContent().getUid().intValue() == qa.getUid().intValue()) + { + ++totalUserCount; + } + } + logger.debug("final totalUserCount: " + totalUserCount); + return totalUserCount; + } + } \ No newline at end of file Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java,v diff -u -r1.13 -r1.14 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java 7 Apr 2006 00:44:23 -0000 1.13 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java 27 Jun 2006 18:32:17 -0000 1.14 @@ -60,6 +60,29 @@ else return 0; } + public int countSessionComplete(QaContent qa) + { + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(COUNT_SESSION_COMPLETE) + .list(); + + int sessionCount=0; + if(list != null && list.size() > 0){ + QaSession qaSession = (QaSession) list.get(0); + logger.debug("qaSession: " + qaSession); + logger.debug("local session's content uid versus incoming content uid: " + + qaSession.getQaContent().getUid().intValue() + " versus " + qa.getUid().intValue()); + + if (qaSession.getQaContent().getUid().intValue() == qa.getUid().intValue()) + { + ++sessionCount; + } + } + logger.debug("sessionCount: " + sessionCount); + return sessionCount; + } + + public int countSessionIncomplete() { HibernateTemplate templ = this.getHibernateTemplate(); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java,v diff -u -r1.39 -r1.40 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 27 Jun 2006 13:35:44 -0000 1.39 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 27 Jun 2006 18:32:17 -0000 1.40 @@ -72,6 +72,10 @@ public int getTotalNumberOfUsers() throws QaApplicationException; + public int getTotalNumberOfUsers(QaContent qa) throws QaApplicationException; + + public int countSessionComplete(QaContent qa) throws QaApplicationException; + public int countSessionComplete() throws QaApplicationException; public void updateQaQueUsr(QaQueUsr qaQueUsr) throws QaApplicationException; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java,v diff -u -r1.59 -r1.60 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 27 Jun 2006 13:35:44 -0000 1.59 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 27 Jun 2006 18:32:17 -0000 1.60 @@ -527,6 +527,20 @@ } } + + public int countSessionComplete(QaContent qa) throws QaApplicationException + { + try + { + return qaSessionDAO.countSessionComplete(qa); + } + catch(DataAccessException e) + { + throw new QaApplicationException("Exception occured when lams is counting complete sessions" + + e.getMessage(),e); + } + } + public int countSessionComplete() throws QaApplicationException { try @@ -768,6 +782,21 @@ } } + + public int getTotalNumberOfUsers(QaContent qa) + { + try + { + return qaQueUsrDAO.getTotalNumberOfUsers(qa); + } + catch (DataAccessException e) + { + throw new QaApplicationException("Exception occured when lams is retrieving total number of QaQueUsr: " + + e.getMessage(), + e); + } + } + public int getTotalNumberOfUsers() throws QaApplicationException { try @@ -780,7 +809,6 @@ + e.getMessage(), e); } - } public int countTotalNumberOfUserResponsed(QaContent qa) throws QaApplicationException Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java,v diff -u -r1.37 -r1.38 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java 27 Jun 2006 13:34:48 -0000 1.37 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java 27 Jun 2006 18:32:17 -0000 1.38 @@ -877,8 +877,14 @@ logger.debug("retrieving qaService from session: " + qaService); } - - int countAllUsers=qaService.getTotalNumberOfUsers(); + Long toolContentId =(Long) request.getSession().getAttribute(TOOL_CONTENT_ID); + logger.debug("toolContentId: " + toolContentId); + + QaContent qaContent=qaService.loadQa(toolContentId.longValue()); + logger.debug("existing qaContent:" + qaContent); + + //int countAllUsers=qaService.getTotalNumberOfUsers(); + int countAllUsers=qaService.getTotalNumberOfUsers(qaContent); logger.debug("countAllUsers: " + countAllUsers); if (countAllUsers == 0) @@ -889,7 +895,8 @@ request.getSession().setAttribute(COUNT_ALL_USERS, new Integer(countAllUsers).toString()); - int countSessionComplete=qaService.countSessionComplete(); + //int countSessionComplete=qaService.countSessionComplete(); + int countSessionComplete=qaService.countSessionComplete(qaContent); logger.debug("countSessionComplete: " + countSessionComplete); request.getSession().setAttribute(COUNT_SESSION_COMPLETE, new Integer(countSessionComplete).toString()); }