Author: chris.laprun(a)jboss.com
Date: 2010-11-19 16:55:42 -0500 (Fri, 19 Nov 2010)
New Revision: 5188
Modified:
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/ResourceServingUtil.java
Log:
- GTNWSRP-146: Still need to replace the slashes (especially if they begin the portlet
context) because otherwise the URL will be malformed to be interpreted by the servlet
engine.
Modified:
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/ResourceServingUtil.java
===================================================================
---
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/ResourceServingUtil.java 2010-11-19
18:59:55 UTC (rev 5187)
+++
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/ResourceServingUtil.java 2010-11-19
21:55:42 UTC (rev 5188)
@@ -57,6 +57,7 @@
private static final String WINDOW_STATE = "windowState";
private static final String RESOURCE_STATE = "resourceState";
private static final String NAV_STATE = "navState";
+ private static final String SLASH_REPLACEMENT = "__";
private static final String QMARK = "?";
public static GetResource decode(HttpServletRequest req)
@@ -158,12 +159,20 @@
private static String encode(org.gatein.pc.api.PortletContext portletContext)
{
String id = portletContext.getId();
-
+ if (id.startsWith(URLTools.SLASH))
+ {
+ id = id.replace(URLTools.SLASH, SLASH_REPLACEMENT);
+ }
return URLTools.encodeXWWWFormURL(id);
}
private static PortletContext decode(String encodedPortletContext)
{
+ if (encodedPortletContext.startsWith(SLASH_REPLACEMENT))
+ {
+ encodedPortletContext = encodedPortletContext.replace(SLASH_REPLACEMENT,
URLTools.SLASH);
+ }
+
return
WSRPTypeFactory.createPortletContext(URLTools.decodeXWWWFormURL(encodedPortletContext));
}