Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatSessionDAO.java =================================================================== diff -u -rb70e2750284cb613bbe37fb30b69091d679c3bf4 -r5262a9b4fa6725fde2efa664d1e17b76e62290c9 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatSessionDAO.java (.../IChatSessionDAO.java) (revision b70e2750284cb613bbe37fb30b69091d679c3bf4) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatSessionDAO.java (.../IChatSessionDAO.java) (revision 5262a9b4fa6725fde2efa664d1e17b76e62290c9) @@ -36,4 +36,6 @@ void saveOrUpdate(ChatSession session); ChatSession getBySessionId(Long toolSessionId); + + ChatSession getByJabberRoom(String jabberRoom); } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java =================================================================== diff -u -rb70e2750284cb613bbe37fb30b69091d679c3bf4 -r5262a9b4fa6725fde2efa664d1e17b76e62290c9 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java (.../ChatSessionDAO.java) (revision b70e2750284cb613bbe37fb30b69091d679c3bf4) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java (.../ChatSessionDAO.java) (revision 5262a9b4fa6725fde2efa664d1e17b76e62290c9) @@ -37,6 +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 " + + ChatSession.class.getName() + " where jabber_room=?"; public void saveOrUpdate(ChatSession session) { this.getHibernateTemplate().saveOrUpdate(session); @@ -50,4 +52,12 @@ return null; return (ChatSession) list.get(0); } + + public ChatSession getByJabberRoom(String jabberRoom) { + List list = this.getHibernateTemplate().find( + SQL_QUERY_FIND_BY_JABBER_ROOM, jabberRoom); + if (list == null || list.isEmpty()) + return null; + return (ChatSession) list.get(0); + } }