Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java,v diff -u -r1.28 -r1.29 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java 15 Jun 2006 04:04:37 -0000 1.28 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java 3 Jul 2006 05:34:56 -0000 1.29 @@ -81,5 +81,7 @@ public static final String ATTR_FORUM_TITLE = "title"; public static final String ATTR_FORUM_INSTRCUTION = "instruction"; + + public static final String FORUM_TITLE = "forum_title"; } 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.35 -r1.36 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 15 Jun 2006 04:31:13 -0000 1.35 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 3 Jul 2006 05:34:56 -0000 1.36 @@ -223,6 +223,13 @@ */ private ActionForward newTopic(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { + Long sessionId = (Long) request.getSession().getAttribute( + AttributeNames.PARAM_TOOL_SESSION_ID); + forumService = getForumManager(); + ForumToolSession session = forumService + .getSessionBySessionId(sessionId); + + request.setAttribute(ForumConstants.FORUM_TITLE,session.getForum().getTitle()); return mapping.findForward("success"); } @@ -242,10 +249,12 @@ AttributeNames.PARAM_TOOL_SESSION_ID); ToolAccessMode mode = (ToolAccessMode) request.getSession() .getAttribute(AttributeNames.ATTR_MODE); + + ForumToolSession session = null; if (mode == ToolAccessMode.LEARNER || mode==ToolAccessMode.AUTHOR) { // get sessionId from HttpServletRequest forumService = getForumManager(); - ForumToolSession session = forumService + session = forumService .getSessionBySessionId(sessionId); session.setStatus(ForumConstants.SESSION_STATUS_FINISHED); forumService.updateSession(session); @@ -277,7 +286,9 @@ // get all root topic to display on init page List rootTopics = forumService.getRootTopics(sessionId); request.setAttribute(ForumConstants.AUTHORING_TOPICS_LIST, rootTopics); - + if(session != null) + request.setAttribute(ForumConstants.FORUM_TITLE,session.getForum().getTitle()); + return mapping.findForward("success"); } @@ -301,16 +312,21 @@ forumService = getForumManager(); // get root topic list - List msgDtoList = forumService.getTopicThread(topicId); + List msgDtoList = forumService.getTopicThread(topicId); setAuthorMark(msgDtoList); + request.setAttribute(ForumConstants.AUTHORING_TOPIC_THREAD, msgDtoList); + String title = getForumTitle(msgDtoList); + request.setAttribute(ForumConstants.FORUM_TITLE,title); request.getSession().setAttribute(ForumConstants.ROOT_TOPIC_UID,topicId); return mapping.findForward("success"); } + + /** * Create a new root topic. * @@ -354,6 +370,7 @@ List rootTopics = forumService.getRootTopics(sessionId); request.setAttribute(ForumConstants.AUTHORING_TOPICS_LIST, rootTopics); + return mapping.findForward("success"); } @@ -384,9 +401,13 @@ // cache this parentId in order to create reply request.getSession().setAttribute("parentId", parentId); + String title = getForumTitle(topic); + request.setAttribute(ForumConstants.FORUM_TITLE,title); + return mapping.findForward("success"); } + /** * Create a replayed topic for a parent topic. * @@ -425,6 +446,9 @@ request.setAttribute(ForumConstants.AUTHORING_TOPIC_THREAD, msgDtoList); + String title = getForumTitle(msgDtoList); + request.setAttribute(ForumConstants.FORUM_TITLE,title); + return mapping.findForward("success"); } @@ -453,6 +477,9 @@ // cache this topicId in order to create reply request.getSession().setAttribute("topicId", topicId); + + String title = getForumTitle(topic); + request.setAttribute(ForumConstants.FORUM_TITLE,title); return mapping.findForward("success"); } @@ -556,6 +583,8 @@ setAuthorMark(msgDtoList); request.setAttribute(ForumConstants.AUTHORING_TOPIC_THREAD, msgDtoList); + String title = getForumTitle(msgDtoList); + request.setAttribute(ForumConstants.FORUM_TITLE,title); return mapping.findForward("success"); } @@ -602,9 +631,12 @@ // save message into database forumService.updateTopic(messagePO); + String title = getForumTitle(messagePO); + request.setAttribute(ForumConstants.FORUM_TITLE,title); return mapping.findForward("success"); } + // ========================================================================================== // Utility methods // ========================================================================================== @@ -710,4 +742,37 @@ message.setAttachments(attSet); } } + + /** + * @param msgDtoList + */ + private String getForumTitle(List msgDtoList) { + String title = ""; + for(MessageDTO msgDto : msgDtoList){ + title = getForumTitle(msgDto); + break; + } + + return title; + } + private String getForumTitle(MessageDTO msgDto) { + Message msg = msgDto.getMessage(); + return getForumTitle(msg); + } + + + private String getForumTitle(Message msg) { + String title = ""; + ForumToolSession session = msg.getToolSession(); + Forum forum; + if(session == null){ + forum = msg.getForum(); + }else + forum = session.getForum(); + + if(forum != null) + title = forum.getTitle(); + return title; + } + } Index: lams_tool_forum/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/WEB-INF/Attic/web.xml,v diff -u -r1.21 -r1.22 --- lams_tool_forum/web/WEB-INF/web.xml 14 Apr 2006 06:14:48 -0000 1.21 +++ lams_tool_forum/web/WEB-INF/web.xml 3 Jul 2006 05:34:56 -0000 1.22 @@ -68,19 +68,13 @@ /* - + + + org.springframework.web.context.ContextLoaderListener + + - context - org.springframework.web.context.ContextLoaderServlet - 1 - - - exportPortfolio org.lamsfoundation.lams.tool.forum.web.actions.ExportServlet @@ -104,7 +98,7 @@ validate true - 2 + 1