Hi David,
Just curious, what kind of products are exploded this way, and how
are they configured in catalog manager? Or is this for some other
kind of use case?
Si
Begin forwarded message:
From: [EMAIL PROTECTED]
Date: September 26, 2006 9:28:23 AM PDT
To: [email protected]
Subject: svn commit: r450107 - /incubator/ofbiz/trunk/applications/
order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
Reply-To: [email protected]
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);
}
}
}