[seam-commits] Seam SVN: r9049 - in trunk/src/main/org/jboss/seam: navigation and 1 other directory.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Sat Sep 20 17:53:28 EDT 2008


Author: jacob.orshalick
Date: 2008-09-20 17:53:28 -0400 (Sat, 20 Sep 2008)
New Revision: 9049

Modified:
   trunk/src/main/org/jboss/seam/core/ConversationInterceptor.java
   trunk/src/main/org/jboss/seam/core/Manager.java
   trunk/src/main/org/jboss/seam/navigation/ConversationControl.java
Log:
JBSEAM-1943 abstracted endRoot logic into a convenience method on Manager

Modified: trunk/src/main/org/jboss/seam/core/ConversationInterceptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/core/ConversationInterceptor.java	2008-09-20 21:43:49 UTC (rev 9048)
+++ trunk/src/main/org/jboss/seam/core/ConversationInterceptor.java	2008-09-20 21:53:28 UTC (rev 9049)
@@ -286,17 +286,14 @@
 
    private void endConversation(boolean beforeRedirect, boolean endRoot)
    {
-      Manager manager = Manager.instance();
-      
       if(endRoot)
       {
-         if(manager.isNestedConversation())
-         {
-            manager.switchConversation(manager.getRootConversationId());
-         }
+         Manager.instance().endRootConversation(beforeRedirect);
       }
-
-      manager.endConversation(beforeRedirect);
+      else
+      {
+         Manager.instance().endConversation(beforeRedirect);
+      }
    }
    
    public boolean isInterceptorEnabled()

Modified: trunk/src/main/org/jboss/seam/core/Manager.java
===================================================================
--- trunk/src/main/org/jboss/seam/core/Manager.java	2008-09-20 21:43:49 UTC (rev 9048)
+++ trunk/src/main/org/jboss/seam/core/Manager.java	2008-09-20 21:53:28 UTC (rev 9049)
@@ -624,6 +624,19 @@
       }
    }
    
+   /**
+    * Make the root conversation in the current conversation stack temporary.
+    */
+   public void endRootConversation(boolean beforeRedirect)
+   {
+      if(isNestedConversation())
+      {
+         switchConversation(getRootConversationId());
+      }
+      
+      endConversation(beforeRedirect);
+   }
+   
    protected void storeConversationToViewRootIfNecessary() {}
 
    // two reasons for this: 

Modified: trunk/src/main/org/jboss/seam/navigation/ConversationControl.java
===================================================================
--- trunk/src/main/org/jboss/seam/navigation/ConversationControl.java	2008-09-20 21:43:49 UTC (rev 9048)
+++ trunk/src/main/org/jboss/seam/navigation/ConversationControl.java	2008-09-20 21:53:28 UTC (rev 9049)
@@ -46,20 +46,13 @@
    {
       if ( endConversation() )
       {
-         Conversation conversation = Conversation.instance();
-         
-         if (isEndRootConversation && conversation.isNested())
+         if(isEndRootConversation)
          {
-            conversation.root();
+            Manager.instance().endRootConversation(isEndConversationBeforeRedirect);
          }
-
-         if (isEndConversationBeforeRedirect)
-         {
-            conversation.endBeforeRedirect();
-         }
          else
          {
-            conversation.end();
+            Manager.instance().endConversation(isEndConversationBeforeRedirect);
          }
       }
       if ( beginConversation() )




More information about the seam-commits mailing list