[seam-commits] Seam SVN: r7759 - trunk/src/main/org/jboss/seam/core.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Mon Mar 31 10:12:26 EDT 2008


Author: shane.bryzak at jboss.com
Date: 2008-03-31 10:12:25 -0400 (Mon, 31 Mar 2008)
New Revision: 7759

Modified:
   trunk/src/main/org/jboss/seam/core/ConversationPropagation.java
Log:
JBSEAM-2606

Modified: trunk/src/main/org/jboss/seam/core/ConversationPropagation.java
===================================================================
--- trunk/src/main/org/jboss/seam/core/ConversationPropagation.java	2008-03-31 14:11:04 UTC (rev 7758)
+++ trunk/src/main/org/jboss/seam/core/ConversationPropagation.java	2008-03-31 14:12:25 UTC (rev 7759)
@@ -11,6 +11,7 @@
 import org.jboss.seam.contexts.Contexts;
 import org.jboss.seam.log.LogProvider;
 import org.jboss.seam.log.Logging;
+import org.jboss.seam.navigation.ConversationIdParameter;
 import org.jboss.seam.navigation.Page;
 import org.jboss.seam.navigation.Pages;
 
@@ -105,10 +106,27 @@
       if ( viewId!=null )
       {
          Page page = Pages.instance().getPage(viewId);
-         conversationId = page.getConversationIdParameter().getRequestConversationId(parameters);
+                  
+         ConversationIdParameter currentConversationIdParameter = null;
+         
+         if(conversationName != null)
+         {
+             currentConversationIdParameter = Pages.instance().getConversationIdParameter(conversationName);
+             
+             if(currentConversationIdParameter == null)
+             {
+                 throw new IllegalStateException("The conversationName specified: " + conversationName + ", does not exist.");
+             }
+         }
+         else
+         {
+             currentConversationIdParameter = page.getConversationIdParameter();
+         }
+         
+         conversationId = currentConversationIdParameter.getRequestConversationId(parameters);         
          //TODO: how about the parent conversation id?
       }
-      // TODO handle conversationName 
+
    }
 
    private void restoreSyntheticConversationId(Map parameters)




More information about the seam-commits mailing list