Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java,v diff -u -r1.56 -r1.57 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 3 Sep 2007 08:02:42 -0000 1.56 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 13 Feb 2008 23:22:44 -0000 1.57 @@ -188,13 +188,30 @@ //lock on finish ForumUser forumUser = getCurrentUser(request,sessionId); boolean lock = forum.getLockWhenFinished() && forumUser.isSessionFinished(); + + //add define later support + if(forum.isDefineLater()){ + return mapping.findForward("defineLater"); + } + //add run offline support + if(forum.getRunOffline()){ + return mapping.findForward("runOffline"); + } + + //set contentInUse flag to true! + if ( ! forum.isContentInUse() ) { + forum.setContentInUse(true); + forum.setDefineLater(false); + forumService.updateForum(forum); + } + //try to clone topics from :See bug LDEV-649 Long contentId = forum.getContentId(); try { forumService.cloneContentTopics(contentId, sessionId); } catch (ObjectOptimisticLockingFailureException e) { - log.debug("Multiple learner get into forum simultaneously. Duplicated content root topics cloning skipped."); + log.warn("Multiple learner get into forum simultaneously. Duplicated content root topics cloning skipped. contentId="+contentId+" sessionId="+ sessionId); } //set some option flag to HttpSession @@ -230,21 +247,6 @@ sessionMap.put(ForumConstants.ATTR_FORUM_TITLE,forum.getTitle()); sessionMap.put(ForumConstants.ATTR_FORUM_INSTRCUTION,forum.getInstructions()); - //add define later support - if(forum.isDefineLater()){ - return mapping.findForward("defineLater"); - } - - //set contentInUse flag to true! - forum.setContentInUse(true); - forum.setDefineLater(false); - forumService.updateForum(forum); - - //add run offline support - if(forum.getRunOffline()){ - return mapping.findForward("runOffline"); - } - // get all root topic to display on init page List rootTopics = forumService.getRootTopics(sessionId); request.setAttribute(ForumConstants.AUTHORING_TOPICS_LIST, rootTopics);