Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUsrAttempt.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/Attic/McUsrAttempt.hbm.xml,v
diff -u -r1.9 -r1.10
--- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUsrAttempt.hbm.xml 20 Nov 2005 18:13:50 -0000 1.9
+++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUsrAttempt.hbm.xml 21 Nov 2005 12:28:34 -0000 1.10
@@ -50,6 +50,16 @@
length="1"
/>
+
+
returns the highest mark of a learner
+ * with the given identifier queUsrId
+ *
+ * @param uid
+ * @return
+ */
+ public List getHighestMark(Long queUsrId);
}
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.6 -r1.7
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java 11 Nov 2005 17:53:19 -0000 1.6
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java 21 Nov 2005 12:28:34 -0000 1.7
@@ -22,10 +22,13 @@
package org.lamsfoundation.lams.tool.mc.dao.hibernate;
+import java.util.List;
+
import org.apache.log4j.Logger;
import org.hibernate.FlushMode;
import org.lamsfoundation.lams.tool.mc.McUsrAttempt;
import org.lamsfoundation.lams.tool.mc.dao.IMcUsrAttemptDAO;
+import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
@@ -35,6 +38,8 @@
public class McUsrAttemptDAO extends HibernateDaoSupport implements IMcUsrAttemptDAO {
static Logger logger = Logger.getLogger(McUsrAttemptDAO.class.getName());
+ private static final String LOAD_HIGHEST_MARK_BY_USER_ID = "from mcUsrAttempt in class McUsrAttempt where mcUsrAttempt.queUsrId=:queUsrId";
+
public McUsrAttempt getMcUserAttemptByUID(Long uid)
{
return (McUsrAttempt) this.getHibernateTemplate()
@@ -46,6 +51,16 @@
this.getHibernateTemplate().save(mcUsrAttempt);
}
+ public List getHighestMark(Long queUsrId)
+ {
+ HibernateTemplate templ = this.getHibernateTemplate();
+ List list = getSession().createQuery(LOAD_HIGHEST_MARK_BY_USER_ID)
+ .setLong("queUsrId", queUsrId.longValue())
+ .list();
+
+ return list;
+ }
+
public void updateMcUsrAttempt(McUsrAttempt mcUsrAttempt)
{
this.getHibernateTemplate().update(mcUsrAttempt);
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.23 -r1.24
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 19 Nov 2005 12:52:15 -0000 1.23
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 21 Nov 2005 12:28:34 -0000 1.24
@@ -201,5 +201,7 @@
public void cleanUploadedFilesMetaData() throws McApplicationException;
public void persistFile(String uuid, boolean isOnlineFile, String fileName, McContent mcContent) throws McApplicationException;
+
+ public List getHighestMark(Long queUsrId) 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.26 -r1.27
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 19 Nov 2005 12:52:15 -0000 1.26
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 21 Nov 2005 12:28:34 -0000 1.27
@@ -322,8 +322,22 @@
}
}
+
+ public List getHighestMark(Long queUsrId) throws McApplicationException
+ {
+ try
+ {
+ return mcUsrAttemptDAO.getHighestMark(queUsrId);
+ }
+ catch (DataAccessException e)
+ {
+ throw new McApplicationException("Exception occured when lams is getting the learner's highest mark: "
+ + e.getMessage(),
+ e);
+ }
+ }
+
-
public McQueContent retrieveMcQueContentByUID(Long uid) throws McApplicationException
{
try
@@ -1874,4 +1888,5 @@
public void setMcUploadedFileDAO(IMcUploadedFileDAO mcUploadedFileDAO) {
this.mcUploadedFileDAO = mcUploadedFileDAO;
}
+
}
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.5 -r1.6
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java 20 Nov 2005 18:13:50 -0000 1.5
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java 21 Nov 2005 12:28:34 -0000 1.6
@@ -14,6 +14,7 @@
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.tool.mc.McAppConstants;
+import org.lamsfoundation.lams.tool.mc.McApplicationException;
import org.lamsfoundation.lams.tool.mc.McComparator;
import org.lamsfoundation.lams.tool.mc.McContent;
import org.lamsfoundation.lams.tool.mc.McOptsContent;
@@ -304,7 +305,28 @@
}
return correctAnswerCount;
}
+
+ public static int getHighestMark(HttpServletRequest request, Long queUsrId)
+ {
+ logger.debug("queUsrId : " + queUsrId);
+ IMcService mcService =McUtils.getToolService(request);
+ List listMarks=mcService.getHighestMark(queUsrId);
+
+ Iterator itMarks=listMarks.iterator();
+ int highestMark=0;
+ while (itMarks.hasNext())
+ {
+ McUsrAttempt mcUsrAttempt=(McUsrAttempt)itMarks.next();
+ logger.debug("mcUsrAttempt mark: " + mcUsrAttempt.getMark());
+ int currentMark=mcUsrAttempt.getMark().intValue();
+ logger.debug("currentMark: " + currentMark);
+ if (currentMark > highestMark)
+ highestMark= currentMark;
+ }
+ logger.debug("highestMark : " + highestMark);
+ return highestMark;
+ }
public static Map buildMapCorrectOptions(List correctOptions)
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.59 -r1.60
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 20 Nov 2005 18:13:50 -0000 1.59
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 21 Nov 2005 12:28:34 -0000 1.60
@@ -2203,9 +2203,17 @@
logger.debug("requested redoQuestions...");
request.getSession().setAttribute(CURRENT_QUESTION_INDEX, "1");
request.getSession().setAttribute(TOTAL_COUNT_REACHED, new Boolean(false).toString());
+
+ McQueUsr mcQueUsr=LearningUtil.getUser(request);
+ Long queUsrId=mcQueUsr.getUid();
+ logger.debug("queUsrId: " + queUsrId);
+
+ int learnerBestMark=LearningUtil.getHighestMark(request, queUsrId);
+ logger.debug("learnerBestMark: " + learnerBestMark);
+ request.getSession().setAttribute(LEARNER_BEST_MARK,new Integer(learnerBestMark).toString());
+
mcLearningForm.resetCommands();
return (mapping.findForward(REDO_QUESTIONS));
- //return redoQuestions(request, mcLearningForm, mapping);
}
else if (mcLearningForm.getRedoQuestionsOk() != null)
{
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java,v
diff -u -r1.12 -r1.13
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 20 Nov 2005 18:13:50 -0000 1.12
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 21 Nov 2005 12:28:34 -0000 1.13
@@ -237,8 +237,8 @@
if (mcQueUsr != null)
{
- logger.debug("the learner has already responsed to this content, just generate a read-only report.");
- return (mapping.findForward(LEARNER_REPORT));
+ logger.debug("the learner has already responsed to this content, just generate a read-only report. Use redo questions for this.");
+ return (mapping.findForward(REDO_QUESTIONS));
}
Index: lams_tool_lamc/web/RedoQuestions.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/Attic/RedoQuestions.jsp,v
diff -u -r1.1 -r1.2
--- lams_tool_lamc/web/RedoQuestions.jsp 18 Nov 2005 17:02:57 -0000 1.1
+++ lams_tool_lamc/web/RedoQuestions.jsp 21 Nov 2005 12:28:33 -0000 1.2
@@ -44,8 +44,10 @@
- 1
- 2
+
+
+
+
|
Fisheye: Tag 1.7 refers to a dead (removed) revision in file `lams_tool_lamc/web/SequentialAnswersContent.jsp'.
Fisheye: No comparison available. Pass `N' to diff?