Author: ashish
Date: Fri Dec 26 09:45:01 2014
New Revision: 1647946

URL: http://svn.apache.org/r1647946
Log:
Applied patch from jira issue - OFBIZ-5385 - Purchase order 
immutable/unchangeable errors when adding variant products.
In this changes Arun has taken care of cloning related concern raised by 
Adrian. Thanks Arun for the contribution.

Modified:
    
ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java

Modified: 
ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java?rev=1647946&r1=1647945&r2=1647946&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java
 (original)
+++ 
ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java
 Fri Dec 26 09:45:01 2014
@@ -1117,15 +1117,17 @@ nextProd:
                 Debug.logInfo("set the productId to: " + 
product.getString("productId"), module);
 
                 // copy the supplier
-                List<GenericValue> supplierProducts = 
EntityQuery.use(delegator).from("SupplierProduct").where("productId", 
productId).queryList();
+                List<GenericValue> supplierProducts = 
EntityQuery.use(delegator).from("SupplierProduct").where("productId", 
productId).cache(true).queryList();
                 for (GenericValue supplierProduct: supplierProducts) {
+                    supplierProduct = (GenericValue) supplierProduct.clone();
                     supplierProduct.set("productId",  
product.getString("productId"));
                     supplierProduct.create();
                 }
 
                 // copy the content
-                List<GenericValue> productContents = 
EntityQuery.use(delegator).from("ProductContent").where("productId", 
productId).queryList();
+                List<GenericValue> productContents = 
EntityQuery.use(delegator).from("ProductContent").where("productId", 
productId).cache(true).queryList();
                 for (GenericValue productContent: productContents) {
+                    productContent = (GenericValue) productContent.clone();
                     productContent.set("productId",  
product.getString("productId"));
                     productContent.create();
                 }


Reply via email to