Parallel root conversations with dynamic conversation entries
-------------------------------------------------------------
Key: JBSEAM-944
URL:
http://jira.jboss.com/jira/browse/JBSEAM-944
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Reporter: Christian Bauer
Priority: Minor
The use case here is two navigation links are visible on all pages and they are supposed
to start new root conversations whenever they are clicked (not nest, not join). Navigation
via conversation list/switcher.
<s:link action="doFoo" propagation="none"/>
<s:link action="doBar" propagation="none"/>
Mapping:
<page view-id="/mypage.xhtml">
<rule if-outcome="foo">
<begin-conversation flush-mode="MANUAL"/>
<redirect view-id="/fooConversation.xhtml"/>
</rule>
<rule if-outcome="bar">
<begin-conversation flush-mode="MANUAL"/>
<redirect view-id="/barConversation.xhtml"/>
</rule>
<page>
<page view-id="/fooConversation.xhtml">
My Name is #{fooBackingBean.name}
</page>
<page view-id="/barConversation.xhtml">
My Name is #{barBackingBean.name}
</page>
The issue is how page descriptions in conversation entries are stored, in the
SeamPhaseListener after RENDER RESPONSE.
Sequence:
1. Call /mypage.xhtml and click on 'foo', a conversation is created and
/fooConversation.xhtml is rendered
2. Click on 'doBar', a request is send to
/fooConversation.xhtml?actionOutcome=doBar - no conversation is propagated
3. The navigation rule kicks in and does the redirect, before that happens, AFTER RENDER
RESPONSE is executed and the prepareBackswitch() stores the conversation entries,
/barConversation.xhtml is rendered
4. Click on 'doFoo', a request is send to
/barConversation.xhtml?actionOutcome=doFoo - no conversation is propagated
5. The navigation rule kicks in and does the redirect, before that happens, AFTER RENDER
RESPONSE is executed and the prepareBackswitch() stores the conversation entries, I GET
EXCEPTIONS in the log because "My name is #{fooBackingBean.name}' triggers
create() of fooBackingBean which can't be created without the right request parameters
- the interesting part is that I still get the name from somewhere, I see it in the
conversation switcher
So this could either be a bug (because visually it's working, I see the correct
conversation description in the switcher UI) that involves resolving of view-id
descriptions or I need a different approach to get new root conversations in parallel on
every click.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira