You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by cd...@apache.org on 2006/08/23 22:49:28 UTC

svn commit: r434170 - /portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java

Author: cdoremus
Date: Wed Aug 23 13:49:26 2006
New Revision: 434170

URL: http://svn.apache.org/viewvc?rev=434170&view=rev
Log:
Applied patch submitted by David Hay in PLUTO-246. Thank you David!

Modified:
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java?rev=434170&r1=434169&r2=434170&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java Wed Aug 23 13:49:26 2006
@@ -18,6 +18,8 @@
 import java.util.Iterator;
 import java.util.Map;
 import java.util.StringTokenizer;
+import java.net.URLEncoder;
+import java.io.UnsupportedEncodingException;
 
 import javax.portlet.PortletMode;
 import javax.portlet.WindowState;
@@ -216,8 +218,8 @@
             if (portalURL.getActionWindow() != null
             		&& portalURL.getActionWindow().equals(param.getWindowId())) {
                 for (int i = 0; i < param.getValues().length; i++) {
-                    query.append("&").append(param.getName()).append("=")
-                    		.append(param.getValues()[i]);
+                    query.append("&").append(encodeQueryParam(param.getName())).append("=")
+                    		.append(encodeQueryParam(param.getValues()[i]));
                 }
             }
             
@@ -237,8 +239,17 @@
         // Construct the string representing the portal URL.
         return buffer.append(query).toString();
     }
-    
-    
+
+    private String encodeQueryParam(String param) {
+        try {
+            return URLEncoder.encode(param, "UTF-8");
+        }
+        catch (UnsupportedEncodingException e) {
+            // If this happens, we've got bigger problems.
+            throw new RuntimeException(e);
+        }
+    }
+
     // Private Encoding/Decoding Methods ---------------------------------------
     
     /**