Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java,v
diff -u -r1.40 -r1.41
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java 22 Nov 2005 15:36:03 -0000 1.40
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java 22 Nov 2005 20:38:06 -0000 1.41
@@ -103,8 +103,8 @@
public static final String VIEW_SUMMARY ="viewSummary";
public static final String REDO_QUESTIONS ="redoQuestions";
public static final String SINGLE_QUESTION_ANSWERS ="singleQuestionAnswers";
+ public static final String RESULTS_SUMMARY ="resultsSummary";
-
public static final String ALL_INSTRUCTIONS ="allInstructions";
public static final String EDIT_OPTS_CONTENT ="editOptsContent";
public static final String ADD_OPTS_CONTENT ="addOptsContent";
@@ -229,6 +229,11 @@
public static final String LIST_UPLOADED_ONLINE_FILES_NAME ="listUploadedOnlineFilesName";
public static final String POPULATED_UPLOADED_FILESDATA ="populateUploadedFilesData";
+ public static final String COUNT_SESSION_COMPLETE ="countSessionComplete";
+ public static final String TOP_MARK ="topMark";
+ public static final String LOWEST_MARK ="lowestMark";
+ public static final String AVERAGE_MARK ="averageMark";
+
/*
* the author's current content id
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McResources.properties
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/Attic/McResources.properties,v
diff -u -r1.34 -r1.35
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McResources.properties 22 Nov 2005 18:34:26 -0000 1.34
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McResources.properties 22 Nov 2005 20:38:06 -0000 1.35
@@ -21,6 +21,12 @@
label.individual.results.withRetries =Results for Multiple Choice with Retries
label.individual.results.withoutRetries =Results for Multiple Choice without Retries
label.viewAnswers =Previous Answers
+label.withRetries.results.summary =Multiple Choice with Retries Summary
+label.withoutRetries.results.summary =Multiple Choice without Retries Summary
+label.learnersFinished =learners have finished. Minimum passmark is
+label.topMark =Top Mark:
+label.avMark =Average Mark:
+label.loMark =Lowest Mark:
label.mark =Mark:
label.you.answered =You answered:
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.5 -r1.6
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java 13 Nov 2005 13:20:24 -0000 1.5
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java 22 Nov 2005 20:38:06 -0000 1.6
@@ -27,6 +27,7 @@
import org.lamsfoundation.lams.tool.mc.McContent;
import org.lamsfoundation.lams.tool.mc.McQueUsr;
import org.lamsfoundation.lams.tool.mc.McSession;
+import org.springframework.orm.hibernate3.HibernateTemplate;
/**
@@ -114,4 +115,9 @@
* @return a list of tool session Ids
*/
public List getSessionsFromContent(McContent mcContent);
+
+
+ public int countSessionComplete();
+
+ public int countSessionIncomplete();
}
\ No newline at end of file
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java,v
diff -u -r1.8 -r1.9
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java 22 Nov 2005 12:55:45 -0000 1.8
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java 22 Nov 2005 20:38:06 -0000 1.9
@@ -118,6 +118,13 @@
* @return
*/
public List getAttemptByAttemptOrder(final Long queUsrId, final Long mcQueContentId, final Integer attemptOrder);
+
+ /**
+ * *
returns a list of marks
+ *
+ * @return
+ */
+ public List getMarks();
}
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.7 -r1.8
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java 11 Nov 2005 17:53:19 -0000 1.7
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java 22 Nov 2005 20:38:07 -0000 1.8
@@ -47,8 +47,12 @@
private static final String LOAD_MCSESSION_BY_USER = "select ms from McSession ms left join fetch "
+ "ms.mcQueUsers user where user.queUsrId=:userId";
- private static final String GET_SESSIONS_FROM_CONTENT = "select ms.mcSessionId from McSession ms where ms.mcContent= :mcContent";
+ private static final String GET_SESSIONS_FROM_CONTENT = "select ms.mcSessionId from McSession ms where ms.mcContent=:mcContent";
+ private static final String COUNT_SESSION_COMPLETE = "from mcSession in class McSession where mcSession.sessionStatus='COMPLETE'";
+
+ private static final String COUNT_SESSION_INCOMPLETE = "from mcSession in class McSession where mcSession.sessionStatus='INCOMPLETE'";
+
public McSession getMcSessionByUID(Long uid)
{
return (McSession) this.getHibernateTemplate()
@@ -71,7 +75,31 @@
return null;
}
+ public int countSessionComplete()
+ {
+ HibernateTemplate templ = this.getHibernateTemplate();
+ List list = getSession().createQuery(COUNT_SESSION_COMPLETE)
+ .list();
+
+ if(list != null && list.size() > 0){
+ return list.size();
+ }
+ else return 0;
+ }
+
+ public int countSessionIncomplete()
+ {
+ HibernateTemplate templ = this.getHibernateTemplate();
+ List list = getSession().createQuery(COUNT_SESSION_INCOMPLETE)
+ .list();
+
+ if(list != null && list.size() > 0){
+ return list.size();
+ }
+ else return 0;
+ }
+
public void saveMcSession(McSession mcSession)
{
this.getHibernateTemplate().save(mcSession);
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java,v
diff -u -r1.8 -r1.9
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java 22 Nov 2005 12:55:45 -0000 1.8
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java 22 Nov 2005 20:38:07 -0000 1.9
@@ -46,6 +46,8 @@
private static final String LOAD_ATTEMPT_BY_ATTEMPT_ORDER = "from mcUsrAttempt in class McUsrAttempt where mcUsrAttempt.queUsrId=:queUsrId and mcUsrAttempt.mcQueContentId=:mcQueContentId and attemptOrder=:attemptOrder";
+ private static final String LOAD_MARK = "from mcUsrAttempt in class McUsrAttempt";
+
public McUsrAttempt getMcUserAttemptByUID(Long uid)
{
return (McUsrAttempt) this.getHibernateTemplate()
@@ -67,6 +69,17 @@
return list;
}
+
+ public List getMarks()
+ {
+ HibernateTemplate templ = this.getHibernateTemplate();
+ List list = getSession().createQuery(LOAD_MARK)
+ .list();
+
+ return list;
+ }
+
+
public List getHighestAttemptOrder(Long queUsrId)
{
HibernateTemplate templ = this.getHibernateTemplate();
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.25 -r1.26
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 22 Nov 2005 12:55:45 -0000 1.25
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 22 Nov 2005 20:38:06 -0000 1.26
@@ -209,5 +209,11 @@
public List getAttemptForQueContent(final Long queUsrId, final Long mcQueContentId) throws McApplicationException;
public List getAttemptByAttemptOrder(final Long queUsrId, final Long mcQueContentId, final Integer attemptOrder) throws McApplicationException;
+
+ public List getMarks() throws McApplicationException;
+
+ public int countSessionComplete() 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.28 -r1.29
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 22 Nov 2005 12:55:45 -0000 1.28
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 22 Nov 2005 20:38:06 -0000 1.29
@@ -590,6 +590,32 @@
}
}
+ public int countSessionComplete() throws McApplicationException
+ {
+ try
+ {
+ return mcSessionDAO.countSessionComplete();
+ }
+ catch(DataAccessException e)
+ {
+ throw new McApplicationException("Exception occured when lams is counting incomplete sessions"
+ + e.getMessage(),e);
+ }
+ }
+
+ public int countSessionIncomplete() throws McApplicationException
+ {
+ try
+ {
+ return mcSessionDAO.countSessionIncomplete();
+ }
+ catch(DataAccessException e)
+ {
+ throw new McApplicationException("Exception occured when lams is counting incomplete sessions"
+ + e.getMessage(),e);
+ }
+ }
+
public void deleteMcSession(McSession mcSession) throws McApplicationException
{
try
@@ -620,6 +646,19 @@
}
+ public List getMarks() throws McApplicationException
+ {
+ try
+ {
+ return mcUsrAttemptDAO.getMarks();
+ }
+ catch(DataAccessException e)
+ {
+ throw new McApplicationException("Exception occured when lams is getting marks "
+ + e.getMessage(),e);
+ }
+ }
+
public void deleteMcQueUsr(McQueUsr mcQueUsr) throws McApplicationException
{
try
@@ -633,7 +672,8 @@
+ e.getMessage(),e);
}
}
-
+
+
public void saveMcContent(McContent mc) throws McApplicationException
{
try
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java,v
diff -u -r1.8 -r1.9
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java 22 Nov 2005 15:36:03 -0000 1.8
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java 22 Nov 2005 20:38:06 -0000 1.9
@@ -322,6 +322,14 @@
}
+ /**
+ * returns the highest mark a learner has achieved
+ * getHighestMark(HttpServletRequest request, Long queUsrId)
+ *
+ * @param request
+ * @param queUsrId
+ * @return
+ */
public static int getHighestMark(HttpServletRequest request, Long queUsrId)
{
IMcService mcService =McUtils.getToolService(request);
@@ -339,7 +347,86 @@
return highestMark;
}
+ /**
+ * return the top mark for all learners
+ * getTopMark(HttpServletRequest request)
+ *
+ * @param request
+ * @return
+ */
+ public static int getTopMark(HttpServletRequest request)
+ {
+ IMcService mcService =McUtils.getToolService(request);
+ List listMarks=mcService.getMarks();
+
+ Iterator itMarks=listMarks.iterator();
+ int highestMark=0;
+ while (itMarks.hasNext())
+ {
+ McUsrAttempt mcUsrAttempt=(McUsrAttempt)itMarks.next();
+ int currentMark=mcUsrAttempt.getMark().intValue();
+ if (currentMark > highestMark)
+ highestMark= currentMark;
+ }
+ return highestMark;
+ }
+
+ /**
+ * return the lowest mark for all learners
+ * getTopMark(HttpServletRequest request)
+ *
+ * @param request
+ * @return
+ */
+ public static int getLowestMark(HttpServletRequest request)
+ {
+ IMcService mcService =McUtils.getToolService(request);
+ List listMarks=mcService.getMarks();
+
+ Iterator itMarks=listMarks.iterator();
+ int lowestMark=100;
+ while (itMarks.hasNext())
+ {
+ McUsrAttempt mcUsrAttempt=(McUsrAttempt)itMarks.next();
+ int currentMark=mcUsrAttempt.getMark().intValue();
+ if (currentMark < lowestMark)
+ lowestMark= currentMark;
+ }
+ return lowestMark;
+ }
+
+ /**
+ * return the average mark for all learners
+ * getTopMark(HttpServletRequest request)
+ *
+ * @param request
+ * @return
+ */
+ public static int getAverageMark(HttpServletRequest request)
+ {
+ IMcService mcService =McUtils.getToolService(request);
+ List listMarks=mcService.getMarks();
+
+ Iterator itMarks=listMarks.iterator();
+ int marksTotal=0;
+ int count=0;
+ while (itMarks.hasNext())
+ {
+ McUsrAttempt mcUsrAttempt=(McUsrAttempt)itMarks.next();
+ int currentMark=mcUsrAttempt.getMark().intValue();
+ marksTotal=marksTotal + currentMark;
+ count++;
+ }
+ logger.debug("marksTotal: " + marksTotal);
+ logger.debug("count: " + count);
+
+ int averageMark= (marksTotal / count);
+ logger.debug("averageMark: " + averageMark);
+ return averageMark;
+ }
+
+
public static Map buildMapCorrectOptions(List correctOptions)
{
Map mapCorrectOptions= new TreeMap(new McComparator());
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java,v
diff -u -r1.63 -r1.64
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 22 Nov 2005 15:36:03 -0000 1.63
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 22 Nov 2005 20:38:06 -0000 1.64
@@ -2324,9 +2324,25 @@
}
else if (mcLearningForm.getViewSummary() != null)
{
- logger.debug("requested view summary...");
+ logger.debug("requested results summary...");
+
+ int countSessionComplete=mcService.countSessionComplete();
+ int topMark=LearningUtil.getTopMark(request);
+ int lowestMark=LearningUtil.getLowestMark(request);
+ int averageMark=LearningUtil.getAverageMark(request);
+
+ logger.debug("countSessionComplete: " + countSessionComplete);
+ logger.debug("topMark: " + topMark);
+ logger.debug("lowestMark: " + lowestMark);
+ logger.debug("averageMark: " + averageMark);
+
+ request.getSession().setAttribute(COUNT_SESSION_COMPLETE, new Integer(countSessionComplete).toString());
+ request.getSession().setAttribute(TOP_MARK, new Integer(topMark).toString());
+ request.getSession().setAttribute(LOWEST_MARK, new Integer(lowestMark).toString());
+ request.getSession().setAttribute(AVERAGE_MARK, new Integer(averageMark).toString());
+
mcLearningForm.resetCommands();
- return (mapping.findForward(VIEW_SUMMARY));
+ return (mapping.findForward(RESULTS_SUMMARY));
}
else if (mcLearningForm.getLearnerFinished() != null)
{
Index: lams_tool_lamc/web/ResultsSummary.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/Attic/ResultsSummary.jsp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lams_tool_lamc/web/ResultsSummary.jsp 22 Nov 2005 20:38:07 -0000 1.1
@@ -0,0 +1,114 @@
+<%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html" %>
+<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
+<%@ taglib uri="/WEB-INF/struts-logic-el.tld" prefix="logic-el" %>
+<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
+<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ 4
+
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+  
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
Index: lams_tool_lamc/web/answersContent.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/Attic/answersContent.jsp,v
diff -u -r1.6 -r1.7
--- lams_tool_lamc/web/answersContent.jsp 20 Nov 2005 12:38:17 -0000 1.6
+++ lams_tool_lamc/web/answersContent.jsp 22 Nov 2005 20:38:07 -0000 1.7
@@ -24,15 +24,6 @@
-
-
-
- <%@ include file="errorbox.jsp" %>
- |
-
-
-
-
Index: lams_tool_lamc/web/WEB-INF/struts-config.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/WEB-INF/struts-config.xml,v
diff -u -r1.15 -r1.16
--- lams_tool_lamc/web/WEB-INF/struts-config.xml 22 Nov 2005 12:55:45 -0000 1.15
+++ lams_tool_lamc/web/WEB-INF/struts-config.xml 22 Nov 2005 20:38:07 -0000 1.16
@@ -172,6 +172,12 @@
/>
+
+
-
-
+
+
+
+
+
+
+
\ No newline at end of file