[gatein-commits] gatein SVN: r5188 - components/wsrp/trunk/common/src/main/java/org/gatein/wsrp.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 19 16:55:43 EST 2010


Author: chris.laprun at 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));
    }
 



More information about the gatein-commits mailing list