Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatSessionDAO.java =================================================================== diff -u -r5262a9b4fa6725fde2efa664d1e17b76e62290c9 -r4869be0e90f646405e741fb6e1a64e9d9f8e7df3 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatSessionDAO.java (.../IChatSessionDAO.java) (revision 5262a9b4fa6725fde2efa664d1e17b76e62290c9) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatSessionDAO.java (.../IChatSessionDAO.java) (revision 4869be0e90f646405e741fb6e1a64e9d9f8e7df3) @@ -38,4 +38,6 @@ ChatSession getBySessionId(Long toolSessionId); ChatSession getByJabberRoom(String jabberRoom); + + void deleteBySessionID(Long toolSessionID); } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java =================================================================== diff -u -r5262a9b4fa6725fde2efa664d1e17b76e62290c9 -r4869be0e90f646405e741fb6e1a64e9d9f8e7df3 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java (.../ChatSessionDAO.java) (revision 5262a9b4fa6725fde2efa664d1e17b76e62290c9) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java (.../ChatSessionDAO.java) (revision 4869be0e90f646405e741fb6e1a64e9d9f8e7df3) @@ -27,8 +27,8 @@ import java.util.List; import org.lamsfoundation.lams.dao.hibernate.BaseDAO; -import org.lamsfoundation.lams.tool.chat.model.ChatSession; import org.lamsfoundation.lams.tool.chat.dao.IChatSessionDAO; +import org.lamsfoundation.lams.tool.chat.model.ChatSession; /** * DAO for accessing the ChatSession objects - Hibernate specific code. @@ -37,7 +37,8 @@ public static final String SQL_QUERY_FIND_BY_SESSION_ID = "from " + ChatSession.class.getName() + " where session_id=?"; - public static final String SQL_QUERY_FIND_BY_JABBER_ROOM = "from " + + public static final String SQL_QUERY_FIND_BY_JABBER_ROOM = "from " + ChatSession.class.getName() + " where jabber_room=?"; public void saveOrUpdate(ChatSession session) { @@ -60,4 +61,12 @@ return null; return (ChatSession) list.get(0); } + + public void deleteBySessionID(Long toolSessionID) { + ChatSession session = getBySessionId(toolSessionID); + if(session != null){ + this.getHibernateTemplate().delete(session); + this.getHibernateTemplate().flush(); + } + } } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java =================================================================== diff -u -rbb54f252d7f47c61122bab6bd1c2f2e20201f502 -r4869be0e90f646405e741fb6e1a64e9d9f8e7df3 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision bb54f252d7f47c61122bab6bd1c2f2e20201f502) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision 4869be0e90f646405e741fb6e1a64e9d9f8e7df3) @@ -210,8 +210,9 @@ public void removeToolSession(Long toolSessionId) throws DataMissingException, ToolException { - // TODO Auto-generated method stub - + chatSessionDAO.deleteBySessionID(toolSessionId); + //TODO check if cascade worked + // do we need to remove room on jabber server ? } /* ************ Methods from ToolContentManager ************************* */