Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java,v diff -u -r1.17 -r1.18 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java 17 Sep 2006 06:23:44 -0000 1.17 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java 5 Dec 2006 16:30:27 -0000 1.18 @@ -111,6 +111,8 @@ public void removeMcOptionsContent(McOptsContent mcOptsContent); public List findMcOptionNamesByQueId(Long mcQueContentId); + + public Long loadMaxUid(); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java,v diff -u -r1.20 -r1.21 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java 17 Nov 2006 11:13:05 -0000 1.20 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java 5 Dec 2006 16:30:27 -0000 1.21 @@ -52,13 +52,52 @@ private static final String LOAD_CORRECT_OPTION = "from mcOptsContent in class McOptsContent where mcOptsContent.mcQueContentId=:mcQueContentUid and mcOptsContent.correctOption = 1"; + + private static final String LOAD_MAX_UID = "from mcOptsContent in class McOptsContent"; + public McOptsContent getMcOptionsContentByUID(Long uid) { return (McOptsContent) this.getHibernateTemplate() .get(McOptsContent.class, uid); } + + + public Long loadMaxUid() + { + logger.debug("starting loadMaxUid"); + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(LOAD_MAX_UID) + .list(); + + logger.debug("list:" + list); + + int maxUid=0; + Long uid=null; + if(list != null && list.size() > 0){ + Iterator listIterator=list.iterator(); + while (listIterator.hasNext()) + { + McOptsContent mcOptsContent=(McOptsContent)listIterator.next(); + logger.debug("mcOptsContent:" + mcOptsContent); + uid=mcOptsContent.getUid(); + logger.debug("uid:" + uid); + + if (uid.intValue() > maxUid) + { + logger.debug("assign max to :" + uid); + maxUid=uid.intValue(); + } + + + } + } + logger.debug("final max uid:" + maxUid); + return new Long(maxUid); + } + + public List findMcOptionsContentByQueId(Long mcQueContentId) { 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.60 -r1.61 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 3 Dec 2006 21:23:35 -0000 1.60 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 5 Dec 2006 16:30:26 -0000 1.61 @@ -93,6 +93,8 @@ public McOptsContent getMcOptionsContentByUID(Long uid) throws McApplicationException; + public Long loadMaxUid() throws McApplicationException; + public void cleanAllQuestionsSimple(final Long mcContentUid) throws McApplicationException; public void resetAllQuestions(final Long mcContentUid) 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.91 -r1.92 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 3 Dec 2006 21:23:34 -0000 1.91 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 5 Dec 2006 16:30:26 -0000 1.92 @@ -691,6 +691,22 @@ } } + + public Long loadMaxUid() throws McApplicationException + { + try + { + return mcOptionsContentDAO.loadMaxUid(); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is getting max uid" + + " in the mc options content: " + + e.getMessage(),e); + } + } + + public List populateCandidateAnswersDTO(Long mcQueContentId) throws McApplicationException { try Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java,v diff -u -r1.61 -r1.62 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java 3 Dec 2006 21:23:36 -0000 1.61 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java 5 Dec 2006 16:30:27 -0000 1.62 @@ -834,8 +834,10 @@ } else { - //assuming there can not be more than 50 candidates - for (int i=0 ; i < 51 ; i++) + Long maxCandidateCount=mcService.loadMaxUid(); + logger.debug("maxCandidateCount: " + maxCandidateCount); + + for (int i=0 ; i <= maxCandidateCount.intValue() ; i++) { String currentCheckedCa= request.getParameter("checkedCa" + i); logger.debug("currentCheckedCa : " + currentCheckedCa); @@ -846,7 +848,7 @@ learnerInput.add(currentCheckedCa); } } - + mcLearningForm.resetCa(mapping, request); }