Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ForumDao.java =================================================================== diff -u -raaca44f485c3bacc6c866f7df28c0511061473d6 -r69b42721943dd9b418ac624d16b7f239dc12ed99 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ForumDao.java (.../ForumDao.java) (revision aaca44f485c3bacc6c866f7df28c0511061473d6) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/ForumDao.java (.../ForumDao.java) (revision 69b42721943dd9b418ac624d16b7f239dc12ed99) @@ -20,11 +20,15 @@ public Forum getById(Long forumId) { return (Forum) getHibernateTemplate().get(Forum.class,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 + */ public void delete(Forum forum) { - //TODO: delete this forum message -// this.getHibernateTemplate(). -// this.getSession().createQuery() this.getHibernateTemplate().delete(forum); } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageDao.java =================================================================== diff -u -raaca44f485c3bacc6c866f7df28c0511061473d6 -r69b42721943dd9b418ac624d16b7f239dc12ed99 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageDao.java (.../MessageDao.java) (revision aaca44f485c3bacc6c866f7df28c0511061473d6) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageDao.java (.../MessageDao.java) (revision 69b42721943dd9b418ac624d16b7f239dc12ed99) @@ -34,4 +34,14 @@ return this.getHibernateTemplate().findByNamedQuery(name, forumId); } + /** + * Delete all messages in special forum. + * @param forumUuid + * The forum UUID which messages will be deleted in this method. + */ + public void deleteForumMessage(Long forumUuid) { + List list = findByNamedQuery("allMessagesByForum",forumUuid); + this.getHibernateTemplate().deleteAll(list); + } + } Index: lams_tool_forum/test/java/org/lamsfoundation/lams/tool/forum/persistence/MessageTest.java =================================================================== diff -u -raaca44f485c3bacc6c866f7df28c0511061473d6 -r69b42721943dd9b418ac624d16b7f239dc12ed99 --- lams_tool_forum/test/java/org/lamsfoundation/lams/tool/forum/persistence/MessageTest.java (.../MessageTest.java) (revision aaca44f485c3bacc6c866f7df28c0511061473d6) +++ lams_tool_forum/test/java/org/lamsfoundation/lams/tool/forum/persistence/MessageTest.java (.../MessageTest.java) (revision 69b42721943dd9b418ac624d16b7f239dc12ed99) @@ -110,10 +110,12 @@ //delete + messageDao.delete(reloaded); + messageDao.deleteForumMessage(forum.getUuid()); dao.delete(forum); -// assertNull("message object not deleted", messageDao.getById(message.getUuid())); -// assertNull("reply message object not deleted", messageDao.getById(message2.getUuid())); + assertNull("message object not deleted", messageDao.getById(message.getUuid())); + assertNull("reply message object not deleted", messageDao.getById(message2.getUuid())); } protected void tearDown() throws Exception {