[jboss-svn-commits] JBL Code SVN: r12047 - labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/action.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 21 20:27:30 EDT 2007


Author: unibrew
Date: 2007-05-21 20:27:30 -0400 (Mon, 21 May 2007)
New Revision: 12047

Modified:
   labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/action/SplitTopic.java
Log:
[JBFORUMS-238] Split topic problems finally solved.

Modified: labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/action/SplitTopic.java
===================================================================
--- labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/action/SplitTopic.java	2007-05-21 23:10:26 UTC (rev 12046)
+++ labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/action/SplitTopic.java	2007-05-22 00:27:30 UTC (rev 12047)
@@ -147,6 +147,8 @@
         
         try {
             
+            getForumsModule().getHibernate().getSessionFactory().getCurrentSession().refresh(this.topic);
+            
             Forum destForum = getForumsModule().findForumById(new Integer(toForumId));
             
             // Creating new topic in destination forum.
@@ -180,19 +182,17 @@
                newTopic.addPost((Post)it.next());
             }
             
-            getForumsModule().getHibernate().getSessionFactory().getCurrentSession().merge(topic);
+            newTopic.setReplies(newTopic.getPosts().size()-1);
+            newTopic.setLastPostDate(newTopic.getLastPost().getCreateDate());
             
             Forum fromForum = topic.getForum();
             topic.setReplies(topic.getReplies()-newTopic.getReplies()-1);
-            fromForum.setPostCount(fromForum.getPostCount()-checkboxes.size());
-            fromForum.setTopicCount(fromForum.getTopicCount()-1);
+            fromForum.setPostCount(fromForum.getPostCount()-newTopic.getReplies()-1);
             topic.setLastPostDate(topic.getLastPost().getCreateDate());
-            
+
             destForum.addTopicSize();
             destForum.setPostCount(destForum.getPostCount()+newTopic.getReplies()+1);
-            
-            newTopic.setReplies(newTopic.getPosts().size()-1);
-            newTopic.setLastPostDate(newTopic.getLastPost().getCreateDate());
+
             getForumsModule().getHibernate().getSessionFactory().getCurrentSession().flush();
         } catch (Exception e) {
             e.printStackTrace();
@@ -276,19 +276,19 @@
                 newTopic.addPost(movedPost);
             }
             
-            getForumsModule().getHibernate().getSessionFactory().getCurrentSession().merge(topic);
+            getForumsModule().getHibernate().getSessionFactory().getCurrentSession().refresh(this.topic);
             
             Forum fromForum = topic.getForum();
             topic.setReplies(topic.getReplies()-checkboxes.size());
             fromForum.setPostCount(fromForum.getPostCount()-checkboxes.size());
-            fromForum.setTopicCount(fromForum.getTopicCount()-1);
             topic.setLastPostDate(topic.getLastPost().getCreateDate());
             
+            newTopic.setReplies(checkboxes.size()-1);
+            newTopic.setLastPostDate(newTopic.getLastPost().getCreateDate());
+            
             destForum.addTopicSize();
             destForum.setPostCount(destForum.getPostCount()+newTopic.getReplies()+1);
             
-            newTopic.setReplies(checkboxes.size()-1);
-            newTopic.setLastPostDate(newTopic.getLastPost().getCreateDate());
             getForumsModule().getHibernate().getSessionFactory().getCurrentSession().flush();
         } catch (Exception e) {
             e.printStackTrace();




More information about the jboss-svn-commits mailing list