Skip to main content

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

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

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