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) {