[ https://issues.apache.org/jira/browse/OFBIZ-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Foxworthy updated OFBIZ-4105: ---------------------------------- Description: Go to ordermgr/control/orderview for an order that doesn't have stock ready for picking. Click on Prink Pick Sheet You'll get a Pick Sheet PDF with the message "Order not ready for picking, needs stock move" Look at logs, you'll see an EntityListIterator was created and never closed, so a warning message was logged when the finalize was executed. The problem is in the findOrdersToPickMove simple method in applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml . There's a <use-iterator/> for the OrderHeaderAndItemFacilityLocation entity. After the entity-condition element, there's an <if> element, and the iterator is only used when the "if" condition is false, i.e. the <else> part is executed. My fix is simply to move the <entity-condition>, complete with <use-iterator>, within the <else> element so the condition is evaluated and the iterator created only when the iterator will be used. I'm not 100% sure this is the best fix and would appreciate some feedback. was: Go to ordermgr/control/orderview for an order that doesn't have stock ready for picking. Click on Prink Pick Sheet You'll get a Pick Sheet PDF with the message "Order not ready for picking, needs stock move" Look at logs, you'll see an EntityListIterator was created and never closed, so a warning message was logged when the finalize was executed. The problem is in applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml There's a <use-iterator/> for the OrderHeaderAndItemFacilityLocation entity. After the entity-condition element, there's an <if> element, and the iterator is only used when the "if" condition is false, i.e. the <else> part is executed. My fix is simply to move the <entity-condition>, complete with <use-iterator>, within the <else> element so the condition is evaluated and the iterator created only when the iterator will be used. I'm not 100% sure this is the best fix and would appreciate some feedback. > findOrdersToPickMove: EntityListIterator not closed if no Picklist generated > ---------------------------------------------------------------------------- > > Key: OFBIZ-4105 > URL: https://issues.apache.org/jira/browse/OFBIZ-4105 > Project: OFBiz > Issue Type: Bug > Components: order > Affects Versions: SVN trunk > Reporter: Paul Foxworthy > Priority: Minor > Fix For: SVN trunk > > Attachments: OFBIZ-4105_iterator_not_closed.patch > > > Go to ordermgr/control/orderview for an order that doesn't have stock ready > for picking. > Click on Prink Pick Sheet > You'll get a Pick Sheet PDF with the message "Order not ready for picking, > needs stock move" > Look at logs, you'll see an EntityListIterator was created and never closed, > so a warning message was logged when the finalize was executed. > The problem is in the findOrdersToPickMove simple method in > applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml . > There's a <use-iterator/> for the OrderHeaderAndItemFacilityLocation entity. > After the entity-condition element, there's an <if> element, and the iterator > is only used when the "if" condition is false, i.e. the <else> part is > executed. > My fix is simply to move the <entity-condition>, complete with > <use-iterator>, within the <else> element so the condition is evaluated and > the iterator created only when the iterator will be used. > I'm not 100% sure this is the best fix and would appreciate some feedback. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.