Skip to main content

[JIRA] Commented: (PORTLETSPEC3-32) Change the parameter handling on the action URL to match the parameter handling on the render URL

  • From: "andre.hagemeier (JIRA)" < >
  • To:
  • Subject: [JIRA] Commented: (PORTLETSPEC3-32) Change the parameter handling on the action URL to match the parameter handling on the render URL
  • Date: Wed, 31 Jul 2013 17:24:47 +0000 (UTC)
  • Auto-submitted: auto-generated


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

andre.hagemeier commented on PORTLETSPEC3-32:
---------------------------------------------

A colleague of mine just reported an issue, which I am pretty sure, is 
related to this. He set a public render parameter and during the procession 
of a preprocessor, he somehow retrieved two parameters with the same name.
Surely, there was some problem with the implementation as well, but as Scott 
already mentioned, the negative use cases could be more common than positive 
side effects.

I wonder, how you would want to adjust the action behavior to behave similar 
to the render behavior. In your example, would setting the prp on the action 
request update the prp from the renderrequest?

> Change the parameter handling on the action URL to match the parameter 
> handling on the render URL
> -------------------------------------------------------------------------------------------------
>
>                 Key: PORTLETSPEC3-32
>                 URL: https://java.net/jira/browse/PORTLETSPEC3-32
>             Project: portletspec3
>          Issue Type: New Feature
>          Components: Ideas for JSR 362 Extensions
>            Reporter: msnicklous
>            Priority: Minor
>
> This addresses the differences in parameter handling on URLs created 
> through the MimeResponse createActionURL() and createRenderURL() methods. 
> It would be logical for the behavior to be the same for both URL types, 
> since both are represented by a PortletURL object. Currently, the parameter 
> handling differs in only one area - the handling of public render 
> parameters. 
> A public render parameter can be set on a render URL. When the render URL 
> is activated, the public render parameter is set to the new value, so the 
> code in the render request will behave as follows:
> {noformat}
> // returns the public render parameter as set on the render URL (or the 
> first value of a multi-valued parameter)
> String value = renderRequest.getParameter("myPublicRenderParameter");    
> // returns an array containing the value or values of the public render 
> parameter as set on the render URL
> String[] values = 
> renderRequest.getParameterValues("myPublicRenderParameter");
> // returns the current value of the public render parameter as set on the 
> render URL
> Map<String, String[]> parms = renderRequest.getPublicParameterMap();
> {noformat}
> However, when a parameter with the same name as a public render parameter 
> is set on an action URL, an action parameter by that name is set on the 
> URL. During action request processing, BOTH the action parameter value AND 
> the public render parameter value are available under the same parameter 
> name, so the code in the action request will behave as follows:
> {noformat}
> // returns the action parameter (or the first value of a multi-valued 
> parameter)
> String value = actionRequest.getParameter("myPublicRenderParameter");    
> // returns an array containing the value or values of the action parameter 
> followed by the value or values of the public render parameter
> String[] values = 
> actionRequest.getParameterValues("myPublicRenderParameter");
> // will return the current value of the public render parameter (which may 
> have been set in the past by this or another portlet,
> // or which may have been removed)
> Map<String, String[]> parms = actionRequest.getPublicParameterMap();
> {noformat}
> From the point of view of the getParameter() and getParameterValues() 
> methods, the action URL parameter handling behavior is confusing. It seems 
> that there might not be many use cases that would count on this behavior. 
> In fact, a negative use case might be more common - the programmer sets a 
> parameter on an action URL, believing that a public render parameter is 
> being set. But in reality, the actual public render parameter ever gets set.
> The proposal calls for making action URL behavior in this area to be 
> identical to the render URL behavior.
> However, it would represent a change in specified behavior as compared to 
> JSR 286, so it needs to be considered carefully.

-- 
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] Created: (PORTLETSPEC3-32) Change the parameter handling on the action URL to match the parameter handling on the render URL

msnicklous (JIRA) 07/31/2013

[JIRA] Commented: (PORTLETSPEC3-32) Change the parameter handling on the action URL to match the parameter handling on the render URL

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