Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatDAO.java =================================================================== diff -u -rccfd66f1abbfc63cd0ed0a044f89914418d67cd1 -r597801af2488d7e993718336c4983ec91a758808 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatDAO.java (.../ChatDAO.java) (revision ccfd66f1abbfc63cd0ed0a044f89914418d67cd1) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatDAO.java (.../ChatDAO.java) (revision 597801af2488d7e993718336c4983ec91a758808) @@ -26,32 +26,34 @@ import java.util.List; -import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.tool.chat.dao.IChatDAO; import org.lamsfoundation.lams.tool.chat.model.Chat; +import org.springframework.stereotype.Repository; /** * DAO for accessing the Chat objects - Hibernate specific code. */ -public class ChatDAO extends BaseDAO implements IChatDAO { +@Repository +public class ChatDAO extends LAMSBaseDAO implements IChatDAO { private static final String FIND_FORUM_BY_CONTENTID = "from Chat chat where chat.toolContentId=?"; - public Chat getByContentId(Long toolContentId) { - List list = getHibernateTemplate().find(ChatDAO.FIND_FORUM_BY_CONTENTID, toolContentId); - if (list != null && list.size() > 0) { - return (Chat) list.get(0); - } else { - return null; + public Chat getByContentId(Long toolContentId) { + List list = doFind(ChatDAO.FIND_FORUM_BY_CONTENTID, toolContentId); + if (list != null && list.size() > 0) { + return (Chat) list.get(0); + } else { + return null; + } } - } - public void saveOrUpdate(Chat chat) { - this.getHibernateTemplate().saveOrUpdate(chat); - this.getHibernateTemplate().flush(); - } + public void saveOrUpdate(Chat chat) { + getSession().saveOrUpdate(chat); + getSession().flush(); + } - public void releaseFromCache(Object o) { - getSessionFactory().getCurrentSession().evict(o); - } + public void releaseFromCache(Object o) { + getSessionFactory().getCurrentSession().evict(o); + } } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatMessageDAO.java =================================================================== diff -u -rccfd66f1abbfc63cd0ed0a044f89914418d67cd1 -r597801af2488d7e993718336c4983ec91a758808 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatMessageDAO.java (.../ChatMessageDAO.java) (revision ccfd66f1abbfc63cd0ed0a044f89914418d67cd1) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatMessageDAO.java (.../ChatMessageDAO.java) (revision 597801af2488d7e993718336c4983ec91a758808) @@ -30,16 +30,22 @@ import java.util.List; import java.util.Map; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.Query; -import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.tool.chat.dao.IChatMessageDAO; import org.lamsfoundation.lams.tool.chat.model.ChatMessage; import org.lamsfoundation.lams.tool.chat.model.ChatSession; import org.lamsfoundation.lams.tool.chat.model.ChatUser; +import org.springframework.stereotype.Repository; -public class ChatMessageDAO extends BaseDAO implements IChatMessageDAO { +@Repository +public class ChatMessageDAO extends LAMSBaseDAO implements IChatMessageDAO { + protected final Log logger = LogFactory.getLog(getClass()); + // public static final String SQL_QUERY_FIND_USER_MESSAGE_HISTORY = "from " // + ChatMessage.class.getName() + " as f where " // + "f.chatSession=? and (f.type='groupchat' or " @@ -64,69 +70,65 @@ public static final String SQL_QUERY_FIND_MESSAGES_SENT_BY_USER = "FROM " + ChatMessage.class.getName() + " AS f WHERE f.fromUser.uid=?"; - public void saveOrUpdate(ChatMessage chatMessage) { - this.getHibernateTemplate().saveOrUpdate(chatMessage); - this.getHibernateTemplate().flush(); - } + public void saveOrUpdate(ChatMessage chatMessage) { + getSession().saveOrUpdate(chatMessage); + getSession().flush(); + } - public List getForUser(ChatUser chatUser) { - return this.getHibernateTemplate().find(ChatMessageDAO.SQL_QUERY_FIND_USER_MESSAGE_HISTORY, - new Object[] { chatUser.getChatSession().getUid(), chatUser.getUid(), chatUser.getUid() }); - } + public List getForUser(ChatUser chatUser) { + return doFind(ChatMessageDAO.SQL_QUERY_FIND_USER_MESSAGE_HISTORY, new Object[] { + chatUser.getChatSession().getUid(), chatUser.getUid(), chatUser.getUid() }); + } - public ChatMessage getByUID(Long uid) { - // TODO Auto-generated method stub - List list = this.getHibernateTemplate() - .find(ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_BY_UID, new Object[] { uid }); + public ChatMessage getByUID(Long uid) { + // TODO Auto-generated method stub + List list = doFind(ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_BY_UID, new Object[] { uid }); - if (list != null && list.size() > 0) { - return (ChatMessage) list.get(0); - } else { - return null; + if (list != null && list.size() > 0) { + return (ChatMessage) list.get(0); + } else { + return null; + } + } - } - - public List getLatest(ChatSession chatSession, int max) { - try { - Query query = getSessionFactory().getCurrentSession().createQuery( - ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_BY_SESSION_ORDER_BY_DATE_ASC); - query.setLong(0, chatSession.getUid()); - query.setMaxResults(max); - return query.list(); - } catch (HibernateException he) { - logger.error("getLatest: hibernate exception"); - return null; + public List getLatest(ChatSession chatSession, int max) { + try { + Query query = getSessionFactory().getCurrentSession().createQuery( + ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_BY_SESSION_ORDER_BY_DATE_ASC); + query.setLong(0, chatSession.getUid()); + query.setMaxResults(max); + return query.list(); + } catch (HibernateException he) { + logger.error("getLatest: hibernate exception"); + return null; + } } - } - public Map getCountBySession(Long chatUID) { - List list = this.getHibernateTemplate().find(ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_COUNT_BY_SESSION, - new Object[] { chatUID }); + public Map getCountBySession(Long chatUID) { + List list = doFind(ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_COUNT_BY_SESSION, new Object[] { chatUID }); - Map resultMap = new HashMap(); - for (Iterator iter = list.iterator(); iter.hasNext();) { - Object[] row = (Object[]) iter.next(); - resultMap.put((Long) row[0], ((Number) row[1]).intValue()); + Map resultMap = new HashMap(); + for (Iterator iter = list.iterator(); iter.hasNext();) { + Object[] row = (Object[]) iter.next(); + resultMap.put((Long) row[0], ((Number) row[1]).intValue()); + } + return resultMap; } - return resultMap; - } - public Map getCountByFromUser(Long sessionUID) { - List list = this.getHibernateTemplate().find(ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_COUNT_BY_FROM_USER, - new Object[] { sessionUID }); + public Map getCountByFromUser(Long sessionUID) { + List list = doFind(ChatMessageDAO.SQL_QUERY_FIND_MESSAGE_COUNT_BY_FROM_USER, new Object[] { sessionUID }); - Map resultMap = new HashMap(); - for (Iterator iter = list.iterator(); iter.hasNext();) { - Object[] row = (Object[]) iter.next(); - resultMap.put((Long) row[0], ((Number) row[1]).intValue()); + Map resultMap = new HashMap(); + for (Iterator iter = list.iterator(); iter.hasNext();) { + Object[] row = (Object[]) iter.next(); + resultMap.put((Long) row[0], ((Number) row[1]).intValue()); + } + return resultMap; } - return resultMap; - } - @SuppressWarnings("unchecked") - public List getSentByUser(Long userUid) { - return (List) this.getHibernateTemplate().find(ChatMessageDAO.SQL_QUERY_FIND_MESSAGES_SENT_BY_USER, - new Object[] { userUid }); - } + @SuppressWarnings("unchecked") + public List getSentByUser(Long userUid) { + return (List) doFind(ChatMessageDAO.SQL_QUERY_FIND_MESSAGES_SENT_BY_USER, new Object[] { userUid }); + } } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java =================================================================== diff -u -recb763befc0380d0810f5794203bfcdf9ca0bfe7 -r597801af2488d7e993718336c4983ec91a758808 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java (.../ChatSessionDAO.java) (revision ecb763befc0380d0810f5794203bfcdf9ca0bfe7) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatSessionDAO.java (.../ChatSessionDAO.java) (revision 597801af2488d7e993718336c4983ec91a758808) @@ -26,25 +26,27 @@ import java.util.List; -import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.tool.chat.dao.IChatSessionDAO; import org.lamsfoundation.lams.tool.chat.model.ChatSession; +import org.springframework.stereotype.Repository; /** * DAO for accessing the ChatSession objects - Hibernate specific code. */ -public class ChatSessionDAO extends BaseDAO implements IChatSessionDAO { +@Repository +public class ChatSessionDAO extends LAMSBaseDAO implements IChatSessionDAO { public static final String SQL_QUERY_FIND_BY_SESSION_ID = "from " + ChatSession.class.getName() + " where session_id=?"; public void saveOrUpdate(ChatSession session) { - this.getHibernateTemplate().saveOrUpdate(session); - this.getHibernateTemplate().flush(); + getSession().saveOrUpdate(session); + getSession().flush(); } public ChatSession getBySessionId(Long toolSessionId) { - List list = this.getHibernateTemplate().find( + List list = doFind( SQL_QUERY_FIND_BY_SESSION_ID, toolSessionId); if (list == null || list.isEmpty()) return null; @@ -54,8 +56,8 @@ public void deleteBySessionID(Long toolSessionID) { ChatSession session = getBySessionId(toolSessionID); if(session != null){ - this.getHibernateTemplate().delete(session); - this.getHibernateTemplate().flush(); + getSession().delete(session); + getSession().flush(); } } } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java =================================================================== diff -u -r2aaccb954583cd8431759dca8e912a8fe863aa0e -r597801af2488d7e993718336c4983ec91a758808 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java (.../ChatUserDAO.java) (revision 2aaccb954583cd8431759dca8e912a8fe863aa0e) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dao/hibernate/ChatUserDAO.java (.../ChatUserDAO.java) (revision 597801af2488d7e993718336c4983ec91a758808) @@ -27,14 +27,16 @@ import java.util.Date; import java.util.List; -import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.tool.chat.dao.IChatUserDAO; import org.lamsfoundation.lams.tool.chat.model.ChatUser; +import org.springframework.stereotype.Repository; /** * DAO for accessing the ChatUser objects - Hibernate specific code. */ -public class ChatUserDAO extends BaseDAO implements IChatUserDAO { +@Repository +public class ChatUserDAO extends LAMSBaseDAO implements IChatUserDAO { 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=?"; @@ -51,7 +53,7 @@ + " where f.chatSession.sessionId=? and f.lastPresence > ?"; public ChatUser getByUserIdAndSessionId(Long userId, Long toolSessionId) { - List list = this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_USER_ID_SESSION_ID, + List list = doFind(SQL_QUERY_FIND_BY_USER_ID_SESSION_ID, new Object[] { userId, toolSessionId }); if (list == null || list.isEmpty()) @@ -62,7 +64,7 @@ public ChatUser getByLoginNameAndSessionId(String loginName, Long toolSessionId) { - List list = this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID, + List list = doFind(SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID, new Object[] { loginName, toolSessionId }); if (list == null || list.isEmpty()) @@ -72,34 +74,28 @@ } - public void saveOrUpdate(ChatUser chatUser) { - this.getHibernateTemplate().saveOrUpdate(chatUser); - this.getHibernateTemplate().flush(); - } + public void saveOrUpdate(ChatUser chatUser) { + getSession().saveOrUpdate(chatUser); + getSession().flush(); + } - public ChatUser getByUID(Long uid) { - List list = this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_UID, new Object[] { uid }); + public ChatUser getByUID(Long uid) { + List list = doFind(SQL_QUERY_FIND_BY_UID, new Object[] { uid }); + if (list == null || list.isEmpty()) + return null; + return (ChatUser) list.get(0); + } - if (list == null || list.isEmpty()) - return null; + public ChatUser getByNicknameAndSessionID(String nickname, Long sessionID) { + List list = doFind(SQL_QUERY_FIND_BY_NICKNAME_AND_SESSION, new Object[] { nickname, sessionID }); + if (list == null || list.isEmpty()) + return null; + return (ChatUser) list.get(0); + } - return (ChatUser) list.get(0); - } - - public ChatUser getByNicknameAndSessionID(String nickname, Long sessionID) { - List list = this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_NICKNAME_AND_SESSION, - new Object[] { nickname, sessionID }); - - if (list == null || list.isEmpty()) - return null; - - return (ChatUser) list.get(0); - } - - @SuppressWarnings("unchecked") - public List getBySessionIdAndLastPresence(Long toolSessionID, Date oldestLastPresence) { - return (List) this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_SESSION_ID_AND_TIME, - new Object[] { toolSessionID, oldestLastPresence }); - - } + @SuppressWarnings("unchecked") + public List getBySessionIdAndLastPresence(Long toolSessionID, Date oldestLastPresence) { + return (List) doFind(SQL_QUERY_FIND_BY_SESSION_ID_AND_TIME, new Object[] { toolSessionID, + oldestLastPresence }); + } }