Author: sichen
Date: Fri Dec 14 16:14:16 2007
New Revision: 604343
URL: http://svn.apache.org/viewvc?rev=604343&view=rev
Log:
better error handling when there are problems getting shipping estimates
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEstimateWrapper.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEstimateWrapper.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEstimateWrapper.java?rev=604343&r1=604342&r2=604343&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEstimateWrapper.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEstimateWrapper.java
Fri Dec 14 16:14:16 2007
@@ -29,6 +29,7 @@
import org.ofbiz.order.shoppingcart.ShoppingCart;
import org.ofbiz.product.store.ProductStoreWorker;
import org.ofbiz.service.LocalDispatcher;
+import org.ofbiz.service.ServiceUtil;
public class ShippingEstimateWrapper {
@@ -94,8 +95,10 @@
shippingMethodTypeId, carrierPartyId,
carrierRoleTypeId, shippingCmId, productStoreId,
shippableItemInfo, shippableWeight, shippableQuantity,
shippableTotal);
- Double shippingTotal = (Double)
estimateMap.get("shippingTotal");
- shippingEstimates.put(shipMethod, shippingTotal);
+ if (!ServiceUtil.isError(estimateMap)) {
+ Double shippingTotal = (Double)
estimateMap.get("shippingTotal");
+ shippingEstimates.put(shipMethod, shippingTotal);
+ }
}
}
}
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java?rev=604343&r1=604342&r2=604343&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
Fri Dec 14 16:14:16 2007
@@ -181,7 +181,7 @@
shippingTotal += externalAmt.doubleValue();
}
} catch (GeneralException e) {
- return ServiceUtil.returnSuccess(standardMessage);
+ return ServiceUtil.returnError(standardMessage);
}
// update the initial amount
@@ -194,7 +194,7 @@
shippingTotal += genericAmt.doubleValue();
}
} catch (GeneralException e) {
- return ServiceUtil.returnSuccess(standardMessage);
+ return ServiceUtil.returnError(standardMessage);
}
// return the totals
@@ -213,7 +213,7 @@
Debug.logError(e, "Shipment Service Error", module);
throw new GeneralException();
}
- if (ServiceUtil.isError(genericEstimate)) {
+ if (ServiceUtil.isError(genericEstimate) ||
ServiceUtil.isFailure(genericEstimate)) {
Debug.logError(ServiceUtil.getErrorMessage(genericEstimate),
module);
throw new GeneralException();
} else if (ServiceUtil.isFailure(genericEstimate)) {
@@ -256,12 +256,16 @@
Debug.logError(e, "Shipment Service Error", module);
throw new GeneralException(e);
}
- if (!ServiceUtil.isError(serviceResp)) {
- externalShipAmt = (Double)
serviceResp.get("shippingEstimateAmount");
- } else {
+ if (ServiceUtil.isError(serviceResp)) {
String errMsg = "Error getting external shipment cost
estimate: " + ServiceUtil.getErrorMessage(serviceResp);
Debug.logError(errMsg, module);
throw new GeneralException(errMsg);
+ } else if (ServiceUtil.isFailure(serviceResp)) {
+ String errMsg = "Failure getting external shipment cost
estimate: " + ServiceUtil.getErrorMessage(serviceResp);
+ Debug.logError(errMsg, module);
+ throw new GeneralException(errMsg);
+ } else {
+ externalShipAmt = (Double)
serviceResp.get("shippingEstimateAmount");
}
}
}