Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumOutputFactory.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumOutputFactory.java,v diff -u -r1.6 -r1.6.10.1 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumOutputFactory.java 31 Oct 2008 05:57:38 -0000 1.6 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumOutputFactory.java 24 Nov 2010 14:31:18 -0000 1.6.10.1 @@ -65,13 +65,18 @@ if (toolContentObject != null) { ToolOutputDefinition chosenTopicAnswersDefinition = buildComplexOutputDefinition(ForumConstants.TEXT_SEARCH_DEFINITION_NAME); Forum forum = (Forum) toolContentObject; + // adding all existing conditions chosenTopicAnswersDefinition.setDefaultConditions(new ArrayList(forum.getConditions())); + // if no conditions were created in the tool instance, a default condition is added; if (chosenTopicAnswersDefinition.getDefaultConditions().isEmpty() && !forum.getMessages().isEmpty()) { + ForumCondition defaultCondition = createDefaultComplexCondition(forum); - forum.getConditions().add(defaultCondition); - chosenTopicAnswersDefinition.getDefaultConditions().add(defaultCondition); + if (defaultCondition != null) { + forum.getConditions().add(defaultCondition); + chosenTopicAnswersDefinition.getDefaultConditions().add(defaultCondition); + } } chosenTopicAnswersDefinition.setShowConditionNameOnly(true); definitionMap.put(ForumConstants.TEXT_SEARCH_DEFINITION_NAME, chosenTopicAnswersDefinition); @@ -197,17 +202,18 @@ * @return default Forum condition */ protected ForumCondition createDefaultComplexCondition(Forum forum) { - - if (forum.getMessages().isEmpty()) { - return null; - } + Set messages = new HashSet(); for (Message message : (Set) forum.getMessages()) { if (message.getIsAuthored()) { messages.add(message); break; } } + + if (messages.isEmpty()) { + return null; + } String name = buildConditionName(ForumConstants.TEXT_SEARCH_DEFINITION_NAME, forum.getContentId().toString()); // Default condition checks if the answers for the first topic contain word "LAMS" Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyOutputFactory.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyOutputFactory.java,v diff -u -r1.4.6.1 -r1.4.6.1.4.1 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyOutputFactory.java 21 Apr 2009 03:24:07 -0000 1.4.6.1 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyOutputFactory.java 24 Nov 2010 14:31:14 -0000 1.4.6.1.4.1 @@ -61,13 +61,18 @@ if (toolContentObject != null) { ToolOutputDefinition allAnswersDefinition = buildComplexOutputDefinition(SurveyConstants.TEXT_SEARCH_DEFINITION_NAME); Survey survey = (Survey) toolContentObject; + // adding all existing conditions allAnswersDefinition.setDefaultConditions(new ArrayList(survey.getConditions())); + // if no conditions were created in the tool instance, a default condition is added; if (allAnswersDefinition.getDefaultConditions().isEmpty() && !survey.getQuestions().isEmpty()) { + SurveyCondition defaultCondition = createDefaultComplexCondition(survey); - survey.getConditions().add(defaultCondition); - allAnswersDefinition.getDefaultConditions().add(defaultCondition); + if (defaultCondition != null) { + survey.getConditions().add(defaultCondition); + allAnswersDefinition.getDefaultConditions().add(defaultCondition); + } } allAnswersDefinition.setShowConditionNameOnly(true); definitionMap.put(SurveyConstants.TEXT_SEARCH_DEFINITION_NAME, allAnswersDefinition);