Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java =================================================================== diff -u -r72803e02456b8a27eed50050feb4a332e9a4037e -r3c0a84b7023214fcdfc7e023f810aea87166957c --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java (.../Chat.java) (revision 72803e02456b8a27eed50050feb4a332e9a4037e) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java (.../Chat.java) (revision 3c0a84b7023214fcdfc7e023f810aea87166957c) @@ -30,6 +30,9 @@ import java.util.Set; import org.apache.log4j.Logger; +import org.lamsfoundation.lams.contentrepository.ItemNotFoundException; +import org.lamsfoundation.lams.contentrepository.NodeKey; +import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException; import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; import org.lamsfoundation.lams.tool.chat.service.ChatService; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; @@ -377,15 +380,25 @@ while (iter.hasNext()) { ChatAttachment originalFile = (ChatAttachment) iter.next(); ChatAttachment newFile = (ChatAttachment) originalFile.clone(); + if(toolContentHandler != null){ + //duplicate file node in repository + NodeKey keys = toolContentHandler.copyFile(originalFile.getFileUuid()); + newFile.setFileUuid(keys.getUuid()); + newFile.setFileVersionId(keys.getVersion()); + } set.add(newFile); } chat.chatAttachments = set; } // create an empty set for the chatSession chat.chatSessions = new HashSet(); - } catch (CloneNotSupportedException e) { + } catch (CloneNotSupportedException cnse) { log.error("Error cloning " + Chat.class); + } catch (ItemNotFoundException infe) { + log.error("Item Not found " + Chat.class); + } catch (RepositoryCheckedException rce) { + log.error("Repository checked exception " + Chat.class); } return chat; }