Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -re46194b7711ec6078f5946f1281946c9b177e103 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java (.../IMcOptionsContentDAO.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java (.../IMcOptionsContentDAO.java) (revision e46194b7711ec6078f5946f1281946c9b177e103) @@ -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 =================================================================== diff -u -r027758c2ee944683de01e4cd689fe3244d031920 -re46194b7711ec6078f5946f1281946c9b177e103 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java (.../McOptionsContentDAO.java) (revision 027758c2ee944683de01e4cd689fe3244d031920) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java (.../McOptionsContentDAO.java) (revision e46194b7711ec6078f5946f1281946c9b177e103) @@ -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 =================================================================== diff -u -r619ba8c6e9663bd0b345e06764dd71404f909b74 -re46194b7711ec6078f5946f1281946c9b177e103 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 619ba8c6e9663bd0b345e06764dd71404f909b74) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision e46194b7711ec6078f5946f1281946c9b177e103) @@ -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 =================================================================== diff -u -r619ba8c6e9663bd0b345e06764dd71404f909b74 -re46194b7711ec6078f5946f1281946c9b177e103 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 619ba8c6e9663bd0b345e06764dd71404f909b74) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision e46194b7711ec6078f5946f1281946c9b177e103) @@ -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 =================================================================== diff -u -r619ba8c6e9663bd0b345e06764dd71404f909b74 -re46194b7711ec6078f5946f1281946c9b177e103 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java (.../McLearningAction.java) (revision 619ba8c6e9663bd0b345e06764dd71404f909b74) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java (.../McLearningAction.java) (revision e46194b7711ec6078f5946f1281946c9b177e103) @@ -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); }