You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by sa...@apache.org on 2012/03/08 17:15:40 UTC

svn commit: r1298455 - /ofbiz/branches/release11.04/framework/widget/src/org/ofbiz/widget/WidgetWorker.java

Author: sascharodekamp
Date: Thu Mar  8 16:15:40 2012
New Revision: 1298455

URL: http://svn.apache.org/viewvc?rev=1298455&view=rev
Log:
No Url encoding for get parameters (https://issues.apache.org/jira/browse/OFBIZ-2628) using the URLEncoder to encode and render URLs with special Chars. The encoding is always UTF-8. Fixed Patch without the HTTPS redirect bug.

Modified:
    ofbiz/branches/release11.04/framework/widget/src/org/ofbiz/widget/WidgetWorker.java

Modified: ofbiz/branches/release11.04/framework/widget/src/org/ofbiz/widget/WidgetWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release11.04/framework/widget/src/org/ofbiz/widget/WidgetWorker.java?rev=1298455&r1=1298454&r2=1298455&view=diff
==============================================================================
--- ofbiz/branches/release11.04/framework/widget/src/org/ofbiz/widget/WidgetWorker.java (original)
+++ ofbiz/branches/release11.04/framework/widget/src/org/ofbiz/widget/WidgetWorker.java Thu Mar  8 16:15:40 2012
@@ -20,7 +20,10 @@ package org.ofbiz.widget;
 
 import java.io.IOException;
 import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.nio.charset.Charset;
 import java.text.DateFormat;
 import java.util.Map;
 import java.util.TimeZone;
@@ -337,7 +340,12 @@ public class WidgetWorker {
 
         public String getValue(Map<String, Object> context) {
             if (this.value != null) {
-                return this.value.expandString(context);
+                try {
+                    return URLEncoder.encode(this.value.expandString(context), Charset.forName("UTF-8").displayName());
+                } catch (UnsupportedEncodingException e) {
+                    Debug.logError(e, module);
+                    return this.value.expandString(context);
+                }
             }
 
             Object retVal = null;
@@ -368,7 +376,11 @@ public class WidgetWorker {
                     DateFormat df = UtilDateTime.toDateTimeFormat("EEE MMM dd hh:mm:ss z yyyy", timeZone, null);
                     returnValue = df.format((java.util.Date) retVal);
                 } else {
-                    returnValue = retVal.toString();
+                    try {
+                        returnValue = URLEncoder.encode(retVal.toString(), Charset.forName("UTF-8").displayName());
+                    } catch (UnsupportedEncodingException e) {
+                        Debug.logError(e, module);
+                    }
                 }
                 return returnValue;
             } else {