Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUsrAttempt.hbm.xml
===================================================================
diff -u -r7d9590c15a0ee3175f63dec067d4b5191a8a6e4d -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUsrAttempt.hbm.xml (.../McUsrAttempt.hbm.xml) (revision 7d9590c15a0ee3175f63dec067d4b5191a8a6e4d)
+++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUsrAttempt.hbm.xml (.../McUsrAttempt.hbm.xml) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -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
===================================================================
diff -u -rd6cf8ad18993af7a9d51820aa2cd2274d1560ac7 -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java (.../McUsrAttemptDAO.java) (revision d6cf8ad18993af7a9d51820aa2cd2274d1560ac7)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java (.../McUsrAttemptDAO.java) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -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
===================================================================
diff -u -r5e1d707c3adf190cd76bb2459b89a60d511e7077 -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 5e1d707c3adf190cd76bb2459b89a60d511e7077)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -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
===================================================================
diff -u -r5e1d707c3adf190cd76bb2459b89a60d511e7077 -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 5e1d707c3adf190cd76bb2459b89a60d511e7077)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -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
===================================================================
diff -u -r7d9590c15a0ee3175f63dec067d4b5191a8a6e4d -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java (.../LearningUtil.java) (revision 7d9590c15a0ee3175f63dec067d4b5191a8a6e4d)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java (.../LearningUtil.java) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -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
===================================================================
diff -u -r7d9590c15a0ee3175f63dec067d4b5191a8a6e4d -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 7d9590c15a0ee3175f63dec067d4b5191a8a6e4d)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -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
===================================================================
diff -u -r7d9590c15a0ee3175f63dec067d4b5191a8a6e4d -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 7d9590c15a0ee3175f63dec067d4b5191a8a6e4d)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -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
===================================================================
diff -u -rcad6df7d203a1565dbbedf61b9088288ed13c19c -r59fe1db88f298509908caae77a8ddfd6fb7d2292
--- lams_tool_lamc/web/RedoQuestions.jsp (.../RedoQuestions.jsp) (revision cad6df7d203a1565dbbedf61b9088288ed13c19c)
+++ lams_tool_lamc/web/RedoQuestions.jsp (.../RedoQuestions.jsp) (revision 59fe1db88f298509908caae77a8ddfd6fb7d2292)
@@ -44,8 +44,10 @@
- 1
- 2
+
+
+
+
|
Fisheye: Tag 59fe1db88f298509908caae77a8ddfd6fb7d2292 refers to a dead (removed) revision in file `lams_tool_lamc/web/SequentialAnswersContent.jsp'.
Fisheye: No comparison available. Pass `N' to diff?