Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml =================================================================== diff -u -rf3fbbb8ec1732de7e5ce51567287b42b55ab33e1 -rb89ab02a8f92e5860ffa8e50b805254455b67393 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml (.../forumApplicationContext.xml) (revision f3fbbb8ec1732de7e5ce51567287b42b55ab33e1) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml (.../forumApplicationContext.xml) (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -17,53 +17,53 @@ - + + class="org.lamsfoundation.lams.tool.forum.persistence.hibernate.ForumUserDao"> + class="org.lamsfoundation.lams.tool.forum.persistence.hibernate.AttachmentDao"> + class="org.lamsfoundation.lams.tool.forum.persistence.hibernate.MessageDao"> + class="org.lamsfoundation.lams.tool.forum.persistence.hibernate.TimestampDao"> + class="org.lamsfoundation.lams.tool.forum.persistence.hibernate.MessageSeqDao"> + class="org.lamsfoundation.lams.tool.forum.persistence.hibernate.MessageRatingDAO"> + class="org.lamsfoundation.lams.tool.forum.persistence.hibernate.ForumToolSessionDao"> Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/AttachmentDao.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ForumDao.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ForumToolSessionDao.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ForumUserDao.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IAttachmentDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IAttachmentDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IAttachmentDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,14 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import org.lamsfoundation.lams.dao.IBaseDAO; + + +public interface IAttachmentDAO extends IBaseDAO { + + void saveOrUpdate(Attachment attachment); + + void delete(Attachment attachment); + + Attachment getById(Long attachmentId); + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,27 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +public interface IForumDAO extends IBaseDAO { + + void saveOrUpdate(Forum forum); + + Forum getById(Long forumId); + + /** + * NOTE: before call this method, must be sure delete all messages in this forum. Example code like this: + * + *
+	 * 
+	 * messageDao.deleteForumMessage(forum.getUuid());
+	 * 
+	 * 
+ * + * @param forum + */ + void delete(Forum forum); + + Forum getByContentId(Long contentID); + + void deleteCondition(ForumCondition condition); +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumToolSessionDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumToolSessionDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumToolSessionDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,19 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import java.util.List; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +public interface IForumToolSessionDAO extends IBaseDAO { + + ForumToolSession getBySessionId(Long sessionId); + + void saveOrUpdate(ForumToolSession session); + + List getByContentId(Long contentID); + + void delete(Long sessionId); + + void delete(ForumToolSession session); + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumUserDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumUserDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IForumUserDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,21 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import java.util.List; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +public interface IForumUserDAO extends IBaseDAO { + + List getBySessionId(Long sessionID); + + void save(ForumUser forumUser); + + ForumUser getByUserIdAndSessionId(Long userId, Long sessionId); + + ForumUser getByUserId(Long userId); + + ForumUser getByUid(Long userUid); + + void delete(ForumUser user); + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,67 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import java.util.List; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +public interface IMessageDAO extends IBaseDAO { + + void saveOrUpdate(Message message); + + void update(Message message); + + Message getById(Long messageId); + + /** + * Get all root (first level) topics in a special Session. + * + * @param sessionId + * @return + */ + List getRootTopics(Long sessionId); + + /** + * Get all message posted by author role in a special forum. + * + * @param forumUid + * @return + */ + List getTopicsFromAuthor(Long forumUid); + + void delete(Long uid); + + /** + * Get all children message from the given parent topic ID. + * + * @param parentId + * @return + */ + List getChildrenTopics(Long parentId); + + /** + * Get all messages according to special user and session. + * + * @param userUid + * @param sessionId + * @return + */ + List getByUserAndSession(Long userUid, Long sessionId); + + /** + * Get all messages according to special session. + * + * @param sessionId + * @return + */ + List getBySession(Long sessionId); + + /** + * Return how many post from this user and session. DOES NOT include posts from author. + * + * @param userID + * @param sessionId + * @return + */ + int getTopicsNum(Long userID, Long sessionId); + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageRatingDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageRatingDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageRatingDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,54 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import java.util.List; + +import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.tool.forum.dto.AverageRatingDTO; + +public interface IMessageRatingDAO extends IBaseDAO { + + + /** + * Return responseRating by the given imageUid and userId. + * + * @param messageId + * @param userId + * @return + */ + MessageRating getRatingByMessageAndUser(Long messageId, Long userId); + + /** + * Return list of responseRating by the the given imageUid. + * + * @param messageId + * @param userId + * @return + */ + List getRatingsByMessage(Long messageId); + + /** + * Returns rating statistics by particular message + * + * @param messageId + * @return + */ + AverageRatingDTO getAverageRatingDTOByMessage(Long messageId); + + /** + * Return total number of posts done by current user in this forum activity + * + * @param userUid + * @param forumUid + * @return + */ + int getNumOfRatingsByUserAndForum(Long userUid, Long forumUid); + + /** + * Generic method to save an object - handles both update and insert. + * + * @param o + * the object to save + */ + void saveObject(Object o); + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageSeqDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageSeqDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/IMessageSeqDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,30 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import java.util.Date; +import java.util.List; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +public interface IMessageSeqDAO extends IBaseDAO { + + + List getTopicThread(Long rootTopicId); + + MessageSeq getByTopicId(Long messageId); + + void save(MessageSeq msgSeq); + + void deleteByTopicId(Long topicUid); + + int getNumOfPostsByTopic(Long userID, Long topicID); + + /** + * Get number of messages newer than specified date. + * + * @param rootMessageId + * @param userId + * @return + */ + int getNumOfPostsNewerThan(Long rootMessageId, Date date); + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ITimestampDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ITimestampDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ITimestampDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,26 @@ +package org.lamsfoundation.lams.tool.forum.persistence; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +public interface ITimestampDAO extends IBaseDAO { + + void delete(Timestamp timestamp); + + /** + * Save timestamp. + * + * @param timestamp + * @return + */ + void saveOrUpdate(Timestamp timestamp); + + /** + * Get timestamp. + * + * @param messageId + * @param forumUserId + * @return + */ + Timestamp getTimestamp(Long messageId, Long forumUserId); + +} Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageDao.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageRatingDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageSeqDao.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag b89ab02a8f92e5860ffa8e50b805254455b67393 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/TimestampDao.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/AttachmentDao.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/AttachmentDao.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/AttachmentDao.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,64 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.persistence.Attachment; +import org.lamsfoundation.lams.tool.forum.persistence.IAttachmentDAO; +import org.springframework.stereotype.Repository; + +/** + * User: conradb + * Date: 7/06/2005 + * Time: 12:23:49 + */ +@Repository +public class AttachmentDao extends LAMSBaseDAO implements IAttachmentDAO { + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IAttachmentDAO#saveOrUpdate(org.lamsfoundation.lams.tool.forum.persistence.Attachment) + */ + @Override + public void saveOrUpdate(Attachment attachment) { + this.getSession().saveOrUpdate(attachment); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IAttachmentDAO#delete(org.lamsfoundation.lams.tool.forum.persistence.Attachment) + */ + @Override + public void delete(Attachment attachment) { + this.getSession().delete(attachment); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IAttachmentDAO#getById(java.lang.Long) + */ + @Override + public Attachment getById(final Long attachmentId) { + Attachment entity = (Attachment) getSession().get(Attachment.class,attachmentId); + return entity; + } +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumDao.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumDao.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumDao.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,93 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.persistence.Forum; +import org.lamsfoundation.lams.tool.forum.persistence.ForumCondition; +import org.lamsfoundation.lams.tool.forum.persistence.IForumDAO; +import org.springframework.stereotype.Repository; + +/** + * ForumDao + * + * @author conradb + * + * + */ +@Repository +public class ForumDao extends LAMSBaseDAO implements IForumDAO { + private static final String FIND_FORUM_BY_CONTENTID = "from Forum forum where forum.contentId=?"; + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumDAO#saveOrUpdate(org.lamsfoundation.lams.tool.forum.persistence.Forum) + */ + @Override + public void saveOrUpdate(Forum forum) { + forum.updateModificationData(); + this.getSession().saveOrUpdate(forum); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumDAO#getById(java.lang.Long) + */ + @Override + public Forum getById(Long forumId) { + return (Forum) getSession().get(Forum.class, forumId); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumDAO#delete(org.lamsfoundation.lams.tool.forum.persistence.Forum) + */ + @Override + public void delete(Forum forum) { + this.getSession().delete(forum); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumDAO#getByContentId(java.lang.Long) + */ + @Override + public Forum getByContentId(Long contentID) { + List list = doFind(ForumDao.FIND_FORUM_BY_CONTENTID, contentID); + if (list != null && list.size() > 0) { + return (Forum) list.get(0); + } else { + return null; + } + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumDAO#deleteCondition(org.lamsfoundation.lams.tool.forum.persistence.ForumCondition) + */ + @Override + public void deleteCondition(ForumCondition condition) { + if (condition != null && condition.getConditionId() != null) { + this.getSession().delete(condition); + } + } +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumToolSessionDao.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumToolSessionDao.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumToolSessionDao.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,88 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.persistence.Forum; +import org.lamsfoundation.lams.tool.forum.persistence.ForumToolSession; +import org.lamsfoundation.lams.tool.forum.persistence.IForumToolSessionDAO; +import org.springframework.stereotype.Repository; + +@Repository +public class ForumToolSessionDao extends LAMSBaseDAO implements IForumToolSessionDAO { + + private static final String SQL_QUERY_FIND_BY_SESSION_ID = "from " + ForumToolSession.class.getName() + " where session_id=?"; + private static final String SQL_QUERY_FIND_BY_CONTENT_ID = "select s from " + Forum.class.getName()+ " as f, " + + ForumToolSession.class.getName() + " as s" + + " where f.contentId=? and s.forum.uid=f.uid"; + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumToolSessionDAO#getBySessionId(java.lang.Long) + */ + @Override + public ForumToolSession getBySessionId(Long sessionId) { + List list = this.doFind(SQL_QUERY_FIND_BY_SESSION_ID,sessionId); + if(list == null || list.isEmpty()) + return null; + return (ForumToolSession) list.get(0); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumToolSessionDAO#saveOrUpdate(org.lamsfoundation.lams.tool.forum.persistence.ForumToolSession) + */ + @Override + public void saveOrUpdate(ForumToolSession session){ + this.getSession().saveOrUpdate(session); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumToolSessionDAO#getByContentId(java.lang.Long) + */ + @Override + public List getByContentId(Long contentID) { + List list = this.doFind(SQL_QUERY_FIND_BY_CONTENT_ID,contentID); + return list; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumToolSessionDAO#delete(java.lang.Long) + */ + @Override + public void delete(Long sessionId) { + ForumToolSession session = getBySessionId(sessionId); + this.getSession().delete(session); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumToolSessionDAO#delete(org.lamsfoundation.lams.tool.forum.persistence.ForumToolSession) + */ + @Override + public void delete(ForumToolSession session){ + this.getSession().delete(session); + } +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumUserDao.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumUserDao.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/ForumUserDao.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,108 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.persistence.ForumUser; +import org.lamsfoundation.lams.tool.forum.persistence.IForumUserDAO; +import org.springframework.stereotype.Repository; + +@Repository +public class ForumUserDao extends LAMSBaseDAO implements IForumUserDAO { + + private static final String SQL_QUERY_FIND_BY_USER_ID_SESSION_ID = "from " + ForumUser.class.getName() + " as f" + + " where user_id=? and f.session.sessionId=?"; + + private static final String SQL_QUERY_FIND_BY_USER_ID = "from " + ForumUser.class.getName() + " as f" + + " where user_id=? and session_id is null"; + + private static final String SQL_QUERY_FIND_BY_SESSION_ID = "from " + + ForumUser.class.getName() + " as f " + + " where f.session.sessionId=?"; + + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumUserDAO#getBySessionId(java.lang.Long) + */ + @Override + public List getBySessionId(Long sessionID) { + return this.doFind(SQL_QUERY_FIND_BY_SESSION_ID, sessionID); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumUserDAO#save(org.lamsfoundation.lams.tool.forum.persistence.ForumUser) + */ + @Override + public void save(ForumUser forumUser){ + this.getSession().save(forumUser); + } + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumUserDAO#getByUserIdAndSessionId(java.lang.Long, java.lang.Long) + */ + @Override + public ForumUser getByUserIdAndSessionId(Long userId, Long sessionId) { + List list = this.doFind(SQL_QUERY_FIND_BY_USER_ID_SESSION_ID + , new Object[]{userId,sessionId}); + + if(list == null || list.isEmpty()) + return null; + + return (ForumUser) list.get(0); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumUserDAO#getByUserId(java.lang.Long) + */ + @Override + public ForumUser getByUserId(Long userId) { + List list = this.doFind(SQL_QUERY_FIND_BY_USER_ID, userId); + + if(list == null || list.isEmpty()) + return null; + + return (ForumUser) list.get(0); + } + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumUserDAO#getByUid(java.lang.Long) + */ + @Override + public ForumUser getByUid(Long userUid) { + + return (ForumUser) this.getSession().get(ForumUser.class,userUid); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IForumUserDAO#delete(org.lamsfoundation.lams.tool.forum.persistence.ForumUser) + */ + @Override + public void delete(ForumUser user) { + this.getSession().delete(user); + } + + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageDao.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageDao.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageDao.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,145 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IMessageDAO; +import org.lamsfoundation.lams.tool.forum.persistence.Message; +import org.springframework.stereotype.Repository; + +/** + * @author conradb + */ +@Repository +public class MessageDao extends LAMSBaseDAO implements IMessageDAO { + private static final String SQL_QUERY_FIND_ROOT_TOPICS = "from " + Message.class.getName() + " m " + + " where parent_uid is null and m.toolSession.sessionId=?"; + + private static final String SQL_QUERY_FIND_TOPICS_FROM_AUTHOR = "from " + Message.class.getName() + + " where is_authored = true and forum_uid=? order by create_date"; + + private static final String SQL_QUERY_FIND_CHILDREN = "from " + Message.class.getName() + " m where m.parent.uid=?"; + + private static final String SQL_QUERY_BY_USER_SESSION = "from " + Message.class.getName() + " m " + + " where m.createdBy.uid = ? and m.toolSession.sessionId=?"; + + private static final String SQL_QUERY_BY_SESSION = "from " + Message.class.getName() + " m " + + " where m.toolSession.sessionId=?"; + + private static final String SQL_QUERY_TOPICS_NUMBER_BY_USER_SESSION = "select count(*) from " + + Message.class.getName() + " m " + + " where m.createdBy.userId=? and m.toolSession.sessionId=? and m.isAuthored = false"; + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#saveOrUpdate(org.lamsfoundation.lams.tool.forum.persistence.Message) + */ + @Override + public void saveOrUpdate(Message message) { + this.getSession().saveOrUpdate(message); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#update(org.lamsfoundation.lams.tool.forum.persistence.Message) + */ + @Override + public void update(Message message) { + this.getSession().saveOrUpdate(message); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#getById(java.lang.Long) + */ + @Override + public Message getById(Long messageId) { + return (Message) getSession().get(Message.class, messageId); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#getRootTopics(java.lang.Long) + */ + @Override + public List getRootTopics(Long sessionId) { + return this.doFind(SQL_QUERY_FIND_ROOT_TOPICS, sessionId); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#getTopicsFromAuthor(java.lang.Long) + */ + @Override + public List getTopicsFromAuthor(Long forumUid) { + return this.doFind(SQL_QUERY_FIND_TOPICS_FROM_AUTHOR, forumUid); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#delete(java.lang.Long) + */ + @Override + public void delete(Long uid) { + Message msg = getById(uid); + if (msg != null) { + this.getSession().delete(msg); + } + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#getChildrenTopics(java.lang.Long) + */ + @Override + public List getChildrenTopics(Long parentId) { + return this.doFind(SQL_QUERY_FIND_CHILDREN, parentId); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#getByUserAndSession(java.lang.Long, java.lang.Long) + */ + @Override + public List getByUserAndSession(Long userUid, Long sessionId) { + return this.doFind(SQL_QUERY_BY_USER_SESSION, new Object[] { userUid, sessionId }); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#getBySession(java.lang.Long) + */ + @Override + public List getBySession(Long sessionId) { + return this.doFind(SQL_QUERY_BY_SESSION, sessionId); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageDAO#getTopicsNum(java.lang.Long, java.lang.Long) + */ + @Override + public int getTopicsNum(Long userID, Long sessionId) { + List list = this.doFind(SQL_QUERY_TOPICS_NUMBER_BY_USER_SESSION, + new Object[] { userID, sessionId }); + if (list != null && list.size() > 0) + return ((Number) list.get(0)).intValue(); + else + return 0; + } +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageRatingDAO.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageRatingDAO.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageRatingDAO.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,116 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import java.text.NumberFormat; +import java.util.List; +import java.util.Locale; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.dto.AverageRatingDTO; +import org.lamsfoundation.lams.tool.forum.persistence.IMessageRatingDAO; +import org.lamsfoundation.lams.tool.forum.persistence.MessageRating; +import org.springframework.stereotype.Repository; + +/** + * DAO interface for MessageRating.. + * + * @author Andrey Balan + * @see org.lamsfoundation.lams.tool.forum.persistence.MessageRating + */ +@Repository +public class MessageRatingDAO extends LAMSBaseDAO implements IMessageRatingDAO { + + private static final String FIND_BY_MESSAGE_AND_USER = "from " + MessageRating.class.getName() + + " as r where r.user.userId = ? and r.message.uid=?"; + + private static final String FIND_BY_MESSAGE_ID = "from " + MessageRating.class.getName() + + " as r where r.message.uid=?"; + + private static final String FIND_AVERAGE_RATING_BY_MESSAGE = "SELECT AVG(r.rating), COUNT(*) from " + + MessageRating.class.getName() + " as r where r.message.uid=?"; + + private static final String FIND_COUNT_RATING_BY_USER_AND_FORUM = "SELECT COUNT(*) from " + MessageRating.class.getName() + + " as r where r.user.uid = ? and r.message.forum.uid=?"; + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageRatingDAO#getRatingByMessageAndUser(java.lang.Long, java.lang.Long) + */ + @Override + public MessageRating getRatingByMessageAndUser(Long messageId, Long userId) { + List list = doFind(FIND_BY_MESSAGE_AND_USER, new Object[] { userId, messageId }); + if (list == null || list.size() == 0) + return null; + return (MessageRating) list.get(0); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageRatingDAO#getRatingsByMessage(java.lang.Long) + */ + @Override + @SuppressWarnings("unchecked") + public List getRatingsByMessage(Long messageId) { + return (List) doFind(FIND_BY_MESSAGE_ID, messageId); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageRatingDAO#getAverageRatingDTOByMessage(java.lang.Long) + */ + @Override + @SuppressWarnings("unchecked") + public AverageRatingDTO getAverageRatingDTOByMessage(Long messageId) { + List list = (List) doFind(FIND_AVERAGE_RATING_BY_MESSAGE, new Object[] { messageId }); + Object[] results = list.get(0); + + Object averageRatingObj = (results[0] == null) ? 0 : results[0]; + NumberFormat numberFormat = NumberFormat.getInstance(Locale.US); + numberFormat.setMaximumFractionDigits(1); + String averageRating = numberFormat.format(averageRatingObj); + + String numberOfVotes = (results[1] == null) ? "0" : String.valueOf(results[1]); + return new AverageRatingDTO(averageRating, numberOfVotes); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageRatingDAO#getNumOfRatingsByUserAndForum(java.lang.Long, java.lang.Long) + */ + @Override + public int getNumOfRatingsByUserAndForum(Long userUid, Long forumUid) { + List list = this.doFind(FIND_COUNT_RATING_BY_USER_AND_FORUM, + new Object[] { userUid, forumUid }); + if (list != null && list.size() > 0) + return ((Number) list.get(0)).intValue(); + else + return 0; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageRatingDAO#saveObject(java.lang.Object) + */ + @Override + public void saveObject(Object o) { + super.getSession().saveOrUpdate(o); + } + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageSeqDao.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageSeqDao.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/MessageSeqDao.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,115 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import java.util.Date; +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IMessageSeqDAO; +import org.lamsfoundation.lams.tool.forum.persistence.MessageSeq; +import org.springframework.stereotype.Repository; + +@Repository +public class MessageSeqDao extends LAMSBaseDAO implements IMessageSeqDAO { + private static final String SQL_QUERY_FIND_TOPIC_THREAD = "from " + MessageSeq.class.getName() + + " where root_message_uid = ?"; + private static final String SQL_QUERY_FIND_TOPIC_ID = "from " + MessageSeq.class.getName() + + " where message_uid = ?"; + + private static final String SQL_QUERY_NUM_POSTS_BY_TOPIC = "select count(*) from " + MessageSeq.class.getName() + + " ms where ms.message.createdBy.userId=? and ms.message.isAuthored = false and ms.rootMessage.uid=?"; + + private static final String SQL_QUERY_NUM_POSTS_BY_ROOT_MESSAGE_AND_DATE = "SELECT count(*) FROM " + + MessageSeq.class.getName() + " seq WHERE seq.rootMessage.uid = ? AND seq.message.updated > ?"; + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageSeqDAO#getTopicThread(java.lang.Long) + */ + @Override + public List getTopicThread(Long rootTopicId) { + return doFind(SQL_QUERY_FIND_TOPIC_THREAD, rootTopicId); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageSeqDAO#getByTopicId(java.lang.Long) + */ + @Override + public MessageSeq getByTopicId(Long messageId) { + List list = doFind(SQL_QUERY_FIND_TOPIC_ID, messageId); + if (list == null || list.isEmpty()) + return null; + return (MessageSeq) list.get(0); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageSeqDAO#save(org.lamsfoundation.lams.tool.forum.persistence.MessageSeq) + */ + @Override + public void save(MessageSeq msgSeq) { + getSession().save(msgSeq); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageSeqDAO#deleteByTopicId(java.lang.Long) + */ + @Override + public void deleteByTopicId(Long topicUid) { + MessageSeq seq = getByTopicId(topicUid); + if (seq != null) + getSession().delete(seq); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageSeqDAO#getNumOfPostsByTopic(java.lang.Long, java.lang.Long) + */ + @Override + public int getNumOfPostsByTopic(Long userID, Long topicID) { + List list = doFind(SQL_QUERY_NUM_POSTS_BY_TOPIC, new Object[] { userID, topicID }); + if (list != null && list.size() > 0) + return ((Number) list.get(0)).intValue(); + else + return 0; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.IMessageSeqDAO#getNumOfPostsNewerThan(java.lang.Long, java.util.Date) + */ + @Override + public int getNumOfPostsNewerThan(Long rootMessageId, Date date) { + + // user views forum not the first time + List messages = doFind(SQL_QUERY_NUM_POSTS_BY_ROOT_MESSAGE_AND_DATE, + new Object[] { rootMessageId, date }); + + if (messages != null && messages.size() > 0) { + return ((Number) messages.get(0)).intValue(); + } else { + return 0; + } + } + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/TimestampDao.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/TimestampDao.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/hibernate/TimestampDao.java (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -0,0 +1,72 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ +package org.lamsfoundation.lams.tool.forum.persistence.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; +import org.lamsfoundation.lams.tool.forum.persistence.ITimestampDAO; +import org.lamsfoundation.lams.tool.forum.persistence.Timestamp; +import org.springframework.stereotype.Repository; + +/** + * TimestampDao + * @author ruslan + */ +@Repository +public class TimestampDao extends LAMSBaseDAO implements ITimestampDAO { + + private static final String GET_TIMESTAMP_BY_MESSAGE_AND_USER = " FROM " + Timestamp.class.getName() + + " ts WHERE ts.message.uid = ? AND ts.forumUser.uid = ? "; + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.ITimestampDAO#delete(org.lamsfoundation.lams.tool.forum.persistence.Timestamp) + */ + @Override + public void delete(Timestamp timestamp) { + this.getSession().delete(timestamp); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.ITimestampDAO#saveOrUpdate(org.lamsfoundation.lams.tool.forum.persistence.Timestamp) + */ + @Override + public void saveOrUpdate(Timestamp timestamp) { + this.getSession().saveOrUpdate(timestamp); + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.forum.persistence.hibernate.ITimestampDAO#getTimestamp(java.lang.Long, java.lang.Long) + */ + @Override + public Timestamp getTimestamp(Long messageId, Long forumUserId) { + List timestampList = this.doFind(GET_TIMESTAMP_BY_MESSAGE_AND_USER, new Object[]{messageId, forumUserId}); + if (timestampList != null && timestampList.size() > 0) + return (Timestamp) (timestampList.get(0)); + else + return null; + } + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java =================================================================== diff -u -ra75be14588cea0e83534434af882b06031998ccb -rb89ab02a8f92e5860ffa8e50b805254455b67393 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision a75be14588cea0e83534434af882b06031998ccb) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision b89ab02a8f92e5860ffa8e50b805254455b67393) @@ -80,25 +80,25 @@ import org.lamsfoundation.lams.tool.forum.dto.AverageRatingDTO; import org.lamsfoundation.lams.tool.forum.dto.MessageDTO; import org.lamsfoundation.lams.tool.forum.persistence.Attachment; -import org.lamsfoundation.lams.tool.forum.persistence.AttachmentDao; import org.lamsfoundation.lams.tool.forum.persistence.Forum; import org.lamsfoundation.lams.tool.forum.persistence.ForumCondition; -import org.lamsfoundation.lams.tool.forum.persistence.ForumDao; import org.lamsfoundation.lams.tool.forum.persistence.ForumException; import org.lamsfoundation.lams.tool.forum.persistence.ForumReport; import org.lamsfoundation.lams.tool.forum.persistence.ForumToolSession; -import org.lamsfoundation.lams.tool.forum.persistence.ForumToolSessionDao; import org.lamsfoundation.lams.tool.forum.persistence.ForumUser; -import org.lamsfoundation.lams.tool.forum.persistence.ForumUserDao; +import org.lamsfoundation.lams.tool.forum.persistence.IAttachmentDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IForumDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IForumToolSessionDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IForumUserDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IMessageDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IMessageRatingDAO; +import org.lamsfoundation.lams.tool.forum.persistence.IMessageSeqDAO; +import org.lamsfoundation.lams.tool.forum.persistence.ITimestampDAO; import org.lamsfoundation.lams.tool.forum.persistence.Message; -import org.lamsfoundation.lams.tool.forum.persistence.MessageDao; import org.lamsfoundation.lams.tool.forum.persistence.MessageRating; -import org.lamsfoundation.lams.tool.forum.persistence.MessageRatingDAO; import org.lamsfoundation.lams.tool.forum.persistence.MessageSeq; -import org.lamsfoundation.lams.tool.forum.persistence.MessageSeqDao; import org.lamsfoundation.lams.tool.forum.persistence.PersistenceException; import org.lamsfoundation.lams.tool.forum.persistence.Timestamp; -import org.lamsfoundation.lams.tool.forum.persistence.TimestampDao; import org.lamsfoundation.lams.tool.forum.util.DateComparator; import org.lamsfoundation.lams.tool.forum.util.ForumConstants; import org.lamsfoundation.lams.tool.forum.util.ForumToolContentHandler; @@ -124,21 +124,21 @@ private static final Logger log = Logger.getLogger(ForumService.class); // DAO variables - private ForumDao forumDao; + private IForumDAO forumDao; - private AttachmentDao attachmentDao; + private IAttachmentDAO attachmentDao; - private MessageDao messageDao; + private IMessageDAO messageDao; - private TimestampDao timestampDao; + private ITimestampDAO timestampDao; - private MessageSeqDao messageSeqDao; + private IMessageSeqDAO messageSeqDao; - private MessageRatingDAO messageRatingDao; + private IMessageRatingDAO messageRatingDao; - private ForumUserDao forumUserDao; + private IForumUserDAO forumUserDao; - private ForumToolSessionDao forumToolSessionDao; + private IForumToolSessionDAO forumToolSessionDao; // system level handler and service private ILamsToolService toolService; @@ -1268,67 +1268,67 @@ this.toolService = toolService; } - public AttachmentDao getAttachmentDao() { + public IAttachmentDAO getAttachmentDao() { return attachmentDao; } - public void setAttachmentDao(AttachmentDao attachmentDao) { + public void setAttachmentDao(IAttachmentDAO attachmentDao) { this.attachmentDao = attachmentDao; } - public ForumDao getForumDao() { + public IForumDAO getForumDao() { return forumDao; } - public void setForumDao(ForumDao forumDao) { + public void setForumDao(IForumDAO forumDao) { this.forumDao = forumDao; } - public TimestampDao getTimestampDao() { + public ITimestampDAO getTimestampDao() { return timestampDao; } - public void setTimestampDao(TimestampDao timestampDao) { + public void setTimestampDao(ITimestampDAO timestampDao) { this.timestampDao = timestampDao; } - public MessageDao getMessageDao() { + public IMessageDAO getMessageDao() { return messageDao; } - public void setMessageDao(MessageDao messageDao) { + public void setMessageDao(IMessageDAO messageDao) { this.messageDao = messageDao; } - public MessageSeqDao getMessageSeqDao() { + public IMessageSeqDAO getMessageSeqDao() { return messageSeqDao; } - public void setMessageSeqDao(MessageSeqDao messageSeqDao) { + public void setMessageSeqDao(IMessageSeqDAO messageSeqDao) { this.messageSeqDao = messageSeqDao; } - public MessageRatingDAO getMessageRatingDao() { + public IMessageRatingDAO getMessageRatingDao() { return messageRatingDao; } - public void setMessageRatingDao(MessageRatingDAO messageRatingDao) { + public void setMessageRatingDao(IMessageRatingDAO messageRatingDao) { this.messageRatingDao = messageRatingDao; } - public ForumToolSessionDao getForumToolSessionDao() { + public IForumToolSessionDAO getForumToolSessionDao() { return forumToolSessionDao; } - public void setForumToolSessionDao(ForumToolSessionDao forumToolSessionDao) { + public void setForumToolSessionDao(IForumToolSessionDAO forumToolSessionDao) { this.forumToolSessionDao = forumToolSessionDao; } - public ForumUserDao getForumUserDao() { + public IForumUserDAO getForumUserDao() { return forumUserDao; } - public void setForumUserDao(ForumUserDao forumUserDao) { + public void setForumUserDao(IForumUserDAO forumUserDao) { this.forumUserDao = forumUserDao; }