Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java,v diff -u -r1.3 -r1.4 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java 9 Aug 2006 01:12:12 -0000 1.3 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java 9 Aug 2006 05:26:56 -0000 1.4 @@ -25,7 +25,6 @@ package org.lamsfoundation.lams.tool.chat.dto; -import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; @@ -63,7 +62,7 @@ public Set offlineInstructionsFiles = new TreeSet(); - public Set sessionDTOs = new HashSet();; + public Set sessionDTOs = new TreeSet();; public ChatDTO(Chat chat) { toolContentId = chat.getToolContentId(); Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/servlets/ExportServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/servlets/ExportServlet.java,v diff -u -r1.1 -r1.2 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/servlets/ExportServlet.java 14 Jun 2006 23:39:54 -0000 1.1 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/servlets/ExportServlet.java 9 Aug 2006 05:26:56 -0000 1.2 @@ -35,15 +35,19 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.chat.dto.ChatDTO; import org.lamsfoundation.lams.tool.chat.dto.ChatMessageDTO; import org.lamsfoundation.lams.tool.chat.dto.ChatSessionDTO; +import org.lamsfoundation.lams.tool.chat.dto.ChatUserDTO; import org.lamsfoundation.lams.tool.chat.model.Chat; import org.lamsfoundation.lams.tool.chat.model.ChatSession; import org.lamsfoundation.lams.tool.chat.model.ChatUser; import org.lamsfoundation.lams.tool.chat.service.ChatServiceProxy; import org.lamsfoundation.lams.tool.chat.service.IChatService; +import org.lamsfoundation.lams.tool.chat.util.ChatConstants; import org.lamsfoundation.lams.tool.chat.util.ChatException; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet; @@ -95,46 +99,67 @@ throws ChatException { logger.debug("doExportTeacher: toolContentID:" + toolSessionID); - + // check if toolContentID available if (toolSessionID == null) { String error = "Tool Session ID is missing. Unable to continue"; logger.error(error); throw new ChatException(error); } - - ChatSession chatSession = chatService.getSessionBySessionId(toolSessionID); - + + ChatSession chatSession = chatService + .getSessionBySessionId(toolSessionID); + // get all messages for current user and filter. UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( AttributeNames.USER); - + // get the chat user - ChatUser chatUser = chatService.getUserByUserIdAndSessionId(new Long(user.getUserID()), toolSessionID); - + ChatUser chatUser = chatService.getUserByUserIdAndSessionId(new Long( + user.getUserID()), toolSessionID); + // get messages for this user. List messageList = chatService.getMessagesForUser(chatUser); - + // construct session DTO. ChatSessionDTO sessionDTO = new ChatSessionDTO(chatSession, messageList); - + + // if reflectOnActivity is enabled add userDTO. + if (chatSession.getChat().getReflectOnActivity()) { + ChatUserDTO chatUserDTO = new ChatUserDTO(chatUser); + + // get the entry. + NotebookEntry entry = chatService.getEntry(toolSessionID, + CoreNotebookConstants.NOTEBOOK_TOOL, + ChatConstants.TOOL_SIGNATURE, chatUser.getUserId() + .intValue()); + + if (entry != null) { + chatUserDTO.finishedReflection = true; + chatUserDTO.notebookEntry = entry.getEntry(); + } else { + chatUserDTO.finishedReflection = false; + } + sessionDTO.getUserDTOs().add(chatUserDTO); + } + // filter messages - for(ChatMessageDTO msg: sessionDTO.getMessageDTOs()) { + for (ChatMessageDTO msg : sessionDTO.getMessageDTOs()) { chatService.filterMessage(msg, chatSession.getChat()); } - + ChatDTO chatDTO = new ChatDTO(chatSession.getChat()); chatDTO.getSessionDTOs().add(sessionDTO); - + request.getSession().setAttribute("chatDTO", chatDTO); } public void doTeacherExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) throws ChatException { - + logger.debug("doExportTeacher: toolContentID:" + toolContentID); - + // check if toolContentID available if (toolContentID == null) { String error = "Tool Content ID is missing. Unable to continue"; @@ -143,14 +168,36 @@ } Chat chat = chatService.getChatByContentId(toolContentID); - ChatDTO chatDTO = new ChatDTO(chat); - for (Iterator iter = chat.getChatSessions().iterator(); iter.hasNext();) { // NB session DTO will contain all messages in session unfiltered. - chatDTO.getSessionDTOs().add(new ChatSessionDTO((ChatSession) iter.next())); + + ChatSession session = (ChatSession) iter.next(); + ChatSessionDTO sessionDTO = new ChatSessionDTO(session); + + // if reflectOnActivity is enabled add all userDTO. + if (session.getChat().getReflectOnActivity()) { + + for (Iterator iterator = session.getChatUsers().iterator(); iterator + .hasNext();) { + ChatUser user = (ChatUser) iterator.next(); + ChatUserDTO userDTO = new ChatUserDTO(user); + // get the entry. + NotebookEntry entry = chatService.getEntry(toolSessionID, + CoreNotebookConstants.NOTEBOOK_TOOL, + ChatConstants.TOOL_SIGNATURE, user.getUserId() + .intValue()); + if (entry != null) { + userDTO.finishedReflection = true; + userDTO.notebookEntry = entry.getEntry(); + } else { + userDTO.finishedReflection = false; + } + sessionDTO.getUserDTOs().add(userDTO); + } + } + chatDTO.getSessionDTOs().add(sessionDTO); } - request.getSession().setAttribute("chatDTO", chatDTO); + request.getSession().setAttribute("chatDTO", chatDTO); } - } Index: lams_tool_chat/web/common/taglibs.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/web/common/taglibs.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_chat/web/common/taglibs.jsp 19 Apr 2006 06:40:28 -0000 1.3 +++ lams_tool_chat/web/common/taglibs.jsp 9 Aug 2006 05:26:56 -0000 1.4 @@ -5,6 +5,7 @@ <%@ taglib uri="tags-tiles" prefix="tiles"%> <%@ taglib uri="tags-html" prefix="html"%> <%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-function" prefix="fn" %> <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="fck-editor" prefix="fck"%> Index: lams_tool_chat/web/pages/export/exportPortfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/web/pages/export/exportPortfolio.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_chat/web/pages/export/exportPortfolio.jsp 9 Aug 2006 01:12:11 -0000 1.4 +++ lams_tool_chat/web/pages/export/exportPortfolio.jsp 9 Aug 2006 05:26:56 -0000 1.5 @@ -5,24 +5,30 @@ - <c:out value="${chatDTO.title}" escapeXml="false" /> + <c:out value="${chatDTO.title}" escapeXml="false" /> + - + -
- -

-
- -
- -
- -

- - +
+ + +

+ +

+
+ +
+ + +
+
+

+ +

+
    @@ -33,26 +39,43 @@
- +

${session.sessionName}

- + ${message.from} : ${message.body}
-
+

+ +

+ +

+ + +

+ ${user.firstName} + ${user.lastName} +
+ ${user.notebookEntry} +

+
+
- -
- - - -
+ +
+ + + + + +
+