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(); }