svn commit: r1311109 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java

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

svn commit: r1311109 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java

jleroux@apache.org
Author: jleroux
Date: Sun Apr  8 21:38:17 2012
New Revision: 1311109

URL: http://svn.apache.org/viewvc?rev=1311109&view=rev
Log:
A patch from Nicolas Malin "Use flexibleStringRenderer for alt-target element on form" https://issues.apache.org/jira/browse/OFBIZ-4588

At this time the alt-target element value is only parse on bsh interpreter. To resynchronise with the rest of framework, convert with a flexibleStringRenderer.

jleroux: re-adding after reverting r1311082

Modified:
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=1311109&r1=1311108&r2=1311109&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Sun Apr  8 21:38:17 2012
@@ -2060,7 +2060,11 @@ public class ModelForm extends ModelWidg
             // use the same Interpreter (ie with the same context setup) for all evals
             Interpreter bsh = this.getBshInterpreter(context);
             for (AltTarget altTarget: this.altTargets) {
-                Object retVal = bsh.eval(StringUtil.convertOperatorSubstitutions(altTarget.useWhen));
+                String useWhen = altTarget.useWhen;
+                if (useWhen != null && !useWhen.isEmpty()) {
+                    useWhen = FlexibleStringExpander.expandString(useWhen, context);
+                }
+                Object retVal = bsh.eval(StringUtil.convertOperatorSubstitutions(useWhen));
                 boolean condTrue = false;
                 // retVal should be a Boolean, if not something weird is up...
                 if (retVal instanceof Boolean) {