The conditionals are unnecessary - FSE will return the original string if the string is null or empty.

-Adrian

On 4/8/2012 10:38 PM, jler...@apache.org wrote:
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) {


Reply via email to