Author: ate
Date: Tue Feb 20 19:32:10 2007
New Revision: 509876
URL: http://svn.apache.org/viewvc?view=rev&rev=509876
Log:
Small but important correction to the fix for JS2-605: Query string parameters
should not (by default) be provided to portlets to be compliant to JSR 168 spec
requirements
For ActionRequests, the portal parameters *must* be merged with the (usually
not provided) portlet parameters.
Furthermore, in that situation, the portal (form) parameters should take
precendence over PortletActionURL encoded parameters.
Modified:
portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/engine/servlet/ServletRequestImpl.java
Modified:
portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/engine/servlet/ServletRequestImpl.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/engine/servlet/ServletRequestImpl.java?view=diff&rev=509876&r1=509875&r2=509876
==============================================================================
---
portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/engine/servlet/ServletRequestImpl.java
(original)
+++
portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/engine/servlet/ServletRequestImpl.java
Tue Feb 20 19:32:10 2007
@@ -142,11 +142,14 @@
currentRequest = getRequest();
portletParameters = new HashMap();
+ boolean actionRequest = false;
+
// get portlet params
JetspeedRequestContext context = (JetspeedRequestContext)
getAttribute("org.apache.jetspeed.request.RequestContext");
if (context != null)
{
PortalURL url = context.getPortalURL();
+ actionRequest = context.getActionWindow() != null;
Iterator iter =
url.getNavigationalState().getParameterNames(portletWindow);
while (iter.hasNext())
{
@@ -157,7 +160,7 @@
}
}
- if ( mergePortalParametersWithPortletParameters.booleanValue() )
+ if ( actionRequest ||
mergePortalParametersWithPortletParameters.booleanValue() )
{
String encoding = (String)
getRequest().getAttribute(PortalReservedParameters.PREFERED_CHARACTERENCODING_ATTRIBUTE);
boolean decode =
getRequest().getAttribute(PortalReservedParameters.PARAMETER_ALREADY_DECODED_ATTRIBUTE)
== null
@@ -193,7 +196,7 @@
if (values != null)
{
String[] temp = new String[paramValues.length +
values.length];
- if (
this.mergePortalParametersBeforePortletParameters.booleanValue() )
+ if ( actionRequest ||
this.mergePortalParametersBeforePortletParameters.booleanValue() )
{
System.arraycopy(paramValues, 0, temp, 0,
paramValues.length);
System.arraycopy(values, 0, temp,
paramValues.length, values.length);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]