svn commit: r550855 - /ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r550855 - /ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java

sichen
Author: sichen
Date: Tue Jun 26 09:54:50 2007
New Revision: 550855

URL: http://svn.apache.org/viewvc?view=rev&rev=550855
Log:
Add a dummy package to outgoing UPS rate requests if no packages exist (which can happen if none of the products involved have weights configured)

Modified:
    ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java?view=diff&rev=550855&r1=550854&r2=550855
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java Tue Jun 26 09:54:50 2007
@@ -1529,10 +1529,27 @@
 
     private static void splitEstimatePackages(Document requestDoc, Element shipmentElement, List shippableItemInfo, double maxWeight, double minWeight) {
         List packages = getPackageSplit(shippableItemInfo, maxWeight);
+        if (UtilValidate.isNotEmpty(packages)) {
         Iterator i = packages.iterator();
         while (i.hasNext()) {
             Map packageMap = (Map) i.next();
             addPackageElement(requestDoc, shipmentElement, shippableItemInfo, packageMap, minWeight);
+        }
+        } else {
+            
+            // Add a dummy package
+            String totalWeightStr = UtilProperties.getPropertyValue("shipment", "shipment.ups.min.estimate.weight", "1");
+            double packageWeight = 1;
+            try {
+                packageWeight = Double.parseDouble(totalWeightStr);
+            } catch (NumberFormatException e) {
+                Debug.logError(e, module);
+            }
+            Element packageElement = UtilXml.addChildElement(shipmentElement, "Package", requestDoc);
+            Element packagingTypeElement = UtilXml.addChildElement(packageElement, "PackagingType", requestDoc);
+            UtilXml.addChildElementValue(packagingTypeElement, "Code", "00", requestDoc);
+            Element packageWeightElement = UtilXml.addChildElement(packageElement, "PackageWeight", requestDoc);
+            UtilXml.addChildElementValue(packageWeightElement, "Weight", "" + packageWeight, requestDoc);
         }
     }