Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatUserDAO.java =================================================================== diff -u -r3d84cf2b08553e9c9ffed34da2570147bd0056c6 -r163c36804b5a47c0466569b804bc81878db49e5c --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatUserDAO.java (.../IChatUserDAO.java) (revision 3d84cf2b08553e9c9ffed34da2570147bd0056c6) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatUserDAO.java (.../IChatUserDAO.java) (revision 163c36804b5a47c0466569b804bc81878db49e5c) @@ -45,8 +45,16 @@ /** * * @param loginName - * @param sessionId + * @param sessionID * @return */ ChatUser getByLoginNameAndSessionId(String loginName, Long toolSessionId); + + /** + * + * @param jabberID + * @param jabberRoom + * @return + */ + ChatUser getByJabberIDAndJabberRoom(String jabberID, String jabberRoom); } \ No newline at end of file Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java =================================================================== diff -u -r3d84cf2b08553e9c9ffed34da2570147bd0056c6 -r163c36804b5a47c0466569b804bc81878db49e5c --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java (.../ChatUserDAO.java) (revision 3d84cf2b08553e9c9ffed34da2570147bd0056c6) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java (.../ChatUserDAO.java) (revision 163c36804b5a47c0466569b804bc81878db49e5c) @@ -38,11 +38,15 @@ public static final String SQL_QUERY_FIND_BY_USER_ID_SESSION_ID = "from " + ChatUser.class.getName() + " as f" + " where user_id=? and f.chatSession.sessionId=?"; - + public static final String SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID = "from " - + ChatUser.class.getName() + " as f" - + " where login_name=? and f.chatSession.sessionId=?"; + + ChatUser.class.getName() + + " as f where login_name=? and f.chatSession.sessionId=?"; + public static final String SQL_QUERY_FIND_BY_JABBER_ID_JABBER_ROOM = "from " + + ChatUser.class.getName() + + " as f where jabber_id=? and f.chatSession.jabberRoom=?"; + public ChatUser getByUserIdAndSessionId(Long userId, Long toolSessionId) { List list = this.getHibernateTemplate().find( SQL_QUERY_FIND_BY_USER_ID_SESSION_ID, @@ -54,19 +58,33 @@ return (ChatUser) list.get(0); } - public ChatUser getByLoginNameAndSessionId(String loginName, Long toolSessionId) { + public ChatUser getByLoginNameAndSessionId(String loginName, + Long toolSessionId) { - List list = this.getHibernateTemplate().find( - SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID, - new Object[] { loginName, toolSessionId }); + List list = this.getHibernateTemplate().find( + SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID, + new Object[] { loginName, toolSessionId }); - if (list == null || list.isEmpty()) - return null; + if (list == null || list.isEmpty()) + return null; - return (ChatUser) list.get(0); - + return (ChatUser) list.get(0); + } + public ChatUser getByJabberIDAndJabberRoom(String jabberID, + String jabberRoom) { + + List list = this.getHibernateTemplate().find( + SQL_QUERY_FIND_BY_JABBER_ID_JABBER_ROOM, + new Object[] { jabberID, jabberRoom }); + + if (list == null || list.isEmpty()) + return null; + + return (ChatUser) list.get(0); + } + public void saveOrUpdate(ChatUser chatUser) { this.getHibernateTemplate().saveOrUpdate(chatUser); this.getHibernateTemplate().flush();