@Override public CreateResponse<DiscreteOrderItem> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException { CreateResponse<DiscreteOrderItem> createResponse = super.createOrRetrieveCopyInstance(context); if (createResponse.isAlreadyPopulated()) { return createResponse; } GiftWrapOrderItem cloned = (GiftWrapOrderItem)createResponse.getClone(); for(OrderItem entry : wrappedItems){ OrderItem clonedEntry = ((OrderItemImpl)entry).createOrRetrieveCopyInstance(context).getClone(); clonedEntry.setGiftWrapOrderItem(cloned); cloned.getWrappedItems().add(clonedEntry); } return createResponse; }
@Override public CreateResponse<BundleOrderItem> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException { CreateResponse<BundleOrderItem> createResponse = super.createOrRetrieveCopyInstance(context); if (createResponse.isAlreadyPopulated()) { return createResponse; } BundleOrderItem cloned = createResponse.getClone(); cloned.setBaseRetailPrice(getBaseRetailPrice()); cloned.setBaseSalePrice(getBaseSalePrice()); cloned.setProductBundle(productBundle); cloned.setSku(sku); return createResponse; }
@Override public CreateResponse<DiscreteOrderItem> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException { CreateResponse<DiscreteOrderItem> createResponse = super.createOrRetrieveCopyInstance(context); if (createResponse.isAlreadyPopulated()) { return createResponse; } DiscreteOrderItem cloned = createResponse.getClone(); cloned.setBaseRetailPrice(getBaseRetailPrice()); cloned.setBaseSalePrice(getBaseSalePrice()); cloned.setProduct(product); cloned.setSku(sku); cloned.setCategory(category); ((DiscreteOrderItemImpl)cloned).discountsAllowed = discountsAllowed; cloned.setName(name); // dont clone cloned.setOrder(order); return createResponse; }