Chris,
This is what Scott wrote on OFBIZ-431:
"The infinite loop occurs when the cancelOrderItem service is called on an order containing promo
order items. There is a seca on the service which calls recreateOrderAdjustments, which in turn
iterates through all the promo items and calls cancelOrderItem on them, and on we go into the loop."
I'd guess that Scott meant there's "a seca on the service [cancelOrderItem] which calls [service]
recreateOrderAdjustments".
I'd further guess (no, Scott stated this, actually) that the service recreateOrderAdjustments
calls (aka trigger?) cancelOrderItem. So, if recreateOrderAdjustments is event A and
cancelOrderItem is event B, I'd say A triggers B, which in turn triggers A.
Let's see, here's what I wrote:
SECA: cancelOrderInventoryReservation, triggered by rule on Service:
changeOrderItemStatus
SECA: recalcShippingTotal, triggered by rule on Service: changeOrderItemStatus
SECA: recalcTaxTotal, triggered by rule on Service: changeOrderItemStatus
SECA: resetGrandTotal, triggered by rule on Service: changeOrderItemStatus
SECA: checkOrderItemStatus, triggered by rule on Service: changeOrderItemStatus
SECA: sendOrderChangeNotification, triggered by rule on Service:
changeOrderItemStatus
SECA: recreateOrderAdjustments, triggered by rule on Service: cancelOrderItem
I suppose I should've included a final line like this:
SimpleMethod.call-service: recreateOrderAdjustments (OrderServices.xml line 473) calls Service
cancelOrderItem
?
Sorry? :P Please? I must be tired when I wrote the above "contents of the loop". So it's not
exactly a loop.
Jonathon
Chris Howe wrote:
Jonathon,
What I just repeated back to you is linear. Would you
care to share the service call that is showing it
looping? It doesn't appear to be listed there.
--- Jonathon -- Improov <[EMAIL PROTECTED]> wrote:
Chris,
Erm. Yeah, it looks incomplete to me. Sorry!
Jonathon
Chris Howe wrote:
What you explained was this though...
A=changeOrderItemStatus
B=cancelOrderInventoryReservation
C=recalcShippingTotal
D=recalcTaxTotal
E=resetGrandTotal
F=checkOrderItemStatus
G=sendOrderChangeNotification
H=recreateOrderAdjustments
I=cancelOrderItem
A triggers B & C & D & E & F & G
H triggers I
is this incomplete?
SECA: cancelOrderInventoryReservation,
triggered
by
rule on Service: changeOrderItemStatus
SECA: recalcShippingTotal, triggered by rule on
Service: changeOrderItemStatus
SECA: recalcTaxTotal, triggered by rule on
Service:
changeOrderItemStatus
SECA: resetGrandTotal, triggered by rule on
Service:
changeOrderItemStatus
SECA: checkOrderItemStatus, triggered by rule
on
Service: changeOrderItemStatus
SECA: sendOrderChangeNotification, triggered by
rule
on Service: changeOrderItemStatus
SECA: recreateOrderAdjustments, triggered by
rule
on
Service: cancelOrderItem