Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java =================================================================== diff -u -r0cae9f7a40ca2fd2c14a2d27f9c016cf7d708882 -r6f2921676dc2b18ab8f8471a40d95e5db1ffa92c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java (.../ForumConstants.java) (revision 0cae9f7a40ca2fd2c14a2d27f9c016cf7d708882) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java (.../ForumConstants.java) (revision 6f2921676dc2b18ab8f8471a40d95e5db1ffa92c) @@ -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 =================================================================== diff -u -rc92fdf440219cca0ca62951bf4a08a3137100356 -r6f2921676dc2b18ab8f8471a40d95e5db1ffa92c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java (.../LearningAction.java) (revision c92fdf440219cca0ca62951bf4a08a3137100356) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java (.../LearningAction.java) (revision 6f2921676dc2b18ab8f8471a40d95e5db1ffa92c) @@ -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 =================================================================== diff -u -r477b19dd83e2be0e1b3b2493fb4cdbe68a5cddc1 -r6f2921676dc2b18ab8f8471a40d95e5db1ffa92c --- lams_tool_forum/web/WEB-INF/web.xml (.../web.xml) (revision 477b19dd83e2be0e1b3b2493fb4cdbe68a5cddc1) +++ lams_tool_forum/web/WEB-INF/web.xml (.../web.xml) (revision 6f2921676dc2b18ab8f8471a40d95e5db1ffa92c) @@ -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