From: Rahul Akolkar [mailto:[EMAIL PROTECTED] 
Sent: 22 luglio 2008 14.24
To: user@shale.apache.org; [EMAIL PROTECTED]
Subject: Re: org.apache.shale.dialog.basic.config.DialogImpl not
serializable

On Tue, Jul 22, 2008 at 2:45 AM, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
wrote:
> Rahul, before track it to JIRA, i would like to understand why
> DilogImpl object is present in my HttpSession. At the moment i'm not
> sure if Shale is putting this object in the View root or other
> component is doing it.
<snip/>

Shale only puts the dialog ID (a String) as a view root attribute.

My initial thought was that the DialogImpl reference in the session
may come via BasicDialogContextManager -> BasicDialogContext ->
DialogImpl. I went back and looked at the code a bit, and it seems
that the DialogImpl is a transient reference and will be regenerated
as needed (therefore shouldn't cause the serialization issue). So:

 * Are you using vanilla Shale dialogs?
 * Are there other components that you have introduced that work with
Dialogs?
 * Do you have a smallest possible test case (one that uses the basic
impl as-is)?

-Rahul


> So, if you know that Shale could put an
> DilogImpl object in View root or in HttpSession please let me know. In
> this case i'll track to JIRA attaching the patch.
>
> Regards
> Mario
>

Rahul, I debugged and this is my conclusion:
org.apache.shale.dialog.faces.DialogPhaseListener in
beforeRenderResponse put in the ViewRoot the
"org.apache.shale.dialog.OPAQUE_STATE" attribute. The value of this
attribute is, in my case, a class of BasicDialogContext$TopState and
there is a reference to DialogImpl (BasicDialoContext has a property
dialog and TopState is an inner class of BasicDialoContext).

So I think that the solution could be modify DialogImpl to implement
Serializable?
If you agree, I'll track to JIRA also the solution...

Please let me know what you think.

Regards
Mario 





This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in 
error, please notify the sender immediately and delete the original.  Any other 
use of the email by you is prohibited.

Reply via email to