Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java =================================================================== diff -u -r80a1f85da1de7f647aeee20ecbeffd25e4173573 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java (.../McAppConstants.java) (revision 80a1f85da1de7f647aeee20ecbeffd25e4173573) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java (.../McAppConstants.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -149,9 +149,9 @@ public static final String MAP_GENERAL_CHECKED_OPTIONS_CONTENT ="mapGeneralCheckedOptionsContent"; public static final String MAP_LEARNER_QUESTIONS_CONTENT ="mapLearnerQuestionsContent"; public static final String MAP_LEARNER_CHECKED_OPTIONS_CONTENT ="mapLearnerCheckedOptionsContent"; + public static final String MAP_LEARNER_ASSESSMENT_RESULTS ="mapLearnerAssessmentResults"; - public static final String MAP_WEIGHTS ="mapWeights"; public static final String MAP_CHECKBOX_STATES ="mapCheckBoxStates"; public static final String MAP_SELECTED_OPTIONS ="mapSelectedOptions"; Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java =================================================================== diff -u -r25a3cd766f44f20c25042ad630f87b5b79a53671 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java (.../IMcOptionsContentDAO.java) (revision 25a3cd766f44f20c25042ad630f87b5b79a53671) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java (.../IMcOptionsContentDAO.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -69,8 +69,10 @@ * @param mcQueContentId * @return List */ - public List getPersistedSelectedOptions(Long mcQueContentId); + public List getPersistedSelectedOptions(Long mcQueContentId); + public List getCorrectOption(Long mcQueContentId); + /** *
saves McOptsContent
* @param mcOptionsContent Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java =================================================================== diff -u -r25a3cd766f44f20c25042ad630f87b5b79a53671 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java (.../McOptionsContentDAO.java) (revision 25a3cd766f44f20c25042ad630f87b5b79a53671) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java (.../McOptionsContentDAO.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -45,6 +45,8 @@ private static final String LOAD_PERSISTED_SELECTED_OPTIONS = "from mcOptsContent in class McOptsContent where mcOptsContent.mcQueContentId=:mcQueContentUid and mcOptsContent.correctOption = 1"; + private static final String LOAD_CORRECT_OPTION = "from mcOptsContent in class McOptsContent where mcOptsContent.mcQueContentId=:mcQueContentUid and mcOptsContent.correctOption = 1"; + public McOptsContent getMcOptionsContentByUID(Long uid) { return (McOptsContent) this.getHibernateTemplate() @@ -90,6 +92,16 @@ return list; } + + public List getCorrectOption(Long mcQueContentId) + { + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(LOAD_CORRECT_OPTION) + .setLong("mcQueContentUid", mcQueContentId.longValue()) + .list(); + + return list; + } public void saveMcOptionsContent(McOptsContent mcOptsContent) { Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java =================================================================== diff -u -r25a3cd766f44f20c25042ad630f87b5b79a53671 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 25a3cd766f44f20c25042ad630f87b5b79a53671) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -92,6 +92,8 @@ public List getPersistedSelectedOptions(Long mcQueContentId); + public List getCorrectOption(Long mcQueContentId); + public List getAllQuestionEntries(final Long mcContentId) throws McApplicationException; public McSession retrieveMcSession(Long mcSessionId) throws McApplicationException; Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== diff -u -r434092d51899472f987f50d982a6c151874f93d5 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 434092d51899472f987f50d982a6c151874f93d5) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -619,6 +619,20 @@ } } + + public List getCorrectOption(Long mcQueContentId) + { + try + { + return mcOptionsContentDAO.getCorrectOption(mcQueContentId); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is returning the " + + " correct option: " + + e.getMessage(),e); + } + } public void updateMcOptionsContent(McOptsContent mcOptsContent) throws McApplicationException { Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java =================================================================== diff -u -r78aa75a621d7da163d86f6148a2666bc27eddea3 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 78aa75a621d7da163d86f6148a2666bc27eddea3) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -317,7 +317,38 @@ logger.debug("refreshed Map:" + mapQuestionsContent); return mapQuestionsContent; } + + public static Map rebuildQuestionUidMapfromDB(HttpServletRequest request, Long toolContentId) + { + Map mapQuestionsContent= new TreeMap(new McComparator()); + + IMcService mcService =McUtils.getToolService(request); + logger.debug("toolContentId:" + toolContentId); + + McContent mcContent=mcService.retrieveMc(toolContentId); + logger.debug("mcContent:" + mcContent); + + List list=mcService.refreshQuestionContent(mcContent.getUid()); + logger.debug("refreshed list:" + list); + + Iterator listIterator=list.iterator(); + Long mapIndex=new Long(1); + while (listIterator.hasNext()) + { + McQueContent mcQueContent=(McQueContent)listIterator.next(); + logger.debug("mcQueContent:" + mcQueContent); + mapQuestionsContent.put(mapIndex.toString(),mcQueContent.getUid()); + mapIndex=new Long(mapIndex.longValue()+1); + } + + logger.debug("refreshed Map:" + mapQuestionsContent); + return mapQuestionsContent; + } + + + + /** * returns all the options for all the questions for a content * generateGeneralOptionsContentMap(HttpServletRequest request, McContent mcContent) Fisheye: Tag 48c973dcec3754f35dce1f2468a5739067b47179 refers to a dead (removed) revision in file `lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java =================================================================== diff -u -r80a1f85da1de7f647aeee20ecbeffd25e4173573 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 80a1f85da1de7f647aeee20ecbeffd25e4173573) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -2098,93 +2098,41 @@ McLearningForm mcLearningForm = (McLearningForm) form; IMcService mcService =McUtils.getToolService(request); - String optionCheckBoxSelected=request.getParameter("optionCheckBoxSelected"); - logger.debug("parameter optionCheckBoxSelected: " + optionCheckBoxSelected); + mcLearningForm.resetParameters(); + LearningUtil.readParameters(request, mcLearningForm); - mcLearningForm.setOptionCheckBoxSelected(null); - mcLearningForm.setQuestionIndex(null); - mcLearningForm.setOptionIndex(null); - mcLearningForm.setChecked(null); - mcLearningForm.setOptionValue(null); - - - if ((optionCheckBoxSelected != null) && optionCheckBoxSelected.equals("1")) - { - logger.debug("parameter optionCheckBoxSelected is selected " + optionCheckBoxSelected); - mcLearningForm.setOptionCheckBoxSelected("1"); - } - - String questionIndex=request.getParameter("questionIndex"); - logger.debug("parameter questionIndex: " + questionIndex); - if ((questionIndex != null)) - { - logger.debug("parameter questionIndex is selected " + questionIndex); - mcLearningForm.setQuestionIndex(questionIndex); - } - - String optionIndex=request.getParameter("optionIndex"); - logger.debug("parameter optionIndex: " + optionIndex); - if (optionIndex != null) - { - logger.debug("parameter optionIndex is selected " + optionIndex); - mcLearningForm.setOptionIndex(optionIndex); - } - - String optionValue=request.getParameter("optionValue"); - logger.debug("parameter optionValue: " + optionValue); - if (optionValue != null) - { - mcLearningForm.setOptionValue(optionValue); - } - - - String checked=request.getParameter("checked"); - logger.debug("parameter checked: " + checked); - if (checked != null) - { - logger.debug("parameter checked is selected " + checked); - mcLearningForm.setChecked(checked); - } - - if (mcLearningForm.getContinueOptionsCombined() != null) { logger.debug("continue options combined requested."); - /* process the answers */ + Map mapGeneralCheckedOptionsContent=(Map) request.getSession().getAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT); + logger.debug("final mapGeneralCheckedOptionsContent: " + mapGeneralCheckedOptionsContent); + + Long toolContentId=(Long) request.getSession().getAttribute(TOOL_CONTENT_ID); + logger.debug("toolContentId: " + toolContentId); + + logger.debug("will assess"); + LearningUtil.assess(request, mapGeneralCheckedOptionsContent, toolContentId); + logger.debug("assesment complete"); + + mcLearningForm.resetCommands(); return (mapping.findForward(INDIVIDUAL_REPORT)); } else if (mcLearningForm.getContinueOptions() != null) { - logger.debug("requested continueOptions..."); - boolean continueOptions=continueOptions(request); - if (continueOptions == true) - { - /* get the next question */ - mcLearningForm.resetCommands(); - return (mapping.findForward(LOAD_LEARNER)); - } - else - { - /* no more questions */ - mcLearningForm.resetCommands(); - return (mapping.findForward(INDIVIDUAL_REPORT)); - } + logger.debug("requested continue options..."); + return continueOptions(request, mcLearningForm, mapping); } else if (mcLearningForm.getOptionCheckBoxSelected() != null) { logger.debug("requested selectOptionsCheckBox..."); - selectOptionsCheckBox(request,mcLearningForm, questionIndex); + LearningUtil.selectOptionsCheckBox(request,mcLearningForm, mcLearningForm.getQuestionIndex()); } else if (mcLearningForm.getRedoQuestions() != null) { logger.debug("requested redoQuestions..."); - /* reset the checked options MAP */ - Map mapGeneralCheckedOptionsContent= new TreeMap(new McComparator()); - request.getSession().setAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT, mapGeneralCheckedOptionsContent); - mcLearningForm.resetCommands(); - return (mapping.findForward(LOAD_LEARNER)); + return redoQuestions(request, mcLearningForm, mapping); } else if (mcLearningForm.getViewSummary() != null) { @@ -2196,132 +2144,51 @@ mcLearningForm.resetCommands(); return (mapping.findForward(LOAD_LEARNER)); } - + /** - * updates the Map based on learner activity - * selectOptionsCheckBox(HttpServletRequest request,McLearningForm mcLearningForm, String questionIndex) + * continueOptions(HttpServletRequest request, McLearningForm mcLearningForm, ActionMapping mapping) * * @param request - * @param form + * @param mcLearningForm + * @param mapping + * @return */ - protected void selectOptionsCheckBox(HttpServletRequest request,McLearningForm mcLearningForm, String questionIndex) + protected ActionForward continueOptions(HttpServletRequest request, McLearningForm mcLearningForm, ActionMapping mapping) { - logger.debug("requested optionCheckBoxSelected..."); - logger.debug("questionIndex: " + mcLearningForm.getQuestionIndex()); - logger.debug("optionIndex: " + mcLearningForm.getOptionIndex()); - logger.debug("optionValue: " + mcLearningForm.getOptionValue()); - logger.debug("checked: " + mcLearningForm.getChecked()); - - Map mapGeneralCheckedOptionsContent=(Map) request.getSession().getAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT); - logger.debug("mapGeneralCheckedOptionsContent: " + mapGeneralCheckedOptionsContent); - - if (mapGeneralCheckedOptionsContent.size() == 0) + logger.debug("requested continueOptions..."); + boolean continueOptions=LearningUtil.continueOptions(request); + if (continueOptions == true) { - logger.debug("mapGeneralCheckedOptionsContent size is 0"); - Map mapLeanerCheckedOptionsContent= new TreeMap(new McComparator()); - - if (mcLearningForm.getChecked().equals("true")) - mapLeanerCheckedOptionsContent.put(mcLearningForm.getOptionIndex(), mcLearningForm.getOptionValue()); - else - mapLeanerCheckedOptionsContent.remove(mcLearningForm.getOptionIndex()); - - mapGeneralCheckedOptionsContent.put(mcLearningForm.getQuestionIndex(),mapLeanerCheckedOptionsContent); - request.getSession().setAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT, mapGeneralCheckedOptionsContent); + /* get the next question */ + mcLearningForm.resetCommands(); + return (mapping.findForward(LOAD_LEARNER)); } else { - Map mapCurrentOptions=(Map) mapGeneralCheckedOptionsContent.get(questionIndex); - - logger.debug("mapCurrentOptions: " + mapCurrentOptions); - if (mapCurrentOptions != null) - { - if (mcLearningForm.getChecked().equals("true")) - mapCurrentOptions.put(mcLearningForm.getOptionIndex(), mcLearningForm.getOptionValue()); - else - mapCurrentOptions.remove(mcLearningForm.getOptionIndex()); - - logger.debug("updated mapCurrentOptions: " + mapCurrentOptions); - - mapGeneralCheckedOptionsContent.put(mcLearningForm.getQuestionIndex(),mapCurrentOptions); - request.getSession().setAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT, mapGeneralCheckedOptionsContent); - } - else - { - logger.debug("no options for this questions has been selected yet"); - Map mapLeanerCheckedOptionsContent= new TreeMap(new McComparator()); - - if (mcLearningForm.getChecked().equals("true")) - mapLeanerCheckedOptionsContent.put(mcLearningForm.getOptionIndex(), mcLearningForm.getOptionValue()); - else - mapLeanerCheckedOptionsContent.remove(mcLearningForm.getOptionIndex()); - - mapGeneralCheckedOptionsContent.put(mcLearningForm.getQuestionIndex(),mapLeanerCheckedOptionsContent); - request.getSession().setAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT, mapGeneralCheckedOptionsContent); - } - } - - mapGeneralCheckedOptionsContent=(Map) request.getSession().getAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT); - logger.debug("final mapGeneralCheckedOptionsContent: " + mapGeneralCheckedOptionsContent); + /* no more questions */ + mcLearningForm.resetCommands(); + return (mapping.findForward(INDIVIDUAL_REPORT)); + } } /** - * continueOptions(HttpServletRequest request) + * redoQuestions(HttpServletRequest request, McLearningForm mcLearningForm, ActionMapping mapping) * * @param request - * @return boolean + * @param mcLearningForm + * @param mapping + * @return */ - protected boolean continueOptions(HttpServletRequest request) + protected ActionForward redoQuestions(HttpServletRequest request, McLearningForm mcLearningForm, ActionMapping mapping) { - IMcService mcService =McUtils.getToolService(request); - - logger.debug("continue options requested."); - String currentQuestionIndex=(String)request.getSession().getAttribute(CURRENT_QUESTION_INDEX); - logger.debug("currentQuestionIndex:" + currentQuestionIndex); - - int newQuestionIndex=new Integer(currentQuestionIndex).intValue() + 1; - request.getSession().setAttribute(CURRENT_QUESTION_INDEX, new Integer(newQuestionIndex).toString()); - logger.debug("updated questionIndex:" + request.getSession().getAttribute(CURRENT_QUESTION_INDEX)); - - Long toolContentID= (Long) request.getSession().getAttribute(TOOL_CONTENT_ID); - logger.debug("TOOL_CONTENT_ID: " + toolContentID); - - McContent mcContent=mcService.retrieveMc(toolContentID); - logger.debug("mcContent: " + mcContent); - - /* - * fetch question content from content - */ - logger.debug("newQuestionIndex: " + newQuestionIndex); - Iterator contentIterator=mcContent.getMcQueContents().iterator(); - boolean questionFound=false; - while (contentIterator.hasNext()) - { - McQueContent mcQueContent=(McQueContent)contentIterator.next(); - if (mcQueContent != null) - { - int displayOrder=mcQueContent.getDisplayOrder().intValue(); - logger.debug("displayOrder: " + displayOrder); - - /* prepare the next question's candidate answers for presentation*/ - if (newQuestionIndex == displayOrder) - { - logger.debug("get the next question... "); - Long uid=mcQueContent.getUid(); - logger.debug("uid : " + uid); - /* get the options for this question */ - List listMcOptions=mcService.findMcOptionsContentByQueId(uid); - logger.debug("listMcOptions : " + listMcOptions); - Map mapOptionsContent=McUtils.generateOptionsMap(listMcOptions); - request.getSession().setAttribute(MAP_OPTIONS_CONTENT, mapOptionsContent); - logger.debug("updated Options Map: " + request.getSession().getAttribute(MAP_OPTIONS_CONTENT)); - questionFound=true; - } - } - } - logger.debug("questionFound: " + questionFound); - return questionFound; + logger.debug("requested redoQuestions..."); + /* reset the checked options MAP */ + Map mapGeneralCheckedOptionsContent= new TreeMap(new McComparator()); + request.getSession().setAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT, mapGeneralCheckedOptionsContent); + mcLearningForm.resetCommands(); + return (mapping.findForward(LOAD_LEARNER)); } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java =================================================================== diff -u -r80a1f85da1de7f647aeee20ecbeffd25e4173573 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java (.../McLearningForm.java) (revision 80a1f85da1de7f647aeee20ecbeffd25e4173573) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java (.../McLearningForm.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -28,8 +28,17 @@ this.setRedoQuestions( null); this.setViewSummary(null); } - + public void resetParameters() + { + this.setOptionCheckBoxSelected(null); + this.setQuestionIndex(null); + this.setOptionIndex(null); + this.setChecked(null); + this.setOptionValue(null); + } + + /** * @return Returns the continueOptions. */ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java =================================================================== diff -u -r78aa75a621d7da163d86f6148a2666bc27eddea3 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 78aa75a621d7da163d86f6148a2666bc27eddea3) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -333,8 +333,9 @@ Map mapLeanerCheckedOptionsContent= new TreeMap(new McComparator()); request.getSession().setAttribute(MAP_LEARNER_CHECKED_OPTIONS_CONTENT, mapLeanerCheckedOptionsContent); + Map mapLeanerAssessmentResults= new TreeMap(new McComparator()); + request.getSession().setAttribute(MAP_LEARNER_ASSESSMENT_RESULTS, mapLeanerAssessmentResults); - /* .. till here */ } Index: lams_tool_lamc/web/IndividualLearnerResults.jsp =================================================================== diff -u -r80a1f85da1de7f647aeee20ecbeffd25e4173573 -r690cf7460e6899ac1279fc823d9819a2060744b1 --- lams_tool_lamc/web/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision 80a1f85da1de7f647aeee20ecbeffd25e4173573) +++ lams_tool_lamc/web/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision 690cf7460e6899ac1279fc823d9819a2060744b1) @@ -71,34 +71,35 @@ -
+ |
+ |||
+
|
+