Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java,v diff -u -r1.57 -r1.58 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java 27 Oct 2006 15:42:15 -0000 1.57 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/AuthoringUtil.java 31 Oct 2006 23:58:17 -0000 1.58 @@ -1836,15 +1836,47 @@ if (correct.equals("Correct")) { - logger.debug("there is at leat one Correct candidate, it is good."); + logger.debug("there is at least one Correct candidate, it is good."); return true; } } return false; } + + protected boolean validateOnlyOneCorrectCandidate(List caList) + { + int correctCandidatesCount= 0; + + Iterator itCaList= caList.iterator(); + while (itCaList.hasNext()) + { + McCandidateAnswersDTO mcCandidateAnswersDTO= (McCandidateAnswersDTO)itCaList.next(); + logger.debug("mcCandidateAnswersDTO:" + mcCandidateAnswersDTO); + + String candidateAnswer= mcCandidateAnswersDTO.getCandidateAnswer(); + String correct= mcCandidateAnswersDTO.getCorrect(); + logger.debug("correct:" + correct); + + if (correct.equals("Correct")) + { + logger.debug("there is at leat one Correct candidate, it is good."); + ++correctCandidatesCount; + } + } + logger.debug("correctCandidatesCount: " + correctCandidatesCount); + + if (correctCandidatesCount > 1) + return false; //not good + + return true; + } + + + + /** * buildDefaultQuestionContent(McContent mcContent, IMcService mcService) * Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java,v diff -u -r1.125 -r1.126 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 3 Oct 2006 21:53:58 -0000 1.125 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 31 Oct 2006 23:58:17 -0000 1.126 @@ -521,10 +521,14 @@ boolean validateSingleCorrectCandidate=authoringUtil.validateSingleCorrectCandidate(caList); logger.debug("validateSingleCorrectCandidate: " + validateSingleCorrectCandidate); + /* + boolean validateOnlyOneCorrectCandidate=authoringUtil.validateOnlyOneCorrectCandidate(caList); + logger.debug("validateOnlyOneCorrectCandidate: " + validateOnlyOneCorrectCandidate); + */ + ActionMessages errors = new ActionMessages(); - if (caList.size() == 0) { ActionMessage error = new ActionMessage("candidates.none.provided"); @@ -537,6 +541,16 @@ ActionMessage error = new ActionMessage("candidates.none.correct"); errors.add(ActionMessages.GLOBAL_MESSAGE, error); } + + /* + if (!validateOnlyOneCorrectCandidate) + { + ActionMessage error = new ActionMessage("candidates.duplicate.correct"); + errors.add(ActionMessages.GLOBAL_MESSAGE, error); + } + */ + + logger.debug("errors: " + errors); if(!errors.isEmpty()){ @@ -941,6 +955,11 @@ boolean validateSingleCorrectCandidate=authoringUtil.validateSingleCorrectCandidate(caList); logger.debug("validateSingleCorrectCandidate: " + validateSingleCorrectCandidate); + /* + boolean validateOnlyOneCorrectCandidate=authoringUtil.validateOnlyOneCorrectCandidate(caList); + logger.debug("validateOnlyOneCorrectCandidate: " + validateOnlyOneCorrectCandidate); + */ + ActionMessages errors = new ActionMessages(); @@ -957,6 +976,15 @@ ActionMessage error = new ActionMessage("candidates.none.correct"); errors.add(ActionMessages.GLOBAL_MESSAGE, error); } + + /* + if (!validateOnlyOneCorrectCandidate) + { + ActionMessage error = new ActionMessage("candidates.duplicate.correct"); + errors.add(ActionMessages.GLOBAL_MESSAGE, error); + } + */ + logger.debug("errors: " + errors); if(!errors.isEmpty()){ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAuthoringForm.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAuthoringForm.java,v diff -u -r1.39 -r1.40 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAuthoringForm.java 3 Oct 2006 21:53:57 -0000 1.39 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAuthoringForm.java 31 Oct 2006 23:58:17 -0000 1.40 @@ -121,6 +121,7 @@ private String feedback; private String candidateIndex; private String totalMarks; + protected String currentField; public void resetUserAction() { @@ -985,4 +986,16 @@ public void setClickedObj(String clickedObj) { this.clickedObj = clickedObj; } + /** + * @return Returns the currentField. + */ + public String getCurrentField() { + return currentField; + } + /** + * @param currentField The currentField to set. + */ + public void setCurrentField(String currentField) { + this.currentField = currentField; + } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java,v diff -u -r1.30 -r1.31 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java 3 Oct 2006 21:53:58 -0000 1.30 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java 31 Oct 2006 23:58:17 -0000 1.31 @@ -1235,6 +1235,11 @@ boolean validateSingleCorrectCandidate=authoringUtil.validateSingleCorrectCandidate(caList); logger.debug("validateSingleCorrectCandidate: " + validateSingleCorrectCandidate); + + /* + boolean validateOnlyOneCorrectCandidate=authoringUtil.validateOnlyOneCorrectCandidate(caList); + logger.debug("validateOnlyOneCorrectCandidate: " + validateOnlyOneCorrectCandidate); + */ ActionMessages errors = new ActionMessages(); @@ -1252,6 +1257,15 @@ ActionMessage error = new ActionMessage("candidates.none.correct"); errors.add(ActionMessages.GLOBAL_MESSAGE, error); } + + /* + if (!validateOnlyOneCorrectCandidate) + { + ActionMessage error = new ActionMessage("candidates.duplicate.correct"); + errors.add(ActionMessages.GLOBAL_MESSAGE, error); + } + */ + logger.debug("errors: " + errors); if(!errors.isEmpty()){ @@ -1634,7 +1648,12 @@ boolean validateSingleCorrectCandidate=authoringUtil.validateSingleCorrectCandidate(caList); logger.debug("validateSingleCorrectCandidate: " + validateSingleCorrectCandidate); + /* + boolean validateOnlyOneCorrectCandidate=authoringUtil.validateOnlyOneCorrectCandidate(caList); + logger.debug("validateOnlyOneCorrectCandidate: " + validateOnlyOneCorrectCandidate); + */ + ActionMessages errors = new ActionMessages(); if (caList.size() == 0) @@ -1649,15 +1668,21 @@ ActionMessage error = new ActionMessage("candidates.none.correct"); errors.add(ActionMessages.GLOBAL_MESSAGE, error); } + + /* + if (!validateOnlyOneCorrectCandidate) + { + ActionMessage error = new ActionMessage("candidates.duplicate.correct"); + errors.add(ActionMessages.GLOBAL_MESSAGE, error); + } + */ logger.debug("errors: " + errors); if(!errors.isEmpty()){ saveErrors(request, errors); logger.debug("errors saved: " + errors); } - - logger.debug("errors saved: " + errors); if(errors.isEmpty()) Index: lams_tool_lamc/web/authoring/candidateAnswersAddList.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/authoring/candidateAnswersAddList.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_lamc/web/authoring/candidateAnswersAddList.jsp 20 Oct 2006 09:25:42 -0000 1.5 +++ lams_tool_lamc/web/authoring/candidateAnswersAddList.jsp 31 Oct 2006 23:58:18 -0000 1.6 @@ -58,7 +58,7 @@ - Index: lams_tool_lamc/web/authoring/candidateAnswersList.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/authoring/candidateAnswersList.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_lamc/web/authoring/candidateAnswersList.jsp 20 Oct 2006 09:25:42 -0000 1.4 +++ lams_tool_lamc/web/authoring/candidateAnswersList.jsp 31 Oct 2006 23:58:18 -0000 1.5 @@ -63,7 +63,7 @@ - Index: lams_tool_lamc/web/authoring/editQuestionBox.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/authoring/editQuestionBox.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_lamc/web/authoring/editQuestionBox.jsp 20 Oct 2006 09:25:42 -0000 1.6 +++ lams_tool_lamc/web/authoring/editQuestionBox.jsp 31 Oct 2006 23:58:18 -0000 1.7 @@ -68,7 +68,34 @@ document.McAuthoringForm.questionIndex.value=questionIndexValue; submitMethod("removeCandidate"); } - + + function validateDuplicateCorrectAnswers() + { + var correctCount = 0; + for(i = 1; i < 51; i++) + { + var currentId="select".concat(i) + var currentField=document.getElementById(currentId); + + if (currentField != null) + { + if ((typeof(currentField) != 'undefined') && (typeof(currentField) != null)) + { + if (currentField.value == 'Correct') + { + correctCount = correctCount + 1; + } + } + } + } + + if (correctCount > 1) + { + var msg = ""; + alert(msg); + } + } + @@ -78,6 +105,7 @@ styleId="newQuestionForm" enctype="multipart/form-data" method="POST"> + @@ -131,7 +159,7 @@
- Index: lams_tool_lamc/web/authoring/newQuestionBox.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/authoring/newQuestionBox.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_lamc/web/authoring/newQuestionBox.jsp 20 Oct 2006 09:25:42 -0000 1.6 +++ lams_tool_lamc/web/authoring/newQuestionBox.jsp 31 Oct 2006 23:58:18 -0000 1.7 @@ -50,6 +50,33 @@ document.McAuthoringForm.candidateIndex.value=candidateIndexValue; submitMethod("removeAddedCandidate"); } + + function validateDuplicateCorrectAnswers() + { + var correctCount = 0; + for(i = 1; i < 51; i++) + { + var currentId="select".concat(i) + var currentField=document.getElementById(currentId); + + if (currentField != null) + { + if ((typeof(currentField) != 'undefined') && (typeof(currentField) != null)) + { + if (currentField.value == 'Correct') + { + correctCount = correctCount + 1; + } + } + } + } + + if (correctCount > 1) + { + var msg = ""; + alert(msg); + } + } @@ -58,6 +85,7 @@ + @@ -110,7 +138,7 @@
- Index: lams_tool_lamc/web/monitoring/candidateAnswersAddList.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/monitoring/Attic/candidateAnswersAddList.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/web/monitoring/candidateAnswersAddList.jsp 18 Oct 2006 03:12:46 -0000 1.3 +++ lams_tool_lamc/web/monitoring/candidateAnswersAddList.jsp 31 Oct 2006 23:58:18 -0000 1.4 @@ -59,7 +59,7 @@ - Index: lams_tool_lamc/web/monitoring/candidateAnswersList.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/monitoring/Attic/candidateAnswersList.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/web/monitoring/candidateAnswersList.jsp 18 Oct 2006 03:12:46 -0000 1.3 +++ lams_tool_lamc/web/monitoring/candidateAnswersList.jsp 31 Oct 2006 23:58:18 -0000 1.4 @@ -66,7 +66,7 @@ - Index: lams_tool_lamc/web/monitoring/editQuestionBox.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/monitoring/Attic/editQuestionBox.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_lamc/web/monitoring/editQuestionBox.jsp 18 Oct 2006 03:12:46 -0000 1.5 +++ lams_tool_lamc/web/monitoring/editQuestionBox.jsp 31 Oct 2006 23:58:18 -0000 1.6 @@ -51,9 +51,34 @@ document.McMonitoringForm.questionIndex.value=questionIndexValue; submitMethod("removeCandidate"); } + + function validateDuplicateCorrectAnswers() + { + var correctCount = 0; + for(i = 1; i < 51; i++) + { + var currentId="select".concat(i) + var currentField=document.getElementById(currentId); + + if (currentField != null) + { + if ((typeof(currentField) != 'undefined') && (typeof(currentField) != null)) + { + if (currentField.value == 'Correct') + { + correctCount = correctCount + 1; + } + } + } + } + + if (correctCount > 1) + { + var msg = ""; + alert(msg); + } + } - - @@ -63,6 +88,7 @@ + @@ -145,7 +171,7 @@ Index: lams_tool_lamc/web/monitoring/newQuestionBox.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/monitoring/Attic/newQuestionBox.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_lamc/web/monitoring/newQuestionBox.jsp 18 Oct 2006 03:12:46 -0000 1.5 +++ lams_tool_lamc/web/monitoring/newQuestionBox.jsp 31 Oct 2006 23:58:18 -0000 1.6 @@ -49,9 +49,34 @@ document.McMonitoringForm.candidateIndex.value=candidateIndexValue; submitMethod("removeAddedCandidate"); } + + function validateDuplicateCorrectAnswers() + { + var correctCount = 0; + for(i = 1; i < 51; i++) + { + var currentId="select".concat(i) + var currentField=document.getElementById(currentId); + + if (currentField != null) + { + if ((typeof(currentField) != 'undefined') && (typeof(currentField) != null)) + { + if (currentField.value == 'Correct') + { + correctCount = correctCount + 1; + } + } + } + } + + if (correctCount > 1) + { + var msg = ""; + alert(msg); + } + } - - @@ -61,6 +86,7 @@ + @@ -143,7 +169,7 @@
                     - +
                     - +