[ 
https://issues.apache.org/jira/browse/OWB-171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gurkan Erdogdu closed OWB-171.
------------------------------

    Resolution: Fixed

> CID during GET requests must be set on UIViewRoot earlier than before render 
> response
> -------------------------------------------------------------------------------------
>
>                 Key: OWB-171
>                 URL: https://issues.apache.org/jira/browse/OWB-171
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Context and Scopes
>    Affects Versions: M3
>            Reporter: Sven Linstaedt
>            Assignee: Gurkan Erdogdu
>             Fix For: M4
>
>         Attachments: owb-171.diff, owb-171.diff, owb-171.diff, owb-171.diff
>
>
> The problem:
> GET requests in JSF2 can be handled by the full lifecycle, if the view 
> contains a <f:metadata/> with appropriate  <f:viewParam/> components. Because 
> no UIViewRoot is restored, but instead a new one is created, no cid can be 
> restored from the view root until WebBeansPhaseListener handles before render 
> rensponse.
> If one  requests the Conversation for injection during the lifecycle 
> ConversationBean.createInstance() is called, which should lookup the 
> conversation on the ConversationManager using the current sessionid and cid. 
> Both string based parameters are again looked up from the 
> ConversationService. Unfortunately ConversationService.getConversationId() 
> uses the ViewRoot's attributes map of current FacesContext to retrieve the 
> cid, which will be first set in the render phase. This results in a new 
> conversation being created. 
> A possible solution would consists of setting the cid as early as the view 
> root is created in restore view.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to