Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatUserDAO.java =================================================================== diff -u -rbb0125e666b0b7a7ca7fbe5f76d7ba2a4f11e639 -r3d84cf2b08553e9c9ffed34da2570147bd0056c6 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatUserDAO.java (.../IChatUserDAO.java) (revision bb0125e666b0b7a7ca7fbe5f76d7ba2a4f11e639) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/IChatUserDAO.java (.../IChatUserDAO.java) (revision 3d84cf2b08553e9c9ffed34da2570147bd0056c6) @@ -41,4 +41,12 @@ ChatUser getByUserIdAndSessionId(Long userId, Long toolSessionId); void saveOrUpdate(ChatUser chatUser); + + /** + * + * @param loginName + * @param sessionId + * @return + */ + ChatUser getByLoginNameAndSessionId(String loginName, Long toolSessionId); } \ No newline at end of file Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java =================================================================== diff -u -rb069bcb700b054c25e75f74b1340b44a40ae829b -r3d84cf2b08553e9c9ffed34da2570147bd0056c6 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java (.../ChatUserDAO.java) (revision b069bcb700b054c25e75f74b1340b44a40ae829b) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java (.../ChatUserDAO.java) (revision 3d84cf2b08553e9c9ffed34da2570147bd0056c6) @@ -38,6 +38,10 @@ 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=?"; public ChatUser getByUserIdAndSessionId(Long userId, Long toolSessionId) { List list = this.getHibernateTemplate().find( @@ -50,6 +54,19 @@ return (ChatUser) list.get(0); } + public ChatUser getByLoginNameAndSessionId(String loginName, Long 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; + + return (ChatUser) list.get(0); + + } + public void saveOrUpdate(ChatUser chatUser) { this.getHibernateTemplate().saveOrUpdate(chatUser); this.getHibernateTemplate().flush();