Yes. To be clear:
<field-to-result field="total" result-name="someField"/>
someField is an expression, and
<field-to-result field="total" result-name="${result}"/>
${result} is a nested expression (an expression within an expression).
I can take another look at the Mini-language code next weekend if you
are willing to wait until then.
Adrian Crum
Sandglass Software
www.sandglass-software.com
On 9/26/2014 4:09 PM, Jacopo Cappellato wrote:
On Sep 26, 2014, at 5:02 PM, Adrian Crum <adrian.c...@sandglass-software.com>
wrote:
The change should be self-explanatory. If the attribute contains a nested
expression, then use FSE to expand the nested expression before using FMA to
retrieve the value.
Like this:
<field-to-result field="total" result-name="${result}"/>
?
Adrian Crum
Sandglass Software
www.sandglass-software.com
On 9/26/2014 1:11 PM, Jacopo Cappellato wrote:
Adrian,
this is still related to the issue related to the field-to-result operation
with an ${} value in the result name.
This is the modification you did a couple of years ago trying to fix the issue
I reported at that time.
Could you help me to understand what is the effect of this enhancement? An example of
intended usage of the <field-to-result/> element would be enough.
Jacopo
On May 14, 2012, at 10:49 PM, adri...@apache.org wrote:
Author: adrianc
Date: Mon May 14 20:49:01 2012
New Revision: 1338394
URL: http://svn.apache.org/viewvc?rev=1338394&view=rev
Log:
Fixed a bug in Mini-language <field-to-result> element where nested expressions
were not evaluated correctly.
Modified:
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/serviceops/FieldToResult.java
Modified:
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/serviceops/FieldToResult.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/serviceops/FieldToResult.java?rev=1338394&r1=1338393&r2=1338394&view=diff
==============================================================================
---
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/serviceops/FieldToResult.java
(original)
+++
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/serviceops/FieldToResult.java
Mon May 14 20:49:01 2012
@@ -28,7 +28,7 @@ import org.ofbiz.minilang.method.MethodO
import org.w3c.dom.Element;
/**
- * Copies a field to a service OUT attribute.
+ * Copies a field to the simple-method result Map.
*/
public final class FieldToResult extends MethodOperation {
@@ -58,9 +58,13 @@ public final class FieldToResult extends
public boolean exec(MethodContext methodContext) throws MiniLangException {
Object fieldVal = this.fieldFma.get(methodContext.getEnvMap());
if (fieldVal != null) {
- // FIXME: Needs special handling for nested expressions.
- // The result attribute might contain a reference to an
environment (not result Map) variable.
- this.resultFma.put(methodContext.getResults(), fieldVal);
+ if (this.resultFma.containsNestedExpression()) {
+ String expression = (String)
this.resultFma.get(methodContext.getEnvMap());
+ FlexibleMapAccessor<Object> resultFma =
FlexibleMapAccessor.getInstance(expression);
+ resultFma.put(methodContext.getResults(), fieldVal);
+ } else {
+ this.resultFma.put(methodContext.getResults(), fieldVal);
+ }
}
return true;
}