Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatAttachmentDTO.java =================================================================== diff -u -r1b0542c70afa5992161c6504bfbf7499ab37a1de -r337324507183ca0d40e138e7efa42ec4170af5c2 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatAttachmentDTO.java (.../ChatAttachmentDTO.java) (revision 1b0542c70afa5992161c6504bfbf7499ab37a1de) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatAttachmentDTO.java (.../ChatAttachmentDTO.java) (revision 337324507183ca0d40e138e7efa42ec4170af5c2) @@ -25,22 +25,30 @@ package org.lamsfoundation.lams.tool.chat.dto; +import java.util.Date; + import org.lamsfoundation.lams.tool.chat.model.ChatAttachment; -public class ChatAttachmentDTO { +public class ChatAttachmentDTO implements Comparable { public ChatAttachmentDTO(ChatAttachment att) { this.fileUuid = att.getFileUuid(); this.fileName = att.getFileName(); this.fileVersionId = att.getFileVersionId(); + this.createDate = att.getCreateDate(); + this.uid = att.getUid(); } + Long uid; + Long fileUuid; Long fileVersionId; String fileName; + Date createDate; + public String getFileName() { return fileName; } @@ -64,4 +72,31 @@ public void setFileVersionId(Long fileVersionId) { this.fileVersionId = fileVersionId; } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + public int compareTo(Object o) { + ChatAttachmentDTO toAttachment = (ChatAttachmentDTO) o; + int returnValue = this.createDate.compareTo(((ChatAttachmentDTO) o) + .getCreateDate()); + + if (returnValue == 0) { + returnValue = this.uid.compareTo(toAttachment.getUid()); + } + return returnValue; + } } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatMessageDTO.java =================================================================== diff -u --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatMessageDTO.java (revision 0) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatMessageDTO.java (revision 337324507183ca0d40e138e7efa42ec4170af5c2) @@ -0,0 +1,112 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.chat.dto; + +import java.util.Date; + +import org.lamsfoundation.lams.tool.chat.model.ChatMessage; + +public class ChatMessageDTO implements Comparable{ + + public Long uid; + + public String from; + + public String body; + + public String type; + + public Date sendDate; + + public Boolean hidden; + + public ChatMessageDTO(ChatMessage chatMessage) { + this.from = chatMessage.getFromUser().getLoginName(); + this.body = chatMessage.getBody(); + this.type = chatMessage.getType(); + this.sendDate = chatMessage.getSendDate(); + this.uid = chatMessage.getUid(); + this.hidden = chatMessage.getHidden(); + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } + + public String getFrom() { + return from; + } + + public void setFrom(String from) { + this.from = from; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Date getSendDate() { + return sendDate; + } + + public void setSendDate(Date sendDate) { + this.sendDate = sendDate; + } + + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + public int compareTo(Object o) { + ChatMessageDTO toMessage = (ChatMessageDTO)o; + int returnValue = this.sendDate.compareTo(toMessage.sendDate); + + if (returnValue == 0) { + returnValue = this.uid.compareTo(toMessage.getUid()); + } + return returnValue; + } + + public Boolean getHidden() { + return hidden; + } + + public void setHidden(Boolean hidden) { + this.hidden = hidden; + } +} Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatSessionDTO.java =================================================================== diff -u -r1b0542c70afa5992161c6504bfbf7499ab37a1de -r337324507183ca0d40e138e7efa42ec4170af5c2 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatSessionDTO.java (.../ChatSessionDTO.java) (revision 1b0542c70afa5992161c6504bfbf7499ab37a1de) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatSessionDTO.java (.../ChatSessionDTO.java) (revision 337324507183ca0d40e138e7efa42ec4170af5c2) @@ -25,24 +25,50 @@ package org.lamsfoundation.lams.tool.chat.dto; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; + +import org.lamsfoundation.lams.tool.chat.model.ChatMessage; import org.lamsfoundation.lams.tool.chat.model.ChatSession; -public class ChatSessionDTO { - public ChatSessionDTO(ChatSession sess) { - this.sessionId = sess.getSessionId(); - this.sessionName = sess.getSessionName(); +public class ChatSessionDTO implements Comparable { + + public ChatSessionDTO(ChatSession session) { + this.sessionID = session.getSessionId(); + this.sessionName = session.getSessionName(); + + chatMessages = new TreeSet(); + for (Iterator i = session.getChatMessages().iterator(); i.hasNext();) { + chatMessages.add(new ChatMessageDTO((ChatMessage) i.next())); + } } + + public ChatSessionDTO (ChatSession session, List messages) { + this.sessionID = session.getSessionId(); + this.sessionName = session.getSessionName(); + + chatMessages = new TreeSet(); + for (Iterator i = messages.iterator(); i.hasNext();) { + chatMessages.add(new ChatMessageDTO((ChatMessage) i.next())); + } + } + + public ChatSessionDTO() {} + + Long sessionID; - Long sessionId; - String sessionName; - - public Long getSessionId() { - return sessionId; + + Set chatMessages; + + public Long getSessionID() { + return sessionID; } - public void setSessionId(Long sessionId) { - this.sessionId = sessionId; + public void setSessionID(Long sessionID) { + this.sessionID = sessionID; } public String getSessionName() { @@ -52,4 +78,22 @@ public void setSessionName(String sessionName) { this.sessionName = sessionName; } + + public Set getChatMessages() { + return chatMessages; + } + + public void setChatMessages(Set chatMessages) { + this.chatMessages = chatMessages; + } + + public int compareTo(Object o) { + int returnValue; + ChatSessionDTO toSession = (ChatSessionDTO)o; + returnValue = this.sessionName.compareTo(toSession.sessionName); + if (returnValue == 0) { + returnValue = this.sessionID.compareTo(toSession.sessionID); + } + return returnValue; + } } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/MonitoringDTO.java =================================================================== diff -u -r1b0542c70afa5992161c6504bfbf7499ab37a1de -r337324507183ca0d40e138e7efa42ec4170af5c2 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/MonitoringDTO.java (.../MonitoringDTO.java) (revision 1b0542c70afa5992161c6504bfbf7499ab37a1de) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/MonitoringDTO.java (.../MonitoringDTO.java) (revision 337324507183ca0d40e138e7efa42ec4170af5c2) @@ -47,9 +47,8 @@ onlineInstructions = chat.getOnlineInstructions(); offlineInstructions = chat.getOfflineInstructions(); - // TODO create comparators for TreeSets. - onlineInstructionsFiles = new HashSet(); - offlineInstructionsFiles = new HashSet(); + onlineInstructionsFiles = new TreeSet(); + offlineInstructionsFiles = new TreeSet(); for (Iterator i = chat.getChatAttachments().iterator(); i.hasNext();) { ChatAttachment att = (ChatAttachment) i.next(); @@ -66,11 +65,6 @@ + " contains invalid fileType: " + att.getFileType()); } } - - chatSessions = new TreeSet(); - for (Iterator i = chat.getChatSessions().iterator(); i.hasNext();) { - chatSessions.add(new ChatSessionDTO((ChatSession) i.next())); - } } public Long toolContentId;