svn commit: r943843 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r943843 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java

jonesde
Author: jonesde
Date: Thu May 13 08:32:09 2010
New Revision: 943843

URL: http://svn.apache.org/viewvc?rev=943843&view=rev
Log:
Made widget link parameter treatment more consistent; before if you specified a paramaeter name without a from-field then it wouldn't convert the object according to locale; now it does the same thing no matter where the object comes from (ie explicit from-field or implied by the parameter name); this fixes a timeZone inconsistency that causes links with time/timestamp parameters to not work

Modified:
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java?rev=943843&r1=943842&r2=943843&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java Thu May 13 08:32:09 2010
@@ -30,6 +30,7 @@ import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.StringUtil;
 import org.ofbiz.base.util.UtilDateTime;
 import org.ofbiz.base.util.UtilGenerics;
@@ -316,44 +317,41 @@ public class WidgetWorker {
         public String getValue(Map<String, Object> context) {
             if (this.value != null) {
                 return this.value.expandString(context);
-            } else if (this.fromField != null && this.fromField.get(context) != null) {
-                Object retVal = this.fromField.get(context);
+            }
+            
+            Object retVal = null;
+            if (this.fromField != null && this.fromField.get(context) != null) {
+                retVal = this.fromField.get(context);
+            } else {
+                retVal = context.get(this.name);
+            }
+
+            if (retVal != null) {
+                TimeZone timeZone = (TimeZone) context.get("timeZone");
+                if (timeZone == null) timeZone = TimeZone.getDefault();
                 
-                if (retVal != null) {
-                    TimeZone timeZone = (TimeZone) context.get("timeZone");
-                    if (timeZone == null) timeZone = TimeZone.getDefault();
-                    
-                    String returnValue = null;
-                    // format string based on the user's time zone (not locale because these are parameters)
-                    if (retVal instanceof Double || retVal instanceof Float || retVal instanceof BigDecimal) {
-                        returnValue = retVal.toString();
-                    } else if (retVal instanceof java.sql.Date) {
-                        DateFormat df = UtilDateTime.toDateFormat(UtilDateTime.DATE_FORMAT, timeZone, null);
-                        returnValue = df.format((java.util.Date) retVal);
-                    } else if (retVal instanceof java.sql.Time) {
-                        DateFormat df = UtilDateTime.toTimeFormat(UtilDateTime.TIME_FORMAT, timeZone, null);
-                        returnValue = df.format((java.util.Date) retVal);
-                    } else if (retVal instanceof java.sql.Timestamp) {
-                        DateFormat df = UtilDateTime.toDateTimeFormat(UtilDateTime.DATE_TIME_FORMAT, timeZone, null);
-                        returnValue = df.format((java.util.Date) retVal);
-                    } else if (retVal instanceof java.util.Date) {
-                        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();
-                    }
-                    return returnValue;
+                String returnValue = null;
+                // format string based on the user's time zone (not locale because these are parameters)
+                if (retVal instanceof Double || retVal instanceof Float || retVal instanceof BigDecimal) {
+                    returnValue = retVal.toString();
+                } else if (retVal instanceof java.sql.Date) {
+                    DateFormat df = UtilDateTime.toDateFormat(UtilDateTime.DATE_FORMAT, timeZone, null);
+                    returnValue = df.format((java.util.Date) retVal);
+                } else if (retVal instanceof java.sql.Time) {
+                    DateFormat df = UtilDateTime.toTimeFormat(UtilDateTime.TIME_FORMAT, timeZone, null);
+                    returnValue = df.format((java.util.Date) retVal);
+                } else if (retVal instanceof java.sql.Timestamp) {
+                    DateFormat df = UtilDateTime.toDateTimeFormat(UtilDateTime.DATE_TIME_FORMAT, timeZone, null);
+                    returnValue = df.format((java.util.Date) retVal);
+                } else if (retVal instanceof java.util.Date) {
+                    DateFormat df = UtilDateTime.toDateTimeFormat("EEE MMM dd hh:mm:ss z yyyy", timeZone, null);
+                    returnValue = df.format((java.util.Date) retVal);
                 } else {
-                    return null;
+                    returnValue = retVal.toString();
                 }
+                return returnValue;
             } else {
-                // as a last chance try finding a context field with the key of the name field
-                Object obj = context.get(this.name);
-                if (obj != null) {
-                    return obj.toString();
-                } else {
-                    return null;
-                }
+                return null;
             }
         }
     }