Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java =================================================================== diff -u -rb5b3af0c142e3903795b7dc73e650be67caff6ee -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision b5b3af0c142e3903795b7dc73e650be67caff6ee) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -89,18 +89,6 @@ */ protected static void setRadioboxes(McContent mcContent, McAuthoringForm mcAuthoringForm) { - if (mcContent.isUsernameVisible()) - { - mcAuthoringForm.setUsernameVisible(ON); - logger.debug("setting userNameVisible to true"); - } - else - { - mcAuthoringForm.setUsernameVisible(OFF); - logger.debug("setting userNameVisible to false"); - } - - if (mcContent.isQuestionsSequenced()) { mcAuthoringForm.setQuestionsSequenced(ON); @@ -112,17 +100,6 @@ logger.debug("setting questionsSequenced to false"); } - if (mcContent.isSynchInMonitor()) - { - mcAuthoringForm.setSynchInMonitor(ON); - logger.debug("setting SynchInMonitor to true"); - } - else - { - mcAuthoringForm.setSynchInMonitor(OFF); - logger.debug("setting SynchInMonitor to false"); - } - if (mcContent.isRetries()) { mcAuthoringForm.setRetries(ON); @@ -134,16 +111,6 @@ logger.debug("setting retries to false"); } - if (mcContent.isShowFeedback()) - { - mcAuthoringForm.setShowFeedback(ON); - logger.debug("setting showFeedback to true"); - } - else - { - mcAuthoringForm.setShowFeedback(OFF); - logger.debug("setting showFeedback to false"); - } if (mcContent.isShowReport()) { @@ -232,6 +199,13 @@ } + /** + * to make sure there is data in the map + * verifyMapNoEmptyString(Map map) + * + * @param map + * @return boolean + */ public static boolean verifyMapNoEmptyString(Map map) { Iterator itMap = map.entrySet().iterator(); @@ -301,7 +275,14 @@ return mapTempQuestionsContent; } - + + /** + * makes entry set of the map sequential + * sequenceMap(Map globalMap) + * + * @param globalMap + * @return Map + */ public static Map sequenceMap(Map globalMap) { logger.debug("globalMap:"+ globalMap); @@ -322,7 +303,6 @@ return mapTemp; } - /** * shrinks the size of the Map to only used entries @@ -354,7 +334,15 @@ return mapTempQuestionsContent; } - + + /** + * returns the value of the entry for a given index + * getRequiredWeightEntry(Map mapWeights, String questionIndex) + * + * @param mapWeights + * @param questionIndex + * @return + */ public static String getRequiredWeightEntry(Map mapWeights, String questionIndex) { logger.debug("mapWeights: " + mapWeights); @@ -399,6 +387,15 @@ } + /** + * moves the contents of the Map up or down + * shiftWeightsMap(Map mapWeights, String questionIndex , String direction) + * + * @param mapWeights + * @param questionIndex + * @param direction + * @return Map + */ public static Map shiftWeightsMap(Map mapWeights, String questionIndex , String direction) { /* map to be returned */ @@ -450,6 +447,7 @@ return mapTempWeights; } + /** * shifts the options contents within mapGenaralOptionsContent and mapGeneralSelectedlOptionsContent * shiftOptionsMap(Map mapGlobalOptionsContent, String questionIndex , String direction) @@ -1208,16 +1206,7 @@ if (mcAuthoringForm.getShowFeedback().equalsIgnoreCase(ON)) isShowFeedback=true; - logger.debug("MONITORING_REPORT_TITLE: " + mcAuthoringForm.getMonitoringReportTitle()); - monitoringReportTitle=mcAuthoringForm.getMonitoringReportTitle(); - if ((monitoringReportTitle == null) || (monitoringReportTitle.length() == 0)) - monitoringReportTitle=(String)request.getSession().getAttribute(MONITORING_REPORT_TITLE); - reportTitle=mcAuthoringForm.getReportTitle(); - logger.debug("REPORT_TITLE: " + mcAuthoringForm.getReportTitle()); - if ((reportTitle == null) || (reportTitle.length() == 0)) - reportTitle=(String)request.getSession().getAttribute(REPORT_TITLE); - String richTextTitle=""; richTextTitle = (String)request.getSession().getAttribute(RICHTEXT_TITLE); logger.debug("createContent richTextTitle from session: " + richTextTitle); @@ -1645,7 +1634,7 @@ */ public static void cleanupRedundantOptions(HttpServletRequest request, Map mapStartupGeneralOptionsContent, Map mapStartupGeneralSelectedOptionsContent, Map mapGeneralOptionsContent, Map mapGeneralSelectedOptionsContent, Map mapStartupGeneralOptionsQueId) { - logger.debug("doing cleanupRedundantOptions..."); + logger.debug("doing upRedundantOptions..."); logger.debug("starting mapStartupGeneralOptionsContent...:" + mapStartupGeneralOptionsContent); logger.debug("using mapGeneralOptionsContent..: "+ mapGeneralOptionsContent); IMcService mcService =McUtils.getToolService(request); @@ -2005,7 +1994,7 @@ /** - * persistw a question content + * persists the question content * createQuestionContent(HttpServletRequest request, Map mapQuestionsContent, Map mapFeedbackIncorrect, Map mapFeedbackCorrect, String question, Map mapGeneralOptionsContent, McContent mcContent) * * @param request @@ -2058,12 +2047,17 @@ else { logger.debug("we don't create this question's content since it doesn't have options associated with it."); - //mapCopyQuestionsContent.remove(new Long(displayOrder).toString()); - //request.getSession().setAttribute(MAP_QUESTIONS_CONTENT, mapCopyQuestionsContent); } } + /** + * getNewDisplayOrder(Map mapQuestionsContent, String question) + * + * @param mapQuestionsContent + * @param question + * @return int + */ public static int getNewDisplayOrder(Map mapQuestionsContent, String question) { Iterator itQuestionsMap = mapQuestionsContent.entrySet().iterator(); @@ -2143,6 +2137,13 @@ } + /** + * getNextAvailableDisplayOrder(HttpServletRequest request, Long mcContentId) + * + * @param request + * @param mcContentId + * @return int + */ public static int getNextAvailableDisplayOrder(HttpServletRequest request, Long mcContentId) { IMcService mcService =McUtils.getToolService(request); @@ -2163,7 +2164,13 @@ } - + + /** + * refreshMaps(HttpServletRequest request, long toolContentId) + * + * @param request + * @param toolContentId + */ public static void refreshMaps(HttpServletRequest request, long toolContentId) { Map mapQuestionsUidContent=AuthoringUtil.rebuildQuestionUidMapfromDB(request, new Long(toolContentId)); @@ -2186,6 +2193,16 @@ } + /** + * + * uploadFile(HttpServletRequest request, McAuthoringForm mcAuthoringForm, boolean isOfflineFile) throws RepositoryCheckedException + * + * @param request + * @param mcAuthoringForm + * @param isOfflineFile + * @return McAttachmentDTO + * @throws RepositoryCheckedException + */ public static McAttachmentDTO uploadFile(HttpServletRequest request, McAuthoringForm mcAuthoringForm, boolean isOfflineFile) throws RepositoryCheckedException { logger.debug("doing uploadFile..."); @@ -2301,7 +2318,12 @@ } - + /** + * populateMetaDataAsAttachments(List listOfflineFilesMetaData) + * + * @param listOfflineFilesMetaData + * @return List + */ public static List populateMetaDataAsAttachments(List listOfflineFilesMetaData) { List listAttachments=new LinkedList(); @@ -2330,6 +2352,12 @@ } + /** + * populateMetaDataAsFilenames(List listFilesMetaData) + * + * @param listFilesMetaData + * @return List + */ public static List populateMetaDataAsFilenames(List listFilesMetaData) { List listFilenames=new LinkedList(); @@ -2346,7 +2374,14 @@ return listFilenames; } - + + /** + * removeFileItem(HttpServletRequest request, String filename, String offlineFile) + * + * @param request + * @param filename + * @param offlineFile + */ public static void removeFileItem(HttpServletRequest request, String filename, String offlineFile) { logger.debug("offlineFile:" + offlineFile); @@ -2377,6 +2412,13 @@ } + /** + * findFileNameIndex(List listUploadedFileNames, String filename) + * + * @param listUploadedFileNames + * @param filename + * @return int + */ public static int findFileNameIndex(List listUploadedFileNames, String filename) { Iterator itListUploadedFileNames = listUploadedFileNames.iterator(); @@ -2396,6 +2438,13 @@ } + /** + * removeFileItem(List listFilesMetaData, String uuid) + * + * @param listFilesMetaData + * @param uuid + * @return List + */ public static List removeFileItem(List listFilesMetaData, String uuid) { McAttachmentDTO deletableAttachmentDTO=null; @@ -2426,6 +2475,14 @@ return listFilesMetaData; } + + /** + * persistFilesMetaData(HttpServletRequest request, boolean isOfflineFile, McContent mcContent) + * + * @param request + * @param isOfflineFile + * @param mcContent + */ public static void persistFilesMetaData(HttpServletRequest request, boolean isOfflineFile, McContent mcContent) { IMcService mcService =McUtils.getToolService(request); @@ -2468,6 +2525,12 @@ } + /** + * extractFileNames(List listFilesMetaData) + * + * @param listFilesMetaData + * @return List + */ public static List extractFileNames(List listFilesMetaData) { Iterator itList = listFilesMetaData.iterator(); @@ -2485,6 +2548,12 @@ } + /** + * removeRedundantOfflineFileItems(HttpServletRequest request, McContent mcContent) + * + * @param request + * @param mcContent + */ public static void removeRedundantOfflineFileItems(HttpServletRequest request, McContent mcContent) { IMcService mcService =McUtils.getToolService(request); @@ -2532,6 +2601,12 @@ } + /** + * removeRedundantOnlineFileItems(HttpServletRequest request, McContent mcContent) + * + * @param request + * @param mcContent + */ public static void removeRedundantOnlineFileItems(HttpServletRequest request, McContent mcContent) { IMcService mcService =McUtils.getToolService(request); @@ -2579,7 +2654,10 @@ } } - + /** + * simulatePropertyInspector_RunOffline(HttpServletRequest request) + * @param request + */ public void simulatePropertyInspector_RunOffline(HttpServletRequest request) { IMcService mcService =McUtils.getToolService(request); @@ -2628,4 +2706,54 @@ } logger.debug("end of simulating setAsDefineLater on content id: " + toolContentId); } + + + /** + * cleans up authoring http session + * cleanupAuthoringSession(HttpServletRequest request) + * @param request + */ + public static void cleanupAuthoringSession(HttpServletRequest request) + { + request.getSession().removeAttribute(ACTIVE_MODULE); + request.getSession().removeAttribute(SHOW_AUTHORING_TABS); + request.getSession().removeAttribute(TOOL_CONTENT_ID); + request.getSession().removeAttribute(DEFINE_LATER_IN_EDIT_MODE); + request.getSession().removeAttribute(LIST_OFFLINEFILES_METADATA); + request.getSession().removeAttribute(LIST_ONLINEFILES_METADATA); + request.getSession().removeAttribute(LIST_UPLOADED_OFFLINE_FILENAMES); + request.getSession().removeAttribute(LIST_UPLOADED_ONLINE_FILENAMES); + request.getSession().removeAttribute(EDIT_OPTIONS_MODE); + request.getSession().removeAttribute(IS_REVISITING_USER); + request.getSession().removeAttribute(PASSMARK); + request.getSession().removeAttribute(DEFINE_LATER); + request.getSession().removeAttribute(IS_REVISITING_USER); + request.getSession().removeAttribute(MAP_WEIGHTS); + request.getSession().removeAttribute(DEFINE_LATER_EDIT_ACTIVITY); + request.getSession().removeAttribute(RICHTEXT_END_LEARNING_MSG); + request.getSession().removeAttribute(RICHTEXT_FEEDBACK_CORRECT); + request.getSession().removeAttribute(RICHTEXT_FEEDBACK_INCORRECT); + request.getSession().removeAttribute(RICHTEXT_TITLE); + request.getSession().removeAttribute(RICHTEXT_INSTRUCTIONS); + request.getSession().removeAttribute(RICHTEXT_OFFLINEINSTRUCTIONS); + request.getSession().removeAttribute(RICHTEXT_ONLINEINSTRUCTIONS); + request.getSession().removeAttribute(RETRIES); + request.getSession().removeAttribute(MAP_DEFAULTOPTIONS_CONTENT); + request.getSession().removeAttribute(MAP_GENERAL_OPTIONS_CONTENT); + request.getSession().removeAttribute(MAP_GENERAL_SELECTED_OPTIONS_CONTENT); + request.getSession().removeAttribute(MAP_STARTUP_GENERAL_OPTIONS_CONTENT); + request.getSession().removeAttribute(MAP_STARTUP_GENERAL_SELECTED_OPTIONS_CONTENT); + request.getSession().removeAttribute(MAP_DISABLED_QUESTIONS); + request.getSession().removeAttribute(MAP_SELECTED_OPTIONS); + request.getSession().removeAttribute(MAP_FEEDBACK_INCORRECT); + request.getSession().removeAttribute(MAP_FEEDBACK_CORRECT); + request.getSession().removeAttribute(SELECTED_QUESTION); + request.getSession().removeAttribute(SELECTED_QUESTION_INDEX); + request.getSession().removeAttribute(QUESTIONS_WITHNO_OPTIONS); + request.getSession().removeAttribute(USER_EXCEPTION_CONTENTID_REQUIRED); + request.getSession().removeAttribute(USER_EXCEPTION_NUMBERFORMAT); + request.getSession().removeAttribute(USER_EXCEPTION_DEFAULTCONTENT_NOTSETUP); + request.getSession().removeAttribute(USER_EXCEPTION_DEFAULTQUESTIONCONTENT_NOT_AVAILABLE); + request.getSession().removeAttribute(USER_EXCEPTION_DEFAULTOPTIONSCONTENT_NOT_AVAILABLE); + } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/CustomStrutsExceptionHandler.java =================================================================== diff -u -rc4919663e2a2d489776b073236d2423afc519c75 -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/CustomStrutsExceptionHandler.java (.../CustomStrutsExceptionHandler.java) (revision c4919663e2a2d489776b073236d2423afc519c75) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/CustomStrutsExceptionHandler.java (.../CustomStrutsExceptionHandler.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -48,7 +48,6 @@ HttpServletRequest request, HttpServletResponse response) { - // write the exception information to the log file logger.error("fatal System exception: [" + ex.getMessage() + "] ", ex); ActionForward forward = null; String property = null; @@ -68,7 +67,6 @@ path = mapping.getInput(); } logger.error("path: " + path); - // Construct the forward object forward = new ActionForward(path); logger.error("forward: " + forward); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java =================================================================== diff -u -rcce842019c6df3ae96e74926204342d3eb54105a -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java (.../LearningUtil.java) (revision cce842019c6df3ae96e74926204342d3eb54105a) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java (.../LearningUtil.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -247,7 +247,14 @@ } - + + /** + * calculateWeights(Map mapLeanerAssessmentResults, Map mapQuestionWeights) + * + * @param mapLeanerAssessmentResults + * @param mapQuestionWeights + * @return int + */ public static int calculateWeights(Map mapLeanerAssessmentResults, Map mapQuestionWeights) { logger.debug("starting calculate weights..."); @@ -286,6 +293,13 @@ } + /** + * calculates the mark of a learner + * getMark(Map mapLeanerAssessmentResults) + * + * @param mapLeanerAssessmentResults + * @return int + */ public static int getMark(Map mapLeanerAssessmentResults) { int totalUserWeight=0; @@ -302,7 +316,14 @@ return correctAnswerCount; } - + /** + * calculates the max attempt count of a learner + * getHighestAttemptOrder(HttpServletRequest request, Long queUsrId) + * + * @param request + * @param queUsrId + * @return + */ public static int getHighestAttemptOrder(HttpServletRequest request, Long queUsrId) { IMcService mcService =McUtils.getToolService(request); @@ -436,6 +457,13 @@ } + /** + * conversts correct options list to correct options map + * buildMapCorrectOptions(List correctOptions) + * + * @param correctOptions + * @return Map + */ public static Map buildMapCorrectOptions(List correctOptions) { Map mapCorrectOptions= new TreeMap(new McComparator()); @@ -511,7 +539,13 @@ return true; } - + /** + * compareMapsCross(Map mapCorrectOptions, Map mapCheckedOptions) + * + * @param mapCorrectOptions + * @param mapCheckedOptions + * @return boolean + */ public static boolean compareMapsCross(Map mapCorrectOptions, Map mapCheckedOptions) { logger.debug("mapCorrectOptions: " + mapCorrectOptions); @@ -533,6 +567,13 @@ } + /** + * optionExists(String optionValue, Map generalMap) + * + * @param optionValue + * @param generalMap + * @return boolean + */ public static boolean optionExists(String optionValue, Map generalMap) { Iterator itMap = generalMap.entrySet().iterator(); @@ -667,6 +708,13 @@ } + /** + * buildWeightsMap(HttpServletRequest request, Long toolContentId) + * + * @param request + * @param toolContentId + * @return Map + */ public static Map buildWeightsMap(HttpServletRequest request, Long toolContentId) { IMcService mcService =McUtils.getToolService(request); @@ -685,4 +733,50 @@ } return mapWeights; } + + + /** + * removes Learning session attributes + * cleanUpLearningSession(HttpServletRequest request) + * + * @param request + */ + public static void cleanUpLearningSession(HttpServletRequest request) + { + request.getSession().removeAttribute(USER_ID); + request.getSession().removeAttribute(TOOL_CONTENT_ID); + request.getSession().removeAttribute(TOOL_SESSION_ID); + request.getSession().removeAttribute(QUESTION_LISTING_MODE); + request.getSession().removeAttribute(QUESTION_LISTING_MODE_SEQUENTIAL); + request.getSession().removeAttribute(QUESTION_LISTING_MODE_COMBINED); + request.getSession().removeAttribute(MAP_OPTIONS_CONTENT); + request.getSession().removeAttribute(MAP_QUESTION_CONTENT_LEARNER); + request.getSession().removeAttribute(TOTAL_QUESTION_COUNT); + request.getSession().removeAttribute(CURRENT_QUESTION_INDEX); + request.getSession().removeAttribute(LEARNER_LAST_ATTEMPT_ORDER); + request.getSession().removeAttribute(LEARNER_BEST_MARK); + request.getSession().removeAttribute(PASSMARK); + request.getSession().removeAttribute(REPORT_TITLE_LEARNER); + request.getSession().removeAttribute(IS_CONTENT_IN_USE); + request.getSession().removeAttribute(IS_TOOL_ACTIVITY_OFFLINE); + request.getSession().removeAttribute(IS_USERNAME_VISIBLE); + request.getSession().removeAttribute(IS_SHOW_FEEDBACK); + request.getSession().removeAttribute(TOTAL_COUNT_REACHED); + request.getSession().removeAttribute(COUNT_SESSION_COMPLETE); + request.getSession().removeAttribute(CURRENT_QUESTION_INDEX); + request.getSession().removeAttribute(TOP_MARK); + request.getSession().removeAttribute(LOWEST_MARK); + request.getSession().removeAttribute(AVERAGE_MARK); + request.getSession().removeAttribute(MAP_GENERAL_CHECKED_OPTIONS_CONTENT); + request.getSession().removeAttribute(MAP_LEARNER_ASSESSMENT_RESULTS); + request.getSession().removeAttribute(MAP_LEARNER_FEEDBACK_INCORRECT); + request.getSession().removeAttribute(MAP_LEARNER_FEEDBACK_CORRECT); + request.getSession().removeAttribute(MAP_QUE_ATTEMPTS); + request.getSession().removeAttribute(MAP_QUE_CORRECT_ATTEMPTS); + request.getSession().removeAttribute(MAP_QUE_INCORRECT_ATTEMPTS); + request.getSession().removeAttribute(MAP_QUESTION_WEIGHTS); + request.getSession().removeAttribute(USER_EXCEPTION_USERID_NOTAVAILABLE); + request.getSession().removeAttribute(USER_EXCEPTION_TOOLSESSIONID_REQUIRED); + request.getSession().removeAttribute(USER_EXCEPTION_NUMBERFORMAT); + } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java =================================================================== diff -u -r7e1c83d3efde059002c7dd11f7fe67f06739f82d -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 7e1c83d3efde059002c7dd11f7fe67f06739f82d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -1663,16 +1663,6 @@ if (mcAuthoringForm.getShowFeedback().equalsIgnoreCase(ON)) isShowFeedback=true; - logger.debug("MONITORING_REPORT_TITLE: " + mcAuthoringForm.getMonitoringReportTitle()); - monitoringReportTitle=mcAuthoringForm.getMonitoringReportTitle(); - if ((monitoringReportTitle == null) || (monitoringReportTitle.length() == 0)) - monitoringReportTitle=(String)request.getSession().getAttribute(MONITORING_REPORT_TITLE); - - reportTitle=mcAuthoringForm.getReportTitle(); - logger.debug("REPORT_TITLE: " + mcAuthoringForm.getReportTitle()); - if ((reportTitle == null) || (reportTitle.length() == 0)) - reportTitle=(String)request.getSession().getAttribute(REPORT_TITLE); - String richTextTitle=(String) request.getSession().getAttribute(RICHTEXT_TITLE); logger.debug("richTextTitle: " + richTextTitle); @@ -1729,7 +1719,6 @@ logger.debug("updating mcContent title and instructions:" + mcContent); mcContent.setTitle(richTextTitle); mcContent.setInstructions(richTextInstructions); - mcContent.setQuestionsSequenced(isQuestionsSequenced); mcContent.setSynchInMonitor(isSynchInMonitor); mcContent.setUsernameVisible(isUsernameVisible); @@ -1739,7 +1728,7 @@ mcContent.setShowReport(isSln); mcContent.setEndLearningMessage("Thanks"); mcContent.setReportTitle(richTextReportTitle); - mcContent.setMonitoringReportTitle(monitoringReportTitle); + mcContent.setMonitoringReportTitle("Monitoring Report"); mcContent.setEndLearningMessage(richTextEndLearningMessage); mcContent.setOfflineInstructions(richTextOfflineInstructions); mcContent.setOnlineInstructions(richTextOnlineInstructions); @@ -2180,10 +2169,8 @@ mcAuthoringForm.resetUserAction(); - /*remove attribues */ - request.getSession().removeAttribute(SHOW_AUTHORING_TABS); - request.getSession().removeAttribute(DEFINE_LATER_IN_EDIT_MODE); - request.getSession().removeAttribute(ACTIVE_MODULE); + /*remove session attribues */ + AuthoringUtil.cleanupAuthoringSession(request); logger.debug("removed attribues..."); /* Check this: find out where to forward to*/ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java =================================================================== diff -u -r33b8b66db88cde371050de61dc9af52e7b064546 -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java (.../McLearningAction.java) (revision 33b8b66db88cde371050de61dc9af52e7b064546) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java (.../McLearningAction.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -266,6 +266,8 @@ { logger.debug("requested learner finished, the learner should be directed to next activity."); mcLearningForm.resetCommands(); + LearningUtil.cleanUpLearningSession(request); + //fix this return (mapping.findForward(VIEW_SUMMARY)); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java =================================================================== diff -u -r38613aa19737fe2eaffe9c1cde3f9a67aec160b6 -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 38613aa19737fe2eaffe9c1cde3f9a67aec160b6) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -385,12 +385,7 @@ /* the following attributes are unused for the moment. * from here... */ - logger.debug("ACTIVITY_TITLE: " + mcContent.getTitle()); - request.getSession().setAttribute(ACTIVITY_TITLE,mcContent.getTitle()); - logger.debug("ACTIVITY_INSTRUCTIONS: " + mcContent.getInstructions()); - request.getSession().setAttribute(ACTIVITY_INSTRUCTIONS,mcContent.getInstructions()); - logger.debug("IS_USERNAME_VISIBLE: " + mcContent.isUsernameVisible()); request.getSession().setAttribute(IS_USERNAME_VISIBLE, new Boolean(mcContent.isUsernameVisible()).toString()); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java =================================================================== diff -u -r41bac747ea5da74b5668e9d25c75f920ca17e84d -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java (.../McMonitoringAction.java) (revision 41bac747ea5da74b5668e9d25c75f920ca17e84d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java (.../McMonitoringAction.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -226,6 +226,23 @@ } + /** + * editActivityQuestions(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException, + ToolException + * + * @param mapping + * @param form + * @param request + * @param response + * @return + * @throws IOException + * @throws ServletException + * @throws ToolException + */ public ActionForward editActivityQuestions(ActionMapping mapping, ActionForm form, HttpServletRequest request, @@ -809,6 +826,7 @@ McAction mcAction = new McAction(); return mcAction.doneAdvancedTab(mapping, form, request, response); } + /** * acts as a proxy to authoring doneInstructionsTab(...) @@ -844,6 +862,34 @@ /** + * user is done with Monitoring environment + * doneMonitoring(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException + * + * @param mapping + * @param form + * @param request + * @param response + * @return + * @throws IOException + * @throws ServletException + */ + public ActionForward doneMonitoring(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException + { + MonitoringUtil.cleanupMonitoringSession(request); + /*forward outside of the app. Currently it is index.jsp */ + return (mapping.findForward(LOAD_STARTER)); + } + + + /** * persists error messages to request scope * @param request * @param message Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java =================================================================== diff -u -rd62c7b3bc34c482dc06bb6d8463d317e9d1dc713 -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java (.../McMonitoringStarterAction.java) (revision d62c7b3bc34c482dc06bb6d8463d317e9d1dc713) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java (.../McMonitoringStarterAction.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -136,7 +136,6 @@ logger.debug("LIST_MONITORED_ANSWERS_CONTAINER_DTO: " + request.getSession().getAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO)); /* ends here*/ - /* this section is related to instructions tab. Starts here. */ request.getSession().setAttribute(RICHTEXT_ONLINEINSTRUCTIONS,mcContent.getOnlineInstructions()); request.getSession().setAttribute(RICHTEXT_OFFLINEINSTRUCTIONS,mcContent.getOfflineInstructions()); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java =================================================================== diff -u -r41e6825931fe4365813dd4368cef83399a5324ce -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java (.../McStarterAction.java) (revision 41e6825931fe4365813dd4368cef83399a5324ce) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java (.../McStarterAction.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -478,26 +478,26 @@ protected void retrieveExistingContent(HttpServletRequest request, McAuthoringForm mcAuthoringForm, long toolContentId, McContent mcContent) { IMcService mcService =McUtils.getToolService(request); - request.getSession().setAttribute(IS_REVISITING_USER, new Boolean(true)); + /*to find out whether the content is being modified or not*/ + request.getSession().setAttribute(DEFINE_LATER, new Boolean(mcContent.isDefineLater())); + + /*used in authoring mode */ request.getSession().setAttribute(RICHTEXT_TITLE,mcContent.getTitle()); request.getSession().setAttribute(RICHTEXT_INSTRUCTIONS,mcContent.getInstructions()); - request.getSession().setAttribute(MONITORING_REPORT_TITLE,mcContent.getMonitoringReportTitle()); - request.getSession().setAttribute(REPORT_TITLE,mcContent.getReportTitle()); - request.getSession().setAttribute(DEFINE_LATER, new Boolean(mcContent.isDefineLater())); - request.getSession().setAttribute(RICHTEXT_OFFLINEINSTRUCTIONS,mcContent.getOfflineInstructions()); + + /*used in advanced tab*/ request.getSession().setAttribute(RICHTEXT_REPORT_TITLE,mcContent.getReportTitle()); - request.getSession().setAttribute(RICHTEXT_ONLINEINSTRUCTIONS,mcContent.getOnlineInstructions()); request.getSession().setAttribute(RICHTEXT_END_LEARNING_MSG,mcContent.getEndLearningMessage()); - request.getSession().setAttribute(RETRIES, new Boolean(mcContent.isRetries())); + //request.getSession().setAttribute(RETRIES, new Boolean(mcContent.isRetries())); request.getSession().setAttribute(PASSMARK, mcContent.getPassMark()); //Integer - McUtils.setDefaultSessionAttributes(request, mcContent, mcAuthoringForm); + /* used in instructions tab*/ + request.getSession().setAttribute(RICHTEXT_OFFLINEINSTRUCTIONS,mcContent.getOfflineInstructions()); + request.getSession().setAttribute(RICHTEXT_ONLINEINSTRUCTIONS,mcContent.getOnlineInstructions()); + logger.debug("RICHTEXT_TITLE:" + request.getSession().getAttribute(RICHTEXT_TITLE)); - mcAuthoringForm.setPassmark((mcContent.getPassMark()).toString()); - logger.debug("PASSMARK:" + mcAuthoringForm.getPassmark()); - logger.debug("getting name lists based on uid:" + mcContent.getUid()); List listUploadedOffFiles= mcService.retrieveMcUploadedOfflineFilesName(mcContent.getUid()); @@ -514,7 +514,7 @@ McUtils.populateUploadedFilesData(request, mcContent); logger.debug("populated UploadedFilesData"); Map mapWeights= AuthoringUtil.rebuildWeightsMapfromDB(request, new Long(toolContentId)); - logger.debug("mapWeights: " + mapWeights); + logger.debug("Check the mapWeights: " + mapWeights); request.getSession().setAttribute(MAP_WEIGHTS, mapWeights); Map mapQuestionsContent=AuthoringUtil.rebuildQuestionMapfromDB(request, new Long(toolContentId)); @@ -574,18 +574,14 @@ request.getSession().setAttribute(RICHTEXT_TITLE,mcContent.getTitle()); request.getSession().setAttribute(RICHTEXT_INSTRUCTIONS,mcContent.getInstructions()); - request.getSession().setAttribute(MONITORING_REPORT_TITLE,mcContent.getMonitoringReportTitle()); - request.getSession().setAttribute(REPORT_TITLE,mcContent.getReportTitle()); request.getSession().setAttribute(DEFINE_LATER, new Boolean(mcContent.isDefineLater())); request.getSession().setAttribute(RICHTEXT_OFFLINEINSTRUCTIONS,mcContent.getOfflineInstructions()); request.getSession().setAttribute(RICHTEXT_ONLINEINSTRUCTIONS,mcContent.getOnlineInstructions()); request.getSession().setAttribute(RETRIES, new Boolean(mcContent.isRetries())); request.getSession().setAttribute(PASSMARK, mcContent.getPassMark()); //Integer request.getSession().setAttribute(RICHTEXT_REPORT_TITLE,mcContent.getReportTitle()); request.getSession().setAttribute(RICHTEXT_END_LEARNING_MSG,mcContent.getEndLearningMessage()); - - McUtils.setDefaultSessionAttributes(request, mcContent, mcAuthoringForm); - + logger.debug("PASSMARK:" + request.getSession().getAttribute(PASSMARK)); logger.debug("RICHTEXT_TITLE:" + request.getSession().getAttribute(RICHTEXT_TITLE)); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/MonitoringUtil.java =================================================================== diff -u -r495e4bb367d716cdac02356511f824a056c978c2 -r3971dc9408da1bacd6012b197165c66eca01778b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 495e4bb367d716cdac02356511f824a056c978c2) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 3971dc9408da1bacd6012b197165c66eca01778b) @@ -269,5 +269,38 @@ } return map; } + + /** + * cleans up the monitoring session + * cleanupMonitoringSession(HttpServletRequest request) + * + * @param request + */ + public static void cleanupMonitoringSession(HttpServletRequest request) + { + request.getSession().removeAttribute(USER_ID); + request.getSession().removeAttribute(TOOL_CONTENT_ID); + request.getSession().removeAttribute(ACTIVE_MODULE); + request.getSession().removeAttribute(CURRENT_MONITORING_TAB); + request.getSession().removeAttribute(USER_EXCEPTION_CONTENT_DOESNOTEXIST); + request.getSession().removeAttribute(USER_EXCEPTION_NO_TOOL_SESSIONS); + request.getSession().removeAttribute(SUMMARY_TOOL_SESSIONS); + request.getSession().removeAttribute(SELECTION_CASE); + request.getSession().removeAttribute(CURRENT_MONITORED_TOOL_SESSION); + request.getSession().removeAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO); + request.getSession().removeAttribute(RICHTEXT_ONLINEINSTRUCTIONS); + request.getSession().removeAttribute(RICHTEXT_OFFLINEINSTRUCTIONS); + request.getSession().removeAttribute(USER_EXCEPTION_NO_STUDENT_ACTIVITY); + request.getSession().removeAttribute(COUNT_SESSION_COMPLETE); + request.getSession().removeAttribute(COUNT_MAX_ATTEMPT); + request.getSession().removeAttribute(TOP_MARK); + request.getSession().removeAttribute(LOWEST_MARK); + request.getSession().removeAttribute(AVERAGE_MARK); + request.getSession().removeAttribute(USER_EXCEPTION_USERID_NOTAVAILABLE); + request.getSession().removeAttribute(USER_EXCEPTION_CONTENTID_REQUIRED); + request.getSession().removeAttribute(USER_EXCEPTION_NUMBERFORMAT); + request.getSession().removeAttribute(DEFINE_LATER_IN_EDIT_MODE); + request.getSession().removeAttribute(EDIT_OPTIONS_MODE); + } }