|
Author: jonesde
Date: Tue Sep 26 09:28:22 2006 New Revision: 450107 URL: http://svn.apache.org/viewvc?view=rev&rev=450107 Log: Added a method to explode a list of cart items, or in other words unitize them, or in other words for each item of X quantity, create X items of 1 quantity Modified: incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java Modified: incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?view=diff&rev=450107&r1=450106&r2=450107 ============================================================================== --- incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java (original) +++ incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java Tue Sep 26 09:28:22 2006 @@ -2984,20 +2984,43 @@ } private void explodeItems(LocalDispatcher dispatcher) { + if (dispatcher == null) return; synchronized (cartLines) { - if (dispatcher != null) { - List cartLineItems = new LinkedList(cartLines); - Iterator itemIter = cartLineItems.iterator(); + List cartLineItems = new LinkedList(cartLines); + Iterator itemIter = cartLineItems.iterator(); - while (itemIter.hasNext()) { - ShoppingCartItem item = (ShoppingCartItem) itemIter.next(); + while (itemIter.hasNext()) { + ShoppingCartItem item = (ShoppingCartItem) itemIter.next(); - Debug.logInfo("Item qty: " + item.getQuantity(), module); - try { - item.explodeItem(this, dispatcher); - } catch (CartItemModifyException e) { - Debug.logError(e, "Problem exploding item! Item not exploded.", module); - } + //Debug.logInfo("Item qty: " + item.getQuantity(), module); + try { + item.explodeItem(this, dispatcher); + } catch (CartItemModifyException e) { + Debug.logError(e, "Problem exploding item! Item not exploded.", module); + } + } + } + } + + /** + * Does an "explode", or "unitize" operation on a list of cart items. + * Resulting state for each item with quantity X is X items of quantity 1. + * + * @param shoppingCartItems + * @param dispatcher + */ + public void explodeItems(List shoppingCartItems, LocalDispatcher dispatcher) { + if (dispatcher == null) return; + synchronized (cartLines) { + Iterator itemIter = shoppingCartItems.iterator(); + while (itemIter.hasNext()) { + ShoppingCartItem item = (ShoppingCartItem) itemIter.next(); + + //Debug.logInfo("Item qty: " + item.getQuantity(), module); + try { + item.explodeItem(this, dispatcher); + } catch (CartItemModifyException e) { + Debug.logError(e, "Problem exploding (unitizing) item! Item not exploded.", module); } } } |
| Free forum by Nabble | Edit this page |
