svn commit: r1470151 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/MapToMap.java

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

svn commit: r1470151 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/MapToMap.java

jleroux@apache.org
Author: jleroux
Date: Sat Apr 20 10:57:34 2013
New Revision: 1470151

URL: http://svn.apache.org/r1470151
Log:
A patch from Nicolas Malin for "merge three maps with map-to-map" https://issues.apache.org/jira/browse/OFBIZ-5152

To merge two or more maps on one map with <map-to-map> element on mini-lang doesn't work.
example :
      <call-service service-name="accReport-header" in-map-name="headerMap">
        <result-to-field result-name="jrParameters" />
      </call-service>
      <map-to-map map="reportParameters" to-map="jrParameters"/>
      <map-to-map map="parameters" to-map="jrParameters"/>

This doesn't work because the map-to-map method doesn't accept to merge an existing to-map and the <map-to-map map="parameters" to-map="jrParameters"/> has been ignored

The patch move the map merge function to run it when a map is given.

Modified:
    ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/MapToMap.java

Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/MapToMap.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/MapToMap.java?rev=1470151&r1=1470150&r2=1470151&view=diff
==============================================================================
--- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/MapToMap.java (original)
+++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/MapToMap.java Sat Apr 20 10:57:34 2013
@@ -60,8 +60,8 @@ public final class MapToMap extends Meth
                 if (toMap == null) {
                     toMap = new HashMap<String, Object>();
                     toMapFma.put(methodContext.getEnvMap(), toMap);
-                    toMap.putAll(fromMap);
                 }
+               toMap.putAll(fromMap);
             } else {
                 methodContext.putAllEnv(fromMap);
             }