Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java =================================================================== diff -u -r4c9365155a19f048af7f0465ced0b965141292d5 -rc336754e3e8e868aba34167fc694f56078a3c66a --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 4c9365155a19f048af7f0465ced0b965141292d5) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision c336754e3e8e868aba34167fc694f56078a3c66a) @@ -424,7 +424,7 @@ } qaContent = qaService.loadQa(new Long(strToolContentID).longValue()); - qaContent = createQuestionContent(listQuestionContentDTO, qaService, qaContent, conditions); + qaContent = createQuestionContent(listQuestionContentDTO, qaService, qaContent); qaContent = qaService.loadQa(new Long(strToolContentID).longValue()); @@ -509,7 +509,7 @@ * mapQuestionContent maps question numbers to question strings. */ protected QaContent createQuestionContent(List listQuestionContentDTO, IQaService qaService, - QaContent qaContent, Set conditions) { + QaContent qaContent) { AuthoringUtil.logger.debug("createQuestionContent: content uid is: " + qaContent.getUid()); int displayOrder = 0; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java =================================================================== diff -u -r4c9365155a19f048af7f0465ced0b965141292d5 -rc336754e3e8e868aba34167fc694f56078a3c66a --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision 4c9365155a19f048af7f0465ced0b965141292d5) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision c336754e3e8e868aba34167fc694f56078a3c66a) @@ -100,7 +100,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.TreeMap; +import java.util.Set; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -120,6 +120,7 @@ import org.lamsfoundation.lams.tool.qa.GeneralLearnerFlowDTO; import org.lamsfoundation.lams.tool.qa.GeneralMonitoringDTO; import org.lamsfoundation.lams.tool.qa.QaAppConstants; +import org.lamsfoundation.lams.tool.qa.QaCondition; import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaGeneralAuthoringDTO; import org.lamsfoundation.lams.tool.qa.QaQueContent; @@ -2186,16 +2187,16 @@ QaContent qaContent = qaContentTest; if (errors.isEmpty()) { - QaMonitoringAction.logger.debug("errors is empty: " + errors); /* - * to remove deleted entries in the questions table based on mapQuestionContent + * removes deleted entries in the questions table based on mapQuestionContent */ authoringUtil.removeRedundantQuestions(listQuestionContentDTO, qaService, qaAuthoringForm, request, strToolContentID); - QaMonitoringAction.logger.debug("end of removing unused entries... "); + + Set conditionSet = (Set) sessionMap.get(QaAppConstants.ATTR_CONDITION_SET); qaContent = authoringUtil.saveOrUpdateQaContent(listQuestionContentDTO, qaService, - qaAuthoringForm, request, qaContentTest, strToolContentID, null); + qaAuthoringForm, request, qaContentTest, strToolContentID, conditionSet); long defaultContentID = 0; @@ -2206,7 +2207,6 @@ if (qaContent != null) { qaGeneralAuthoringDTO.setDefaultContentIdStr(new Long(defaultContentID).toString()); } - authoringUtil.reOrganizeDisplayOrder(qaService, qaAuthoringForm, qaContent); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java =================================================================== diff -u -r4c9365155a19f048af7f0465ced0b965141292d5 -rc336754e3e8e868aba34167fc694f56078a3c66a --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision 4c9365155a19f048af7f0465ced0b965141292d5) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision c336754e3e8e868aba34167fc694f56078a3c66a) @@ -29,7 +29,8 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import java.util.TreeMap; +import java.util.SortedSet; +import java.util.TreeSet; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -43,11 +44,13 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.learningdesign.TextSearchConditionComparator; import org.lamsfoundation.lams.tool.qa.EditActivityDTO; import org.lamsfoundation.lams.tool.qa.GeneralLearnerFlowDTO; import org.lamsfoundation.lams.tool.qa.GeneralMonitoringDTO; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaApplicationException; +import org.lamsfoundation.lams.tool.qa.QaCondition; import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaQueContent; import org.lamsfoundation.lams.tool.qa.QaQuestionContentDTO; @@ -189,6 +192,11 @@ request.setAttribute(LIST_QUESTION_CONTENT_DTO, listQuestionContentDTO); sessionMap.put(LIST_QUESTION_CONTENT_DTO_KEY, listQuestionContentDTO); + + // preserve conditions into sessionMap + SortedSet conditionSet = new TreeSet(new TextSearchConditionComparator()); + conditionSet.addAll(qaContent.getConditions()); + sessionMap.put(QaAppConstants.ATTR_CONDITION_SET, conditionSet); request.setAttribute(TOTAL_QUESTION_COUNT, new Integer(listQuestionContentDTO.size()));