Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java,v diff -u -r1.31 -r1.32 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 30 Apr 2014 22:49:49 -0000 1.31 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 1 May 2014 13:23:49 -0000 1.32 @@ -33,6 +33,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.LinkedList; @@ -346,10 +347,14 @@ // **********************************Get Assessment PO********************* Assessment assessmentPO = service.getAssessmentByContentId(assessmentForm.getAssessment().getContentId()); - service.releaseQuestionsAndReferencesFromCache(assessmentPO); + //allow using old and modified questions and references altogether + if (mode.isTeacher()) { + service.releaseQuestionsAndReferencesFromCache(assessmentPO); + } - Set oldQuestions = assessmentPO.getQuestions(); - Set oldReferences = assessmentPO.getQuestionReferences(); + Set oldQuestions = (assessmentPO == null) ? new HashSet() : assessmentPO.getQuestions(); + Set oldReferences = (assessmentPO == null) ? new HashSet() : assessmentPO.getQuestionReferences(); + if (assessmentPO == null) { // new Assessment, create it. assessmentPO = assessment; @@ -394,10 +399,10 @@ } assessmentPO.setQuestions(questions); - //Define Later - recalculate results List deletedQuestions = getDeletedQuestionList(sessionMap); Set newReferences = updateQuestionReferencesGrades(request, sessionMap, true); List deletedReferences = getDeletedQuestionReferences(sessionMap); + //recalculate results in case content is edited from monitoring if (mode.isTeacher()) { service.recalculateUserAnswers(assessmentPO, oldQuestions, newQuestions, oldReferences, newReferences, deletedReferences);