Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java =================================================================== diff -u -rf1e0b7ce7d91dd9bb8c03647456beec2be16b612 -r4fb3d978934e94b0008c9ff0bcdd53258298b1cf --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java (.../Forum.java) (revision f1e0b7ce7d91dd9bb8c03647456beec2be16b612) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java (.../Forum.java) (revision 4fb3d978934e94b0008c9ff0bcdd53258298b1cf) @@ -499,6 +499,17 @@ fromContent.toolContentHandler = forumToolContentHandler; toContent = (Forum) fromContent.clone(); toContent.setContentId(contentId); + + Set topics = toContent.getMessages(); + if (topics != null) { + Iterator iter = topics.iterator(); + while (iter.hasNext()) { + Message msg = (Message) iter.next(); + // clear message forum so that they can be saved when persistent happens + msg.setForum(null); + } + } + return toContent; } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java =================================================================== diff -u -r901372af1b71238311d32a55f25ec8ba637bf5ca -r4fb3d978934e94b0008c9ff0bcdd53258298b1cf --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java (.../Message.java) (revision 901372af1b71238311d32a55f25ec8ba637bf5ca) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java (.../Message.java) (revision 4fb3d978934e94b0008c9ff0bcdd53258298b1cf) @@ -495,7 +495,7 @@ } /** - * @return the set of all messages cloned from this message. See getAuthoredParent(). + * @return the set of all messages cloned from this message. * * @hibernate.set cascade="none" inverse="false" * @hibernate.collection-key column="authored_parent_uid" Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java =================================================================== diff -u -r84151d175a3fce3cd3ff1bd4eeccfd7cbef01802 -r4fb3d978934e94b0008c9ff0bcdd53258298b1cf --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 84151d175a3fce3cd3ff1bd4eeccfd7cbef01802) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 4fb3d978934e94b0008c9ff0bcdd53258298b1cf) @@ -499,9 +499,8 @@ } public Long getToolDefaultContentIdBySignature(String toolSignature) { - Long contentId = null; - contentId = new Long(toolService.getToolDefaultContentIdBySignature(toolSignature)); - if (contentId == null) { + Long contentId = new Long(toolService.getToolDefaultContentIdBySignature(toolSignature)); + if (contentId.equals(0L)) { String error = "Could not retrieve default content id for this tool"; ForumService.log.error(error); throw new ForumException(error); @@ -1037,19 +1036,8 @@ defaultContent.getConditions().add(getForumOutputFactory().createDefaultTopicDateToAnswersCondition(defaultContent)); } // get default content by given ID. - Forum content = new Forum(); - content = Forum.newInstance(defaultContent, contentID, forumToolContentHandler); + Forum content = Forum.newInstance(defaultContent, contentID, forumToolContentHandler); - Set topics = content.getMessages(); - if (topics != null) { - Iterator iter = topics.iterator(); - while (iter.hasNext()) { - Message msg = (Message) iter.next(); - // clear message forum so that they can be saved when persistent happens - msg.setForum(null); - } - } - return content; }