Author: lektran
Date: Sun Aug 21 23:13:02 2011 New Revision: 1160080 URL: http://svn.apache.org/viewvc?rev=1160080&view=rev Log: Rearranged the field assignments in the ShoppingCartItem(ShoppingCartItem) constructor so that they followed the same order as the field definitions and then added the missing field assignments that prevent the supplied ShoppingCartItem object from being cloned properly Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java?rev=1160080&r1=1160079&r2=1160080&view=diff ============================================================================== --- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java (original) +++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java Sun Aug 21 23:13:02 2011 @@ -639,57 +639,80 @@ public class ShoppingCartItem implements /** Clone an item. */ public ShoppingCartItem(ShoppingCartItem item) { + this.delegator = item.getDelegator(); try { this._product = item.getProduct(); } catch (IllegalStateException e) { this._product = null; } - this.delegator = item.getDelegator(); + try { + this._parentProduct = item.getParentProduct(); + } catch (IllegalStateException e) { + this._parentProduct = null; + } this.delegatorName = item.delegatorName; this.prodCatalogId = item.getProdCatalogId(); this.productId = item.getProductId(); + this.supplierProductId = item.getSupplierProductId(); + this.parentProductId = item.getParentProductId(); + this.externalId = item.getExternalId(); this.itemType = item.getItemType(); this.itemGroup = item.getItemGroup(); this.productCategoryId = item.getProductCategoryId(); - this.quantity = item.getQuantity(); + this.itemDescription = item.itemDescription; this.reservStart = item.getReservStart(); this.reservLength = item.getReservLength(); this.reservPersons = item.getReservPersons(); this.accommodationMapId = item.getAccommodationMapId(); this.accommodationSpotId = item.getAccommodationSpotId(); - this.selectedAmount = item.getSelectedAmount(); + this.quantity = item.getQuantity(); this.setBasePrice(item.getBasePrice()); this.setDisplayPrice(item.getDisplayPrice()); this.setRecurringBasePrice(item.getRecurringBasePrice()); this.setRecurringDisplayPrice(item.getRecurringDisplayPrice()); - this.listPrice = item.getListPrice(); + this.setSpecialPromoPrice(item.getSpecialPromoPrice()); this.reserv2ndPPPerc = item.getReserv2ndPPPerc(); this.reservNthPPPerc = item.getReservNthPPPerc(); + this.listPrice = item.getListPrice(); + this.setIsModifiedPrice(item.getIsModifiedPrice()); + this.selectedAmount = item.getSelectedAmount(); this.requirementId = item.getRequirementId(); this.quoteId = item.getQuoteId(); this.quoteItemSeqId = item.getQuoteItemSeqId(); this.associatedOrderId = item.getAssociatedOrderId(); this.associatedOrderItemSeqId = item.getAssociatedOrderItemSeqId(); this.orderItemAssocTypeId = item.getOrderItemAssocTypeId(); + this.setStatusId(item.getStatusId()); + if (UtilValidate.isEmpty(item.getOrderItemAttributes())) { + this.orderItemAttributes = FastMap.<String, String>newInstance(); + this.orderItemAttributes.putAll(item.getOrderItemAttributes()); + } + this.attributes = item.getAttributes() == null ? new HashMap<String, Object>() : new HashMap<String, Object>(item.getAttributes()); + this.setOrderItemSeqId(item.getOrderItemSeqId()); + this.locale = item.locale; + this.setShipBeforeDate(item.getShipBeforeDate()); + this.setShipAfterDate(item.getShipAfterDate()); + this.setEstimatedShipDate(item.getEstimatedShipDate()); + this.setCancelBackOrderDate(item.getCancelBackOrderDate()); + this.contactMechIdsMap = item.getOrderItemContactMechIds() == null ? null : new HashMap<String, String>(item.getOrderItemContactMechIds()); + this.orderItemPriceInfos = item.getOrderItemPriceInfos() == null ? null : new LinkedList<GenericValue>(item.getOrderItemPriceInfos()); + this.itemAdjustments.addAll(item.getAdjustments()); this.isPromo = item.getIsPromo(); this.promoQuantityUsed = item.promoQuantityUsed; - this.locale = item.locale; this.quantityUsedPerPromoCandidate = new HashMap<GenericPK, BigDecimal>(item.quantityUsedPerPromoCandidate); this.quantityUsedPerPromoFailed = new HashMap<GenericPK, BigDecimal>(item.quantityUsedPerPromoFailed); this.quantityUsedPerPromoActual = new HashMap<GenericPK, BigDecimal>(item.quantityUsedPerPromoActual); - this.orderItemSeqId = item.getOrderItemSeqId(); this.additionalProductFeatureAndAppls = item.getAdditionalProductFeatureAndAppls() == null ? null : new HashMap<String, GenericValue>(item.getAdditionalProductFeatureAndAppls()); - this.attributes = item.getAttributes() == null ? new HashMap<String, Object>() : new HashMap<String, Object>(item.getAttributes()); - this.contactMechIdsMap = item.getOrderItemContactMechIds() == null ? null : new HashMap<String, String>(item.getOrderItemContactMechIds()); - this.orderItemPriceInfos = item.getOrderItemPriceInfos() == null ? null : new LinkedList<GenericValue>(item.getOrderItemPriceInfos()); - this.itemAdjustments.addAll(item.getAdjustments()); - if (this._product == null) { - this.itemDescription = item.getName(); + if (item.getAlternativeOptionProductIds() != null) { + List<String> tempAlternativeOptionProductIds = FastList.newInstance(); + tempAlternativeOptionProductIds.addAll(item.getAlternativeOptionProductIds()); + this.setAlternativeOptionProductIds(tempAlternativeOptionProductIds); } if (item.configWrapper != null) { this.configWrapper = new ProductConfigWrapper(item.configWrapper); } + this.featuresForSupplier.addAll(item.featuresForSupplier); } /** Cannot create shopping cart item with no parameters */ |
Free forum by Nabble | Edit this page |