Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McGeneralAuthoringDTO.java =================================================================== diff -u -r463f7b3dbb88ee41210f7170dc19dc25360cd26f -r1555edf007ae13898458700147b51f6909126179 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McGeneralAuthoringDTO.java (.../McGeneralAuthoringDTO.java) (revision 463f7b3dbb88ee41210f7170dc19dc25360cd26f) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McGeneralAuthoringDTO.java (.../McGeneralAuthoringDTO.java) (revision 1555edf007ae13898458700147b51f6909126179) @@ -45,11 +45,8 @@ protected String retries; protected String markValue; - protected String passMarkValue; - protected String totalMarks; - @Override public int compareTo(Object o) { McGeneralAuthoringDTO mcGeneralAuthoringDTO = (McGeneralAuthoringDTO) o; @@ -212,21 +209,6 @@ } /** - * @return Returns the totalMarks. - */ - public String getTotalMarks() { - return totalMarks; - } - - /** - * @param totalMarks - * The totalMarks to set. - */ - public void setTotalMarks(String totalMarks) { - this.totalMarks = totalMarks; - } - - /** * @return Returns the showMarks. */ public String getShowMarks() { Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java =================================================================== diff -u -r463f7b3dbb88ee41210f7170dc19dc25360cd26f -r1555edf007ae13898458700147b51f6909126179 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 463f7b3dbb88ee41210f7170dc19dc25360cd26f) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 1555edf007ae13898458700147b51f6909126179) @@ -205,22 +205,22 @@ return null; } - public static String getTotalMark(List questionDTOs) { + public static int getTotalMark(List questionDTOs) { Iterator iter = questionDTOs.iterator(); - int intTotalMark = 0; + int totalMark = 0; while (iter.hasNext()) { McQuestionDTO questionDto = iter.next(); String mark = questionDto.getMark(); if (StringUtils.isNotBlank(mark)) { int intMark = new Integer(mark).intValue(); - intTotalMark += intMark; + totalMark += intMark; } } - return new Integer(intTotalMark).toString(); + return totalMark; } /** @@ -336,7 +336,7 @@ * persisting content */ public static McContent saveOrUpdateMcContent(IMcService mcService, HttpServletRequest request, McContent mcContent, - String strToolContentID) { + String strToolContentID, List questionDTOs) { UserDTO toolUser = (UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER); String richTextTitle = request.getParameter(McAppConstants.TITLE); @@ -426,18 +426,6 @@ mcContent.setCreatedBy(userId); /** make sure we are setting the userId from the User object above */ - String passmark = request.getParameter("passmark"); - - if (passmark == null) { - passmark = "0"; - } - - if ((passmark != null) && (passmark.equals(" "))) { - passmark = "0"; - } else if ((passmark != null) && (passmark.length() == 0)) { - passmark = "0"; - } - mcContent.setQuestionsSequenced(questionsSequencedBoolean); mcContent.setRandomize(randomizeBoolean); mcContent.setDisplayAnswers(displayAnswersBoolean); @@ -450,7 +438,18 @@ mcContent.setReflect(reflectBoolean); mcContent.setReflectionSubject(reflectionSubject); - mcContent.setPassMark(new Integer(passmark)); + String passmarkStr = request.getParameter("passmark"); + //nullify passmark in case 'retries' option is OFF + if (StringUtils.isBlank(passmarkStr) || !retriesBoolean) { + passmarkStr = "0"; + } + //passmark can't be more than total mark + Integer passmark = new Integer(passmarkStr); + int totalMark = AuthoringUtil.getTotalMark(questionDTOs); + if (totalMark < passmark) { + passmark = totalMark; + } + mcContent.setPassMark(passmark); if (newContent) { mcService.createMc(mcContent); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java =================================================================== diff -u -r463f7b3dbb88ee41210f7170dc19dc25360cd26f -r1555edf007ae13898458700147b51f6909126179 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 463f7b3dbb88ee41210f7170dc19dc25360cd26f) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 1555edf007ae13898458700147b51f6909126179) @@ -141,7 +141,7 @@ } //store content - mcContent = AuthoringUtil.saveOrUpdateMcContent(mcService, request, mcContentTest, strToolContentID); + mcContent = AuthoringUtil.saveOrUpdateMcContent(mcService, request, mcContentTest, strToolContentID, questionDTOs); //store questions mcContent = mcService.createQuestions(questionDTOs, mcContent); @@ -176,10 +176,6 @@ sessionMap.put(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); - - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); mcAuthoringForm.setCurrentTab("1"); @@ -398,8 +394,6 @@ String richTextTitle = request.getParameter(McAppConstants.TITLE); mcAuthoringForm.setTitle(richTextTitle); mcAuthoringForm.setCurrentTab("1"); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); return mapping.findForward(McAppConstants.LOAD_AUTHORING); @@ -502,9 +496,6 @@ mcGeneralAuthoringDTO.setMarkValue(mark); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - mcGeneralAuthoringDTO.setEditableQuestionText(newQuestionParam); mcAuthoringForm.setFeedback(feedback); @@ -577,10 +568,6 @@ mcGeneralAuthoringDTO.setMarkValue(mark); request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); - - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); return (mapping.findForward("newQuestionBox")); @@ -652,12 +639,8 @@ mcAuthoringForm.setFeedback(editableFeedback); request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); - request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String requestNewEditableQuestionBox = (String) request.getAttribute("requestNewEditableQuestionBox"); String newQuestion = request.getParameter("newQuestion"); @@ -724,10 +707,6 @@ mcAuthoringForm.setCurrentTab("1"); request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); @@ -776,10 +755,6 @@ mcAuthoringForm.setCurrentTab("1"); request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); return (mapping.findForward("itemList")); @@ -815,12 +790,7 @@ mcAuthoringForm.setCurrentTab("1"); request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); - request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); return (mapping.findForward("itemList")); @@ -892,9 +862,6 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String newQuestion = request.getParameter("newQuestion"); mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); @@ -968,9 +935,6 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String newQuestion = request.getParameter("newQuestion"); mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); @@ -1049,9 +1013,6 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String newQuestion = request.getParameter("newQuestion"); mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); @@ -1128,57 +1089,17 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); mcGeneralAuthoringDTO.setMarkValue(mark); request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); - request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); request.setAttribute("requestNewEditableQuestionBox", new Boolean(true).toString()); return (mapping.findForward("candidateAnswersList")); } - public ActionForward updateMarksList(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException { - McAuthoringForm mcAuthoringForm = (McAuthoringForm) form; - //TODO - String sessionMapId = mcAuthoringForm.getHttpSessionID(); //= request.getParameter(McAppConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession() - .getAttribute(sessionMapId); - request.setAttribute(McAppConstants.ATTR_SESSION_MAP_ID, sessionMapId); - - String questionIndex = request.getParameter("questionIndex"); - mcAuthoringForm.setQuestionIndex(questionIndex); - - List questionDTOs = (List) sessionMap.get(McAppConstants.LIST_QUESTION_DTOS); - - sessionMap.put(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - - String richTextTitle = request.getParameter(McAppConstants.TITLE); - - McGeneralAuthoringDTO mcGeneralAuthoringDTO = new McGeneralAuthoringDTO(); - mcAuthoringForm.setTitle(richTextTitle); - - setFormProperties(request, mcAuthoringForm, mcGeneralAuthoringDTO); - mcAuthoringForm.setCurrentTab("2"); - - request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - - request.setAttribute(McAppConstants.MC_GENERAL_AUTHORING_DTO, mcGeneralAuthoringDTO); - - request.setAttribute(McAppConstants.TOTAL_QUESTION_COUNT, new Integer(questionDTOs.size())); - - return (mapping.findForward(McAppConstants.LOAD_AUTHORING)); - } - public ActionForward moveAddedCandidateUp(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { McAuthoringForm mcAuthoringForm = (McAuthoringForm) form; @@ -1210,9 +1131,6 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String newQuestion = request.getParameter("newQuestion"); mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); @@ -1257,9 +1175,6 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String newQuestion = request.getParameter("newQuestion"); mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); @@ -1311,9 +1226,6 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String newQuestion = request.getParameter("newQuestion"); mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); @@ -1358,8 +1270,6 @@ request.setAttribute(McAppConstants.LIST_QUESTION_DTOS, questionDTOs); - String totalMark = AuthoringUtil.getTotalMark(questionDTOs); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); mcGeneralAuthoringDTO.setEditableQuestionText(newQuestion); mcGeneralAuthoringDTO.setMarkValue(mark); @@ -1438,7 +1348,7 @@ String retries = request.getParameter("retries"); mcAuthoringForm.setRetries(retries); mcGeneralAuthoringDTO.setRetries(retries); - + String reflect = request.getParameter(REFLECT); mcAuthoringForm.setReflect(reflect); mcGeneralAuthoringDTO.setReflect(reflect); @@ -1449,6 +1359,7 @@ String passmark = request.getParameter("passmark"); mcGeneralAuthoringDTO.setPassMarkValue(passmark); + mcAuthoringForm.setPassmark(passmark); } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java =================================================================== diff -u -r463f7b3dbb88ee41210f7170dc19dc25360cd26f -r1555edf007ae13898458700147b51f6909126179 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java (.../McStarterAction.java) (revision 463f7b3dbb88ee41210f7170dc19dc25360cd26f) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java (.../McStarterAction.java) (revision 1555edf007ae13898458700147b51f6909126179) @@ -110,9 +110,6 @@ mcGeneralAuthoringDTO.setMarkValue("1"); - String totalMark = AuthoringUtil.getTotalMark(questionDtos); - mcGeneralAuthoringDTO.setTotalMarks(totalMark); - String passMark = " "; if ((mcContent.getPassMark() != null) && (mcContent.getPassMark().intValue() != 0)) { passMark = mcContent.getPassMark().toString(); @@ -147,6 +144,7 @@ mcAuthoringForm.setPrefixAnswersWithLetters(mcContent.isPrefixAnswersWithLetters() ? "1" : "0"); mcAuthoringForm.setRetries(mcContent.isRetries() ? "1" : "0"); + mcAuthoringForm.setPassmark("" + mcContent.getPassMark()); mcAuthoringForm.setReflect(mcContent.isReflect() ? "1" : "0"); mcAuthoringForm.setReflectionSubject(mcContent.getReflectionSubject()); Index: lams_tool_lamc/web/authoring/AdvancedContent.jsp =================================================================== diff -u -r463f7b3dbb88ee41210f7170dc19dc25360cd26f -r1555edf007ae13898458700147b51f6909126179 --- lams_tool_lamc/web/authoring/AdvancedContent.jsp (.../AdvancedContent.jsp) (revision 463f7b3dbb88ee41210f7170dc19dc25360cd26f) +++ lams_tool_lamc/web/authoring/AdvancedContent.jsp (.../AdvancedContent.jsp) (revision 1555edf007ae13898458700147b51f6909126179) @@ -1,4 +1,5 @@ <%@ include file="/common/taglibs.jsp"%> +
@@ -47,36 +48,35 @@
-
- - +
style="display:none;"> + +
- +
@@ -96,4 +96,3 @@ ra.onkeyup=turnOnRefect; - Index: lams_tool_lamc/web/authoring/AuthoringTabsHolder.jsp =================================================================== diff -u -r463f7b3dbb88ee41210f7170dc19dc25360cd26f -r1555edf007ae13898458700147b51f6909126179 --- lams_tool_lamc/web/authoring/AuthoringTabsHolder.jsp (.../AuthoringTabsHolder.jsp) (revision 463f7b3dbb88ee41210f7170dc19dc25360cd26f) +++ lams_tool_lamc/web/authoring/AuthoringTabsHolder.jsp (.../AuthoringTabsHolder.jsp) (revision 1555edf007ae13898458700147b51f6909126179) @@ -9,6 +9,16 @@ <%@ include file="/common/header.jsp"%>