Skip to main content

[JIRA] Commented: (PORTLETSPEC3-8) Errata: Clarify inconsistencies regarding getting and setting parameters

  • From: "msnicklous (JIRA)" < >
  • To:
  • Subject: [JIRA] Commented: (PORTLETSPEC3-8) Errata: Clarify inconsistencies regarding getting and setting parameters
  • Date: Fri, 26 Jul 2013 13:11:25 +0000 (UTC)
  • Auto-submitted: auto-generated


    [ 
https://java.net/jira/browse/PORTLETSPEC3-8?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=366839#action_366839
 ] 

msnicklous commented on PORTLETSPEC3-8:
---------------------------------------

I believe the only remaining open point here is whether an an update to the 
map returned by one of the get parameter map functions should directly cause 
an update to the actual underlying parameters. In other words, should the 
following code actually change the parameters:

{noformat}
String[] values = { "Fred", "Wilma", "Pebbles" };
actionResponse.getRenderParameterMap().put("privateRenderParameter3", values);
{noformat}

My take would be that by itself  no, it should not. The correct code should 
be:

{noformat}
String[] values = { "Fred", "Wilma", "Pebbles" };
Map<String, String[]> parmMap = actionResponse.getRenderParameterMap();
parmMap.put("privateRenderParameter3", values);
actionResponse.setRenderParameters(parmMap);
{noformat}

I would suggest the following change for the getRenderParameter map method 
and corresponding updates for the getParameterMap method on BaseURL:

{noformat}
Map<String,String[]> getRenderParameterMap()

Returns a Map of the parameters currently set on this portlet URL via the 
setParameter or setParameters methods.

Contents of this map may be modified, but modifying the map does not directly 
affect the render parameters. In order to set the
parameters to the values in the modified map, the setRenderParameters(Map) 
with the modified map as a parameter must be used.

The keys in the returned map are of type String, and the values are of type 
String array (String[]).

If no parameters exist this method returns an empty Map.

Returns:
    Map containing parameter names as keys and parameter values as map 
values, or an empty Map if no parameters exist. The keys in the parameter map 
are of type String. The values in the parameter map are of type String array 
(String[]).
{noformat}

> Errata: Clarify inconsistencies regarding getting and setting parameters
> ------------------------------------------------------------------------
>
>                 Key: PORTLETSPEC3-8
>                 URL: https://java.net/jira/browse/PORTLETSPEC3-8
>             Project: portletspec3
>          Issue Type: Improvement
>          Components: JSR 286 Portlet Specification Errata
>            Reporter: msnicklous
>            Priority: Minor
>
> Reading the spec document on parameters and comparing it with the javadoc on
> "get...Parameter..." and "set...Parameter..." calls on various Response, 
> Request, and
> URL classes, it seems to me that there are a number of inconsistencies that 
> should
> be addressed, for example:
> # Is a parameter allowed to have a value of null?
> # Under which cases (if any) should setting a parameter to a value of null 
> remove the parameter?
> # In which cases exactly are public parameters get and set?
> # In which cases are public render parameters set or updated?
> # In which cases are public render parameters removed?
> # Should the "getParameterMap" methods always return an immutable map?
> # probably more that I haven't noticed yet ... 
> To #6 - 
> {noformat}
> The javadoc for PortletRequest.getParameterMap states:
> -------------------------
>     Returns:
>         an immutable Map containing parameter names as keys and parameter 
> values as map 
>         values, or an empty Map if no parameters exist. 
>         The keys in the parameter map are of type String. 
>         The values in the parameter map are of type String array (String[]).
> -------------------------
> While the javadoc for BaseURL.getParameterMap states:
> -------------------------
> Returns:
>     Map containing parameter names as keys and parameter values as map 
>     values, or an empty Map if no parameters exist. 
>     The keys in the parameter map are of type String. 
>     The values in the parameter map are of type String array (String[]).
> -------------------------
> {noformat}
> Shouldn't the returned Map values be consistently immutable? 
> If not, and if we want to be able to update the actual parameters by 
> updating the
> Map returned by BaseURL.getParameterMap, it needs to be described clearly.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://java.net/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[JIRA] Commented: (PORTLETSPEC3-8) Errata: Clarify inconsistencies regarding getting and setting parameters

msnicklous (JIRA) 07/26/2013

<Possible follow-up(s)>

[JIRA] Commented: (PORTLETSPEC3-8) Errata: Clarify inconsistencies regarding getting and setting parameters

Neil Griffin (JIRA) 07/30/2013

[JIRA] Commented: (PORTLETSPEC3-8) Errata: Clarify inconsistencies regarding getting and setting parameters

msnicklous (JIRA) 07/31/2013

[JIRA] Commented: (PORTLETSPEC3-8) Errata: Clarify inconsistencies regarding getting and setting parameters

msnicklous (JIRA) 07/31/2013

[JIRA] Commented: (PORTLETSPEC3-8) Errata: Clarify inconsistencies regarding getting and setting parameters

andre.hagemeier (JIRA) 07/31/2013
 
 
Close
loading
Please Confirm
Close