jsr344-experts@javaserverfaces-spec-public.java.net

[jsr344-experts] Re: Re: ClientWindow API review

From: Edward Burns <edward.burns_at_oracle.com>
Date: Fri, 15 Mar 2013 14:14:52 -0700

>>>>> On Thu, 14 Mar 2013 21:45:08 -0400, Andy Schwartz <andy.schwartz_at_oracle.com> said:

AS> On 3/14/13 3:11 PM, Edward Burns wrote:
>> At this point, I'm sorry to say that I'm lost about what Leonardo and
>> Andy want to do here. ACTION: Andy, please confer with Leonardo *off
>> list* and come back with your recommendations.
>>

AS> I wasn't able to reach Leonardo this afternoon.

AS> Our email exchange basically covered three questions:

AS> 1. When should the ClientWindow be created?
AS> 2. Which type should be responsible for decoding?
AS> 3. Which type should be responsible for encoding the window id into the
AS> url?

AS> For #1, Leonardo argued that the ClientWindow should not be created by
AS> the FacesContextFactory, since this would result in unnecessary
AS> ClientWindow creation during resource requests.

AS> I missed this consideration in my original review and agree with
AS> Leonardo that we want to avoid this.

AS> For #2, Leonardo (and my colleagues here) argued that the ClientWindow
AS> instance should itself be responsible for decoding. Although I argued
AS> against this in my original review, I conceded the point to Leonardo and
AS> company.

AS> For #3, my feeling is that the cleanest solution is to add a parallel
AS> ClientWindow.encode(FacesContext, String url) to match the decode().

AS> Leonardo is opposed to this due to performance concerns. Although I
AS> don't think that this would lead to a performance problems, I am not
AS> going to be able to convince Leonardo of that without time to do
AS> performance testing, which we don't have now. So, this is out.

AS> A fallback that we discussed would be to spec
AS> ClientWindow.getQueryURLParameters() such that it returns a Map
AS> containing not just bonus query parameters, but the client window id
AS> parameter as well. This gives ClientWindow implementations more control
AS> over how its state is represented in the url, which I prefer.

AS> Leonardo is happy with this alternative.

AS> I am attaching a Mojarra patch which does the following:

[...]

I have applied the patch and pair-programmed its debugging with Andy.

r11750.

Ed