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

[jsr344-experts] Re: ClientWindow API review

From: Edward Burns <edward.burns_at_oracle.com>
Date: Wed, 13 Mar 2013 20:07:35 -0700

>>>>> On Wed, 13 Mar 2013 21:44:34 -0400, Andy Schwartz <andy.schwartz_at_oracle.com> said:

Re: multiple browser views with the exact same client window.

EB> This is something we'll have to clarify in the next release. I have
EB> opened <http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1172>.

AS> FWIW, this one worries me, since failing to address these cases means
AS> that our window management solution is unreliable, which in some ways is
AS> worse than non-existent. :-/

Note that this case can certainly be handled as an implementation
detail.

Re: immutable map from getQueryURLParameters().

AS> I would be interested to hear thoughts on this from Leonardo or other
AS> folks who were involved in the original proposal.

AS> Why can't we assert that the Map is immutable?

[...]

AS> The ClientWindow's parameter map should be immutable.

I have added a spec statement saying the map must be immutable. I
didn't go as far as requiring an exception be thrown if it turns out not
to be immutable, however.

>> Also, for performance I think
>> checking for a null return is quicker than an empty map.

AS> This is not a good approach to performance optimization.

I have changed it to return the empty map, not null.

AS> Also, should we spec that when disabled,
AS> ClientWindow.getQueryURLParameters() returns the empty collection? If
AS> we did that, do we even need an isClientWindowRenderModeEnabled()
AS> API?

Again, I'm going to push back on that one.

AS> When it comes to API design, I am a minimalist. [...] As a
AS> minimalist, I take pleasure in killing off seemingly pointless APIs.
AS> :-)

This is why I accepted and implemented your suggestions about decode()
and attachWindow().

Ed