Thanks to Adrian, it's also explained with more details at 
http://docs.ofbiz.org/x/Hhk
But I guess anyone knows that now :o)

Jacques

From: "Adrian Crum" <[email protected]>
Vikas,

This is the correct way to fix the UEL problem with numeric IDs used as Map keys. I'm pointing this out so that other developers can take note.

-Adrian

[email protected] wrote:
Author: mor
Date: Thu Jun  4 09:39:05 2009
New Revision: 781696

URL: http://svn.apache.org/viewvc?rev=781696&view=rev
Log:
Fixed UEL exception in picking screen in facility with the solution proposed by Adrian. Issue reported by Arun Patidar in jira issue OFBIZ-2513 (https://issues.apache.org/jira/browse/OFBIZ-2513)

Modified:
    
ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml

Modified: 
ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml?rev=781696&r1=781695&r2=781696&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml
 (original)
+++ 
ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml
 Thu Jun  4 09:39:05 2009
@@ -347,16 +347,16 @@
 <!-- pick now, or needs stock move first? -->
<!-- put in pick or move lists for the groupName prepared according to selected options by user -->
-                                <if-empty 
field="pickMoveInfoMap.${groupName}.${groupName}">
- <get-related-one value-field="orderItemShipGroup" relation-name="ShipmentMethodType" to-value-field="pickMoveInfoMap.${groupName}.${groupName}.shipmentMethodType"/>
+                                <if-empty 
field="pickMoveInfoMap[groupName][groupName]">
+ <get-related-one value-field="orderItemShipGroup" relation-name="ShipmentMethodType" to-value-field="pickMoveInfoMap[groupName][groupName].shipmentMethodType"/>
                                 </if-empty>
                                 <if-compare field="needsStockMove" operator="equals" 
value="Y">
- <field-to-list field="orderHeaderInfo" list="pickMoveInfoMap.${groupName}.orderNeedsStockMoveInfoList"/> + <field-to-list field="orderHeaderInfo" list="pickMoveInfoMap[groupName].orderNeedsStockMoveInfoList"/>
                                     <if-compare field="orderHeader.isRushOrder" 
operator="equals" value="Y">
<field-to-list field="orderHeaderInfo" list="rushOrderInfo.orderNeedsStockMoveInfoList"/>
                                     </if-compare>
                                 <else>
- <field-to-list field="orderHeaderInfo" list="pickMoveInfoMap.${groupName}.orderReadyToPickInfoList"/> + <field-to-list field="orderHeaderInfo" list="pickMoveInfoMap[groupName].orderReadyToPickInfoList"/>
                                     <if-compare field="orderHeader.isRushOrder" 
operator="equals" value="Y">
                                         <field-to-list field="orderHeaderInfo" 
list="rushOrderInfo.orderReadyToPickInfoList"/>
                                     </if-compare>
@@ -368,10 +368,10 @@
                                     <calcop field="numberSoFar" operator="add"><number 
value="1"/></calcop>
                                 </calculate>
<log level="info" message="Added order #${orderHeader.orderId} to pick list [${numberSoFar} of ${parameters.maxNumberOfOrders}] - ${pickThisOrder} / ${allPickStarted}"/>
-                                <set field="pickMoveInfoMap.${groupName}.groupName" 
from-field="groupName"/>
-                                <set field="pickMoveInfoMap.${groupName}.groupName1" 
from-field="groupName1"/>
-                                <set field="pickMoveInfoMap.${groupName}.groupName2" 
from-field="groupName2"/>
-                                <set field="pickMoveInfoMap.${groupName}.groupName3" 
from-field="noOfOrderItems"/>
+                                <set field="pickMoveInfoMap[groupName].groupName" 
from-field="groupName"/>
+                                <set field="pickMoveInfoMap[groupName].groupName1" 
from-field="groupName1"/>
+                                <set field="pickMoveInfoMap[groupName].groupName2" 
from-field="groupName2"/>
+                                <set field="pickMoveInfoMap[groupName].groupName3" 
from-field="noOfOrderItems"/>
                             </then>
                             <else>
<log level="info" message="Order #${orderHeader.orderId} was not added to pick list [${numberSoFar} of ${parameters.maxNumberOfOrders}] - ${pickThisOrder} / ${allPickStarted}"/>
@@ -404,8 +404,8 @@
 <!-- find all groupName, for each one get the value from the pickMoveInfoMap and 
add it to the pickMoveInfoList -->
         <iterate list="groupNames" entry="groupName">
-            <if-not-empty field="pickMoveInfoMap.${groupName}">
-                <field-to-list field="pickMoveInfoMap.${groupName}" 
list="pickMoveInfoList"/>
+            <if-not-empty field="pickMoveInfoMap[groupName]">
+                <field-to-list field="pickMoveInfoMap[groupName]" 
list="pickMoveInfoList"/>
             </if-not-empty>
         </iterate>
         <clear-field field="groupNames"/>






Reply via email to