You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2013/09/20 10:52:09 UTC

svn commit: r1524950 - /ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java

Author: jleroux
Date: Fri Sep 20 08:52:08 2013
New Revision: 1524950

URL: http://svn.apache.org/r1524950
Log:
For "If you clear the last packed item from from a shipment with two items and then complete the pack, you get the exception below" https://issues.apache.org/jira/browse/OFBIZ-5308


If you clear the last packed item from from a shipment with two items and then complete the pack, you get the exception below:

Exception thrown while creating the "newEntity" ....ShipmentPackageContent ... Key ... is not present in table shipment_package

This is happening because org.ofbiz.shipment.packing.PackingSession.clearLine() around line 600 is decrementing packageSeq from 1 to zero.  This causes createPackages() to not generate any ShipmentPackages because of the for statement on packageSeq and therefore the subsequent exception.

I fixed this by just commenting out the block starting with "if(line.packageSeq ==".  I did not submit a patch because I do not fully understand the logic and do not have time now to learn it now.

Hopefully the author will be better equipped to deal with it properly.

Skip

jleroux: the path's author (https://issues.apache.org/jira/browse/OFBIZ-2163) Karim Rahimpur  did not answer. But by analogy with clearAllLines I decided that packageSeq should not be less than 1!

Modified:
    ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java?rev=1524950&r1=1524949&r2=1524950&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java Fri Sep 20 08:52:08 2013
@@ -590,7 +590,7 @@ public class PackingSession implements j
             }
             this.packageWeights.put(line.packageSeq, packageWeight);
         }
-        if (line.packageSeq == packageSeq) {
+        if (line.packageSeq == packageSeq && packageSeq > 1) {
             packageSeq--;
         }
     }