You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2008/11/11 03:19:19 UTC
svn commit: r712918 [2/3] - in
/ofbiz/trunk/applications/product/src/org/ofbiz/shipment: packing/
picklist/ shipment/ thirdparty/dhl/ thirdparty/fedex/ thirdparty/ups/
thirdparty/usps/
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/dhl/DhlServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/dhl/DhlServices.java?rev=712918&r1=712917&r2=712918&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/dhl/DhlServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/dhl/DhlServices.java Mon Nov 10 18:19:19 2008
@@ -37,6 +37,7 @@
import org.ofbiz.base.util.HttpClientException;
import org.ofbiz.base.util.StringUtil;
import org.ofbiz.base.util.UtilDateTime;
+import org.ofbiz.base.util.UtilGenerics;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.base.util.UtilProperties;
import org.ofbiz.base.util.UtilValidate;
@@ -145,7 +146,7 @@
* Service to obtain a rate estimate from DHL for a shipment. Notes: Only one package per shipment currently supported by DHL ShipIT.
* If this service returns a null shippingEstimateAmount, then the shipment has not been processed
*/
- public static Map dhlRateEstimate(DispatchContext dctx, Map context) {
+ public static Map<String, Object> dhlRateEstimate(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
LocalDispatcher dispatcher = dctx.getDispatcher();
Locale locale = (Locale) context.get("locale");
@@ -156,13 +157,13 @@
String carrierPartyId = (String) context.get("carrierPartyId");
String shipmentMethodTypeId = (String) context.get("shipmentMethodTypeId");
String shippingContactMechId = (String) context.get("shippingContactMechId");
- List shippableItemInfo = (List) context.get("shippableItemInfo");
+ List shippableItemInfo = UtilGenerics.checkList(context.get("shippableItemInfo"));
Double shippableTotal = (Double) context.get("shippableTotal");
Double shippableQuantity = (Double) context.get("shippableQuantity");
Double shippableWeight = (Double) context.get("shippableWeight");
if (shipmentMethodTypeId.equals("NO_SHIPPING")) {
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
result.put("shippingEstimateAmount", null);
return result;
}
@@ -230,7 +231,7 @@
return ServiceUtil.returnError("Cannot get DHL Estimate: DHL Rate template not configured (shipment.template.dhl.rate.estimate");
}
StringWriter outWriter = new StringWriter();
- Map inContext = FastMap.newInstance();
+ Map<String, Object> inContext = FastMap.newInstance();
inContext.put("action", "RateEstimate");
inContext.put("userid", userid);
inContext.put("password", password);
@@ -296,9 +297,9 @@
/*
* Parses an XML document from DHL to get the rate estimate
*/
- public static Map handleDhlRateResponse(Document rateResponseDocument) {
- List errorList = FastList.newInstance();
- Map dhlRateCodeMap = FastMap.newInstance();
+ public static Map<String, Object> handleDhlRateResponse(Document rateResponseDocument) {
+ List<Object> errorList = FastList.newInstance();
+ Map<String, Object> dhlRateCodeMap = FastMap.newInstance();
// process RateResponse
Element rateResponseElement = rateResponseDocument.getDocumentElement();
DhlServices.handleErrors(rateResponseElement, errorList);
@@ -338,15 +339,15 @@
responseRateEstimateElement, "TotalChargeEstimate");
Element responseChargesElement = UtilXml.firstChildElement(
responseRateEstimateElement, "Charges");
- List chargeNodeList = UtilXml.childElementList(responseChargesElement,
+ List<? extends Element> chargeNodeList = UtilXml.childElementList(responseChargesElement,
"Charge");
- List chargeList = FastList.newInstance();
+ List<Map<String, String>> chargeList = FastList.newInstance();
if (UtilValidate.isNotEmpty(chargeNodeList)) {
for (int i = 0; chargeNodeList.size() > i; i++) {
- Map charge = FastMap.newInstance();
+ Map<String, String> charge = FastMap.newInstance();
- Element responseChargeElement = (Element) chargeNodeList.get(i);
+ Element responseChargeElement = chargeNodeList.get(i);
Element responseChargeTypeElement = UtilXml.firstChildElement(
responseChargeElement, "Type");
@@ -370,7 +371,7 @@
dhlRateCodeMap.put("totalChargeEstimate", responseTotalChargeEstimate);
dhlRateCodeMap.put("chargeList", chargeList);
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
result.put("shippingEstimateAmount", shippingEstimateAmount);
result.put("dhlRateCodeMap", dhlRateCodeMap);
return result;
@@ -379,9 +380,9 @@
/*
* Register a DHL account for shipping by obtaining the DHL shipping key
*/
- public static Map dhlRegisterInquire(DispatchContext dctx, Map context) {
+ public static Map<String, Object> dhlRegisterInquire(DispatchContext dctx, Map<String, ? extends Object> context) {
- Map result = FastMap.newInstance();
+ Map<String, Object> result = FastMap.newInstance();
String postalCode = (String) context.get("postalCode");
String accountNbr = UtilProperties.getPropertyValue("shipment",
"shipment.dhl.access.accountNbr");
@@ -455,9 +456,9 @@
/*
* Parse response from DHL registration request to get shipping key
*/
- public static Map handleDhlRegisterResponse(
+ public static Map<String, Object> handleDhlRegisterResponse(
Document registerResponseDocument) {
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
// process RegisterResponse
Element registerResponseElement = registerResponseDocument
.getDocumentElement();
@@ -485,7 +486,7 @@
String responsePostalCode = UtilXml.childElementValue(responseElement,
"PostalCode");
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
result.put("shippingKey", responseShippingKey);
return result;
}
@@ -494,7 +495,7 @@
* Pass a shipment request to DHL via ShipIT and get a tracking number and a label back, among other things
*/
- public static Map dhlShipmentConfirm(DispatchContext dctx, Map context) {
+ public static Map<String, Object> dhlShipmentConfirm(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
LocalDispatcher dispatcher = dctx.getDispatcher();
Locale locale = (Locale) context.get("locale");
@@ -502,7 +503,7 @@
GenericValue userLogin = (GenericValue) context.get("userLogin");
String shipmentId = (String) context.get("shipmentId");
String shipmentRouteSegmentId = (String) context.get("shipmentRouteSegmentId");
- Map result = FastMap.newInstance();
+ Map<String, Object> result = FastMap.newInstance();
String shipmentConfirmResponseString = null;
try {
GenericValue shipment = delegator.findByPrimaryKey("Shipment", UtilMisc.toMap("shipmentId", shipmentId));
@@ -566,7 +567,7 @@
}
String recipientEmail = null;
- Map results = dispatcher.runSync("getPartyEmail", UtilMisc.toMap("partyId", shipment.get("partyIdTo"), "userLogin", userLogin));
+ Map<String, Object> results = dispatcher.runSync("getPartyEmail", UtilMisc.toMap("partyId", shipment.get("partyIdTo"), "userLogin", userLogin));
if (results.get("emailAddress") != null) {
recipientEmail = (String) results.get("emailAddress");
}
@@ -577,7 +578,7 @@
return ServiceUtil.returnError("DestCountryGeo not found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId);
}
- List shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
+ List<GenericValue> shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
if (shipmentPackageRouteSegs == null || shipmentPackageRouteSegs.size() == 0) {
return ServiceUtil.returnError("No ShipmentPackageRouteSegs (ie No Packages) found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId);
}
@@ -611,15 +612,15 @@
String width = null;
String height = null;
Double packageWeight = null;
- Iterator shipmentPackageRouteSegIter = shipmentPackageRouteSegs.iterator();
+ Iterator<GenericValue> shipmentPackageRouteSegIter = shipmentPackageRouteSegs.iterator();
while (shipmentPackageRouteSegIter.hasNext()) {
- GenericValue shipmentPackageRouteSeg = (GenericValue) shipmentPackageRouteSegIter.next();
+ GenericValue shipmentPackageRouteSeg = shipmentPackageRouteSegIter.next();
GenericValue shipmentPackage = shipmentPackageRouteSeg.getRelatedOne("ShipmentPackage");
GenericValue shipmentBoxType = shipmentPackage.getRelatedOne("ShipmentBoxType");
- List carrierShipmentBoxTypes = shipmentPackage.getRelated("CarrierShipmentBoxType", UtilMisc.toMap("partyId", "DHL"), null);
+ List<GenericValue> carrierShipmentBoxTypes = shipmentPackage.getRelated("CarrierShipmentBoxType", UtilMisc.toMap("partyId", "DHL"), null);
GenericValue carrierShipmentBoxType = null;
if (carrierShipmentBoxTypes.size() > 0) {
- carrierShipmentBoxType = (GenericValue) carrierShipmentBoxTypes.get(0);
+ carrierShipmentBoxType = carrierShipmentBoxTypes.get(0);
}
// TODO: determine what default UoM is (assuming inches) - there should be a defaultDimensionUomId in Facility
@@ -705,7 +706,7 @@
return ServiceUtil.returnError("Cannot get DHL Estimate: DHL Rate template not configured (shipment.template.dhl.rate.estimate");
}
StringWriter outWriter = new StringWriter();
- Map inContext = FastMap.newInstance();
+ Map<String, Object> inContext = FastMap.newInstance();
inContext.put("action", "GenerateLabel");
inContext.put("userid", userid);
inContext.put("password", password);
@@ -774,10 +775,10 @@
}
// NOTE: Must VOID shipments on errors
- public static Map handleDhlShipmentConfirmResponse(String rateResponseString, GenericValue shipmentRouteSegment,
- List shipmentPackageRouteSegs) throws GenericEntityException {
- Map result = FastMap.newInstance();
- GenericValue shipmentPackageRouteSeg = (GenericValue) shipmentPackageRouteSegs.get(0);
+ public static Map<String, Object> handleDhlShipmentConfirmResponse(String rateResponseString, GenericValue shipmentRouteSegment,
+ List<GenericValue> shipmentPackageRouteSegs) throws GenericEntityException {
+ Map<String, Object> result = FastMap.newInstance();
+ GenericValue shipmentPackageRouteSeg = shipmentPackageRouteSegs.get(0);
// TODO: figure out how to handle validation on return XML, which can be mangled
// Ideas: try again right away, let user try again, etc.
@@ -841,12 +842,12 @@
return ServiceUtil.returnSuccess("DHL Shipment Confirmed.");
}
- private static double getWeight(List shippableItemInfo) {
+ private static double getWeight(List<Map<String, Object>> shippableItemInfo) {
double totalWeight = 0;
if (shippableItemInfo != null) {
- Iterator sii = shippableItemInfo.iterator();
+ Iterator<Map<String, Object>> sii = shippableItemInfo.iterator();
while (sii.hasNext()) {
- Map itemInfo = (Map) sii.next();
+ Map<String, Object> itemInfo = sii.next();
double weight = ((Double) itemInfo.get("weight")).doubleValue();
totalWeight = totalWeight + weight;
}
@@ -882,15 +883,15 @@
return eCommerceRequestDocument;
}
- public static void handleErrors(Element responseElement, List errorList) {
+ public static void handleErrors(Element responseElement, List<Object> errorList) {
Element faultsElement = UtilXml.firstChildElement(responseElement,
"Faults");
- List faultElements = UtilXml.childElementList(faultsElement, "Fault");
+ List<? extends Element> faultElements = UtilXml.childElementList(faultsElement, "Fault");
if (UtilValidate.isNotEmpty(faultElements)) {
- Iterator errorElementIter = faultElements.iterator();
+ Iterator<? extends Element> errorElementIter = faultElements.iterator();
while (errorElementIter.hasNext()) {
StringBuilder errorMessageBuf = new StringBuilder();
- Element errorElement = (Element) errorElementIter.next();
+ Element errorElement = errorElementIter.next();
String errorCode = UtilXml.childElementValue(errorElement,
"Code");
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/fedex/FedexServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/fedex/FedexServices.java?rev=712918&r1=712917&r2=712918&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/fedex/FedexServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/fedex/FedexServices.java Mon Nov 10 18:19:19 2008
@@ -135,9 +135,9 @@
/*
* Register a Fedex account for shipping by obtaining the meter number
*/
- public static Map fedexSubscriptionRequest( DispatchContext dctx, Map context) {
+ public static Map<String, Object> fedexSubscriptionRequest( DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
Boolean replaceMeterNumber = (Boolean) context.get("replaceMeterNumber");
@@ -151,7 +151,7 @@
String companyPartyId = (String) context.get("companyPartyId");
String contactPartyName = (String) context.get("contactPartyName");
- Map result = FastMap.newInstance();
+ Map<String, Object> result = FastMap.newInstance();
String accountNumber = UtilProperties.getPropertyValue(shipmentPropertiesFile, "shipment.fedex.access.accountNbr");
if (UtilValidate.isEmpty(accountNumber)) {
@@ -186,12 +186,12 @@
}
// Get the contact information for the company
- List partyContactDetails = delegator.findByAnd("PartyContactDetailByPurpose", UtilMisc.toMap("partyId", companyPartyId));
+ List<GenericValue> partyContactDetails = delegator.findByAnd("PartyContactDetailByPurpose", UtilMisc.toMap("partyId", companyPartyId));
partyContactDetails = EntityUtil.filterByDate(partyContactDetails);
partyContactDetails = EntityUtil.filterByDate(partyContactDetails, UtilDateTime.nowTimestamp(), "purposeFromDate", "purposeThruDate", true);
// Get the first valid postal address (address1, city, postalCode and countryGeoId are required by Fedex)
- List postalAddressConditions = FastList.newInstance();
+ List<EntityCondition> postalAddressConditions = FastList.newInstance();
postalAddressConditions.add(EntityCondition.makeCondition("contactMechTypeId", EntityOperator.EQUALS, "POSTAL_ADDRESS"));
postalAddressConditions.add(EntityCondition.makeCondition("address1", EntityOperator.NOT_EQUAL, null));
postalAddressConditions.add(EntityCondition.makeCondition("address1", EntityOperator.NOT_EQUAL, ""));
@@ -201,7 +201,7 @@
postalAddressConditions.add(EntityCondition.makeCondition("postalCode", EntityOperator.NOT_EQUAL, ""));
postalAddressConditions.add(EntityCondition.makeCondition("countryGeoId", EntityOperator.NOT_EQUAL, null));
postalAddressConditions.add(EntityCondition.makeCondition("countryGeoId", EntityOperator.NOT_EQUAL, ""));
- List postalAddresses = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(postalAddressConditions, EntityOperator.AND));
+ List<GenericValue> postalAddresses = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(postalAddressConditions, EntityOperator.AND));
// Fedex requires USA or Canada addresses to have a state/province ID, so filter out the ones without
postalAddressConditions.clear();
@@ -229,14 +229,14 @@
}
// Get the first valid primary phone number (required by Fedex)
- List phoneNumberConditions = FastList.newInstance();
+ List<EntityCondition> phoneNumberConditions = FastList.newInstance();
phoneNumberConditions.add(EntityCondition.makeCondition("contactMechTypeId", EntityOperator.EQUALS, "TELECOM_NUMBER"));
phoneNumberConditions.add(EntityCondition.makeCondition("contactMechPurposeTypeId", EntityOperator.EQUALS, "PRIMARY_PHONE"));
phoneNumberConditions.add(EntityCondition.makeCondition("areaCode", EntityOperator.NOT_EQUAL, null));
phoneNumberConditions.add(EntityCondition.makeCondition("areaCode", EntityOperator.NOT_EQUAL, ""));
phoneNumberConditions.add(EntityCondition.makeCondition("contactNumber", EntityOperator.NOT_EQUAL, null));
phoneNumberConditions.add(EntityCondition.makeCondition("contactNumber", EntityOperator.NOT_EQUAL, ""));
- List phoneNumbers = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(phoneNumberConditions, EntityOperator.AND));
+ List<GenericValue> phoneNumbers = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(phoneNumberConditions, EntityOperator.AND));
GenericValue phoneNumberValue = EntityUtil.getFirst(phoneNumbers);
if (UtilValidate.isEmpty(phoneNumberValue)) {
String errorMessage = "Party with partyId " + companyPartyId + " does not have a current, fully populated primary phone number";
@@ -251,14 +251,14 @@
phoneNumber = phoneNumber.replaceAll("[^+\\d]", "");
// Get the first valid fax number
- List faxNumberConditions = FastList.newInstance();
+ List<EntityCondition> faxNumberConditions = FastList.newInstance();
faxNumberConditions.add(EntityCondition.makeCondition("contactMechTypeId", EntityOperator.EQUALS, "TELECOM_NUMBER"));
faxNumberConditions.add(EntityCondition.makeCondition("contactMechPurposeTypeId", EntityOperator.EQUALS, "FAX_NUMBER"));
faxNumberConditions.add(EntityCondition.makeCondition("areaCode", EntityOperator.NOT_EQUAL, null));
faxNumberConditions.add(EntityCondition.makeCondition("areaCode", EntityOperator.NOT_EQUAL, ""));
faxNumberConditions.add(EntityCondition.makeCondition("contactNumber", EntityOperator.NOT_EQUAL, null));
faxNumberConditions.add(EntityCondition.makeCondition("contactNumber", EntityOperator.NOT_EQUAL, ""));
- List faxNumbers = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(faxNumberConditions, EntityOperator.AND));
+ List<GenericValue> faxNumbers = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(faxNumberConditions, EntityOperator.AND));
GenericValue faxNumberValue = EntityUtil.getFirst(faxNumbers);
if(! UtilValidate.isEmpty(faxNumberValue)) {
faxNumber = faxNumberValue.getString("areaCode") + faxNumberValue.getString("contactNumber");
@@ -270,11 +270,11 @@
}
// Get the first valid email address
- List emailConditions = FastList.newInstance();
+ List<EntityCondition> emailConditions = FastList.newInstance();
emailConditions.add(EntityCondition.makeCondition("contactMechTypeId", EntityOperator.EQUALS, "EMAIL_ADDRESS"));
emailConditions.add(EntityCondition.makeCondition("infoString", EntityOperator.NOT_EQUAL, null));
emailConditions.add(EntityCondition.makeCondition("infoString", EntityOperator.NOT_EQUAL, ""));
- List emailAddresses = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(emailConditions, EntityOperator.AND));
+ List<GenericValue> emailAddresses = EntityUtil.filterByCondition(partyContactDetails, EntityCondition.makeCondition(emailConditions, EntityOperator.AND));
GenericValue emailAddressValue = EntityUtil.getFirst(emailAddresses);
if(! UtilValidate.isEmpty(emailAddressValue)) {
emailAddress = emailAddressValue.getString("infoString");
@@ -287,7 +287,7 @@
}
// Populate the Freemarker context
- Map subscriptionRequestContext = FastMap.newInstance();
+ Map<String, Object> subscriptionRequestContext = FastMap.newInstance();
subscriptionRequestContext.put("AccountNumber", accountNumber);
subscriptionRequestContext.put("PersonName", contactPartyName);
subscriptionRequestContext.put("CompanyName", companyName);
@@ -371,12 +371,12 @@
*
* Send a FDXShipRequest via the Ship Manager Direct API
*/
- public static Map fedexShipRequest( DispatchContext dctx, Map context) {
+ public static Map<String, Object> fedexShipRequest( DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
LocalDispatcher dispatcher = dctx.getDispatcher();
GenericValue userLogin = (GenericValue) context.get("userLogin");
Locale locale = (Locale) context.get("locale");
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
String shipmentId = (String) context.get("shipmentId");
String shipmentRouteSegmentId = (String) context.get("shipmentRouteSegmentId");
@@ -431,7 +431,7 @@
try {
- Map shipRequestContext = FastMap.newInstance();
+ Map<String, Object> shipRequestContext = FastMap.newInstance();
// Get the shipment and the shipmentRouteSegment
GenericValue shipment = delegator.findByPrimaryKey("Shipment", UtilMisc.toMap("shipmentId", shipmentId));
@@ -606,7 +606,7 @@
}
}
- List shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", UtilMisc.toList("+shipmentPackageSeqId"));
+ List<GenericValue> shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", UtilMisc.toList("+shipmentPackageSeqId"));
if (UtilValidate.isEmpty(shipmentPackageRouteSegs)) {
return ServiceUtil.returnError("No ShipmentPackageRouteSegs (ie No Packages) found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId);
}
@@ -673,7 +673,7 @@
// Convert the weight if necessary
if (! billingWeightUomId.equals(weightUomId)) {
- Map results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", billingWeightUomId, "uomIdTo", weightUomId, "originalValue", billingWeight));
+ Map<String, Object> results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", billingWeightUomId, "uomIdTo", weightUomId, "originalValue", billingWeight));
if (ServiceUtil.isError(results) || (results.get("convertedValue") == null)) {
Debug.logWarning("Unable to convert billing weights for shipmentId " + shipmentId , module);
@@ -686,10 +686,10 @@
}
// Loop through Shipment segments (NOTE: only one supported, loop is here for future refactoring reference)
- Iterator shipmentPackageRouteSegIter = shipmentPackageRouteSegs.iterator();
+ Iterator<GenericValue> shipmentPackageRouteSegIter = shipmentPackageRouteSegs.iterator();
while (shipmentPackageRouteSegIter.hasNext()) {
- GenericValue shipmentPackageRouteSeg = (GenericValue) shipmentPackageRouteSegIter.next();
+ GenericValue shipmentPackageRouteSeg = shipmentPackageRouteSegIter.next();
GenericValue shipmentPackage = shipmentPackageRouteSeg.getRelatedOne("ShipmentPackage");
GenericValue shipmentBoxType = shipmentPackage.getRelatedOne("ShipmentBoxType");
@@ -735,7 +735,7 @@
}
if (dimensionsLength != null && dimensionsLength.doubleValue() > 0) {
if (! boxDimensionsUomId.equals(dimensionsUomId)) {
- Map results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", boxDimensionsUomId, "uomIdTo", dimensionsUomId, "originalValue", dimensionsLength));
+ Map<String, Object> results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", boxDimensionsUomId, "uomIdTo", dimensionsUomId, "originalValue", dimensionsLength));
if (ServiceUtil.isError(results) || (results.get("convertedValue") == null)) {
Debug.logWarning("Unable to convert length for package " + shipmentPackage.getString("shipmentPackageSeqId") + " of shipmentRouteSegment " + shipmentRouteSegmentId + " of shipment " + shipmentId , module);
dimensionsLength = null;
@@ -747,7 +747,7 @@
}
if (dimensionsWidth != null && dimensionsWidth.doubleValue() > 0) {
if (! boxDimensionsUomId.equals(dimensionsUomId)) {
- Map results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", boxDimensionsUomId, "uomIdTo", dimensionsUomId, "originalValue", dimensionsWidth));
+ Map<String, Object> results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", boxDimensionsUomId, "uomIdTo", dimensionsUomId, "originalValue", dimensionsWidth));
if (ServiceUtil.isError(results) || (results.get("convertedValue") == null)) {
Debug.logWarning("Unable to convert width for package " + shipmentPackage.getString("shipmentPackageSeqId") + " of shipmentRouteSegment " + shipmentRouteSegmentId + " of shipment " + shipmentId , module);
dimensionsWidth = null;
@@ -759,7 +759,7 @@
}
if (dimensionsHeight != null && dimensionsHeight.doubleValue() > 0) {
if (! boxDimensionsUomId.equals(dimensionsUomId)) {
- Map results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", boxDimensionsUomId, "uomIdTo", dimensionsUomId, "originalValue", dimensionsHeight));
+ Map<String, Object> results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", boxDimensionsUomId, "uomIdTo", dimensionsUomId, "originalValue", dimensionsHeight));
if (ServiceUtil.isError(results) || (results.get("convertedValue") == null)) {
Debug.logWarning("Unable to convert height for package " + shipmentPackage.getString("shipmentPackageSeqId") + " of shipmentRouteSegment " + shipmentRouteSegmentId + " of shipment " + shipmentId , module);
dimensionsHeight = null;
@@ -794,7 +794,7 @@
packageWeightUomId = weightUomId;
}
if (! packageWeightUomId.equals(weightUomId)) {
- Map results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", packageWeightUomId, "uomIdTo", weightUomId, "originalValue", packageWeight));
+ Map<String, Object> results = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", packageWeightUomId, "uomIdTo", weightUomId, "originalValue", packageWeight));
if (ServiceUtil.isError(results) || (results.get("convertedValue") == null)) {
ServiceUtil.returnError("Unable to convert weight for package " + shipmentPackage.getString("shipmentPackageSeqId") + " of shipmentRouteSegment " + shipmentRouteSegmentId + " of shipment " + shipmentId);
} else {
@@ -865,9 +865,9 @@
* @param shipmentPackageRouteSegs
* @throws GenericEntityException
*/
- public static Map handleFedexShipReply(String fDXShipReplyString, GenericValue shipmentRouteSegment, List shipmentPackageRouteSegs) throws GenericEntityException {
- List errorList = FastList.newInstance();
- GenericValue shipmentPackageRouteSeg = (GenericValue) shipmentPackageRouteSegs.get(0);
+ public static Map<String, Object> handleFedexShipReply(String fDXShipReplyString, GenericValue shipmentRouteSegment, List<GenericValue> shipmentPackageRouteSegs) throws GenericEntityException {
+ List<Object> errorList = FastList.newInstance();
+ GenericValue shipmentPackageRouteSeg = shipmentPackageRouteSegs.get(0);
Document fdxShipReplyDocument = null;
try {
@@ -933,7 +933,7 @@
}
- public static void handleErrors(Element rootElement, List errorList) {
+ public static void handleErrors(Element rootElement, List<Object> errorList) {
Element errorElement = null;
if ("Error".equalsIgnoreCase(rootElement.getNodeName())) {
errorElement = rootElement;
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?rev=712918&r1=712917&r2=712918&view=diff
==============================================================================
--- 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 Mon Nov 10 18:19:19 2008
@@ -41,6 +41,7 @@
import org.ofbiz.base.util.HttpClient;
import org.ofbiz.base.util.HttpClientException;
import org.ofbiz.base.util.StringUtil;
+import org.ofbiz.base.util.UtilGenerics;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.base.util.UtilNumber;
import org.ofbiz.base.util.UtilProperties;
@@ -69,23 +70,23 @@
public final static String module = UpsServices.class.getName();
- public static Map unitsUpsToOfbiz = FastMap.newInstance();
- public static Map unitsOfbizToUps = FastMap.newInstance();
+ public static Map<String, String> unitsUpsToOfbiz = FastMap.newInstance();
+ public static Map<String, String> unitsOfbizToUps = FastMap.newInstance();
static {
unitsUpsToOfbiz.put("LBS", "WT_lb");
unitsUpsToOfbiz.put("KGS", "WT_kg");
- Iterator unitsUpsToOfbizIter = unitsUpsToOfbiz.entrySet().iterator();
+ Iterator<Map.Entry<String, String>> unitsUpsToOfbizIter = unitsUpsToOfbiz.entrySet().iterator();
while (unitsUpsToOfbizIter.hasNext()) {
- Map.Entry entry = (Map.Entry) unitsUpsToOfbizIter.next();
+ Map.Entry<String, String> entry = unitsUpsToOfbizIter.next();
unitsOfbizToUps.put(entry.getValue(), entry.getKey());
}
}
public static final int decimals = UtilNumber.getBigDecimalScale("order.decimals");
public static final int rounding = UtilNumber.getBigDecimalRoundingMode("order.rounding");
- public static Map upsShipmentConfirm(DispatchContext dctx, Map context) {
- Map result = FastMap.newInstance();
+ public static Map<String, Object> upsShipmentConfirm(DispatchContext dctx, Map<String, ? extends Object> context) {
+ Map<String, Object> result = FastMap.newInstance();
GenericDelegator delegator = dctx.getDelegator();
LocalDispatcher dispatcher = dctx.getDispatcher();
GenericValue userLogin = (GenericValue) context.get("userLogin");
@@ -176,30 +177,30 @@
return ServiceUtil.returnError("DestCountryGeo not found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId);
}
- Map findCarrierShipmentMethodMap = UtilMisc.toMap("partyId", shipmentRouteSegment.get("carrierPartyId"), "roleTypeId", "CARRIER", "shipmentMethodTypeId", shipmentRouteSegment.get("shipmentMethodTypeId"));
+ Map<String, Object> findCarrierShipmentMethodMap = UtilMisc.toMap("partyId", shipmentRouteSegment.get("carrierPartyId"), "roleTypeId", "CARRIER", "shipmentMethodTypeId", shipmentRouteSegment.get("shipmentMethodTypeId"));
GenericValue carrierShipmentMethod = delegator.findByPrimaryKey("CarrierShipmentMethod", findCarrierShipmentMethodMap);
if (carrierShipmentMethod == null) {
return ServiceUtil.returnError("CarrierShipmentMethod not found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId + "; partyId is " + shipmentRouteSegment.get("carrierPartyId") + " and shipmentMethodTypeId is " + shipmentRouteSegment.get("shipmentMethodTypeId"));
}
- List shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
+ List<GenericValue> shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
if (shipmentPackageRouteSegs == null || shipmentPackageRouteSegs.size() == 0) {
return ServiceUtil.returnError("No ShipmentPackageRouteSegs (ie No Packages) found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId);
}
- List itemIssuances = shipment.getRelated("ItemIssuance");
- Set orderIdSet = new TreeSet();
- Iterator itemIssuanceIter = itemIssuances.iterator();
+ List<GenericValue> itemIssuances = shipment.getRelated("ItemIssuance");
+ Set<String> orderIdSet = new TreeSet<String>();
+ Iterator<GenericValue> itemIssuanceIter = itemIssuances.iterator();
while (itemIssuanceIter.hasNext()) {
- GenericValue itemIssuance = (GenericValue) itemIssuanceIter.next();
- orderIdSet.add(itemIssuance.get("orderId"));
+ GenericValue itemIssuance = itemIssuanceIter.next();
+ orderIdSet.add(itemIssuance.getString("orderId"));
}
String ordersDescription = "";
if (orderIdSet.size() > 1) {
StringBuilder odBuf = new StringBuilder("Orders ");
- Iterator orderIdIter = orderIdSet.iterator();
+ Iterator<String> orderIdIter = orderIdSet.iterator();
while (orderIdIter.hasNext()) {
- String orderId = (String) orderIdIter.next();
+ String orderId = orderIdIter.next();
odBuf.append(orderId);
if (orderIdIter.hasNext()) {
odBuf.append(", ");
@@ -207,7 +208,7 @@
}
ordersDescription = odBuf.toString();
} else if (orderIdSet.size() > 0) {
- ordersDescription = "Order " + (String) orderIdSet.iterator().next();
+ ordersDescription = "Order " + orderIdSet.iterator().next();
}
// COD Support
@@ -217,8 +218,8 @@
if (allowCOD) {
// Get the paymentMethodTypeIds of all the orderPaymentPreferences involved with the shipment
- List opps = delegator.findList("OrderPaymentPreference", EntityCondition.makeCondition("orderId", EntityOperator.IN, orderIdSet), null, null, null, false);
- List paymentMethodTypeIds = EntityUtil.getFieldListFromEntityList(opps, "paymentMethodTypeId", true);
+ List<GenericValue> opps = delegator.findList("OrderPaymentPreference", EntityCondition.makeCondition("orderId", EntityOperator.IN, orderIdSet), null, null, null, false);
+ List<String> paymentMethodTypeIds = EntityUtil.getFieldListFromEntityList(opps, "paymentMethodTypeId", true);
if (paymentMethodTypeIds.size() > 1 || ! paymentMethodTypeIds.contains("EXT_COD")) {
allowCOD = false;
@@ -402,15 +403,15 @@
UtilXml.addChildElementValue(serviceElement, "Code", carrierShipmentMethod.getString("carrierServiceCode"), shipmentConfirmRequestDoc);
// Child of Shipment: Package
- ListIterator shipmentPackageRouteSegIter = shipmentPackageRouteSegs.listIterator();
+ ListIterator<GenericValue> shipmentPackageRouteSegIter = shipmentPackageRouteSegs.listIterator();
while (shipmentPackageRouteSegIter.hasNext()) {
- GenericValue shipmentPackageRouteSeg = (GenericValue) shipmentPackageRouteSegIter.next();
+ GenericValue shipmentPackageRouteSeg = shipmentPackageRouteSegIter.next();
GenericValue shipmentPackage = shipmentPackageRouteSeg.getRelatedOne("ShipmentPackage");
GenericValue shipmentBoxType = shipmentPackage.getRelatedOne("ShipmentBoxType");
- List carrierShipmentBoxTypes = shipmentPackage.getRelated("CarrierShipmentBoxType", UtilMisc.toMap("partyId", "UPS"), null);
+ List<GenericValue> carrierShipmentBoxTypes = shipmentPackage.getRelated("CarrierShipmentBoxType", UtilMisc.toMap("partyId", "UPS"), null);
GenericValue carrierShipmentBoxType = null;
if (carrierShipmentBoxTypes.size() > 0) {
- carrierShipmentBoxType = (GenericValue) carrierShipmentBoxTypes.get(0);
+ carrierShipmentBoxType = carrierShipmentBoxTypes.get(0);
}
Element packageElement = UtilXml.addChildElement(shipmentElement, "Package", shipmentConfirmRequestDoc);
@@ -441,7 +442,7 @@
Element packageWeightElement = UtilXml.addChildElement(packageElement, "PackageWeight", shipmentConfirmRequestDoc);
Element packageWeightUnitOfMeasurementElement = UtilXml.addChildElement(packageElement, "UnitOfMeasurement", shipmentConfirmRequestDoc);
- String weightUomUps = (String) unitsOfbizToUps.get(shipmentPackage.get("weightUomId"));
+ String weightUomUps = unitsOfbizToUps.get(shipmentPackage.get("weightUomId"));
if (weightUomUps != null) {
UtilXml.addChildElementValue(packageWeightUnitOfMeasurementElement, "Code", weightUomUps, shipmentConfirmRequestDoc);
} else {
@@ -492,12 +493,12 @@
UtilXml.addChildElementValue(codAmountElement, "CurrencyCode", currencyCode, shipmentConfirmRequestDoc);
// Get the value of the package by going back to the orderItems
- Map getPackageValueResult = dispatcher.runSync("getShipmentPackageValueFromOrders", UtilMisc.toMap("shipmentId", shipmentId, "shipmentPackageSeqId", shipmentPackage.get("shipmentPackageSeqId"), "currencyUomId", currencyCode, "userLogin", userLogin, "locale", locale));
+ Map<String, Object> getPackageValueResult = dispatcher.runSync("getShipmentPackageValueFromOrders", UtilMisc.toMap("shipmentId", shipmentId, "shipmentPackageSeqId", shipmentPackage.get("shipmentPackageSeqId"), "currencyUomId", currencyCode, "userLogin", userLogin, "locale", locale));
if (ServiceUtil.isError(getPackageValueResult)) return getPackageValueResult;
BigDecimal packageValue = (BigDecimal) getPackageValueResult.get("packageValue");
// Convert the value of the COD surcharge to the shipment currency, if necessary
- Map convertUomResult = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", codSurchargeCurrencyUomId, "uomIdTo", currencyCode, "originalValue", Double.valueOf(codSurchargePackageAmount.doubleValue())));
+ Map<String, Object> convertUomResult = dispatcher.runSync("convertUom", UtilMisc.<String, Object>toMap("uomId", codSurchargeCurrencyUomId, "uomIdTo", currencyCode, "originalValue", Double.valueOf(codSurchargePackageAmount.doubleValue())));
if (ServiceUtil.isError(convertUomResult)) return convertUomResult;
if (convertUomResult.containsKey("convertedValue")) {
codSurchargePackageAmount = new BigDecimal(((Double) convertUomResult.get("convertedValue")).doubleValue()).setScale(decimals, rounding);
@@ -606,7 +607,7 @@
}
}
- public static Map handleUpsShipmentConfirmResponse(Document shipmentConfirmResponseDocument, GenericValue shipmentRouteSegment) throws GenericEntityException {
+ public static Map<String, Object> handleUpsShipmentConfirmResponse(Document shipmentConfirmResponseDocument, GenericValue shipmentRouteSegment) throws GenericEntityException {
// process ShipmentConfirmResponse, update data as needed
Element shipmentConfirmResponseElement = shipmentConfirmResponseDocument.getDocumentElement();
@@ -618,7 +619,7 @@
String responseStatusCode = UtilXml.childElementValue(responseElement, "ResponseStatusCode");
String responseStatusDescription = UtilXml.childElementValue(responseElement, "ResponseStatusDescription");
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
UpsServices.handleErrors(responseElement, errorList);
if ("1".equals(responseStatusCode)) {
@@ -700,10 +701,9 @@
if (errorList.size() > 0) {
// this shouldn't happen much, but handle it anyway
successString.append(", but the following occurred: ");
- Iterator errorListIter = errorList.iterator();
+ Iterator<Object> errorListIter = errorList.iterator();
while (errorListIter.hasNext()) {
- String errorMsg = (String) errorListIter.next();
- successString.append(errorMsg);
+ successString.append(errorListIter.next());
if (errorListIter.hasNext()) {
successString.append(", ");
}
@@ -716,8 +716,8 @@
}
}
- public static Map upsShipmentAccept(DispatchContext dctx, Map context) {
- Map result = FastMap.newInstance();
+ public static Map<String, Object> upsShipmentAccept(DispatchContext dctx, Map<String, ? extends Object> context) {
+ Map<String, Object> result = FastMap.newInstance();
GenericDelegator delegator = dctx.getDelegator();
String shipmentId = (String) context.get("shipmentId");
String shipmentRouteSegmentId = (String) context.get("shipmentRouteSegmentId");
@@ -747,7 +747,7 @@
return ServiceUtil.returnError("ERROR: The Carrier Service Status for ShipmentRouteSegment " + shipmentRouteSegmentId + " of Shipment " + shipmentId + ", is [" + shipmentRouteSegment.getString("carrierServiceStatusId") + "], but must be [SHRSCS_CONFIRMED] to perform the UPS Shipment Accept operation.");
}
- List shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
+ List<GenericValue> shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
if (shipmentPackageRouteSegs == null || shipmentPackageRouteSegs.size() == 0) {
return ServiceUtil.returnError("No ShipmentPackageRouteSegs found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId);
}
@@ -857,7 +857,7 @@
}
}
- public static Map handleUpsShipmentAcceptResponse(Document shipmentAcceptResponseDocument, GenericValue shipmentRouteSegment, List shipmentPackageRouteSegs) throws GenericEntityException {
+ public static Map<String, Object> handleUpsShipmentAcceptResponse(Document shipmentAcceptResponseDocument, GenericValue shipmentRouteSegment, List<GenericValue> shipmentPackageRouteSegs) throws GenericEntityException {
boolean shipmentUpsSaveCertificationInfo = "true".equals(UtilProperties.getPropertyValue("shipment", "shipment.ups.save.certification.info"));
String shipmentUpsSaveCertificationPath = UtilProperties.getPropertyValue("shipment", "shipment.ups.save.certification.path");
File shipmentUpsSaveCertificationFile = null;
@@ -879,7 +879,7 @@
String responseStatusCode = UtilXml.childElementValue(responseElement, "ResponseStatusCode");
String responseStatusDescription = UtilXml.childElementValue(responseElement, "ResponseStatusDescription");
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
UpsServices.handleErrors(responseElement, errorList);
if ("1".equals(responseStatusCode)) {
@@ -962,11 +962,11 @@
shipmentRouteSegment.store();
// now process the PackageResults elements
- List packageResultsElements = UtilXml.childElementList(shipmentResultsElement, "PackageResults");
- Iterator packageResultsElementIter = packageResultsElements.iterator();
- Iterator shipmentPackageRouteSegIter = shipmentPackageRouteSegs.iterator();
+ List<? extends Element> packageResultsElements = UtilXml.childElementList(shipmentResultsElement, "PackageResults");
+ Iterator<GenericValue> shipmentPackageRouteSegIter = shipmentPackageRouteSegs.iterator();
+ Iterator<? extends Element> packageResultsElementIter = packageResultsElements.iterator();
while (packageResultsElementIter.hasNext()) {
- Element packageResultsElement = (Element) packageResultsElementIter.next();
+ Element packageResultsElement = packageResultsElementIter.next();
String trackingNumber = UtilXml.childElementValue(packageResultsElement, "TrackingNumber");
@@ -990,7 +990,7 @@
}
//NOTE: I guess they come back in the same order we sent them, so we'll get the packages in order and off we go...
- GenericValue shipmentPackageRouteSeg = (GenericValue) shipmentPackageRouteSegIter.next();
+ GenericValue shipmentPackageRouteSeg = shipmentPackageRouteSegIter.next();
shipmentPackageRouteSeg.set("trackingCode", trackingNumber);
shipmentPackageRouteSeg.set("boxNumber", "");
shipmentPackageRouteSeg.set("currencyUomId", packageServiceOptionsCurrencyCode);
@@ -1067,10 +1067,9 @@
if (errorList.size() > 0) {
// this shouldn't happen much, but handle it anyway
successString.append(", but the following occurred: ");
- Iterator errorListIter = errorList.iterator();
+ Iterator<Object> errorListIter = errorList.iterator();
while (errorListIter.hasNext()) {
- String errorMsg = (String) errorListIter.next();
- successString.append(errorMsg);
+ successString.append(errorListIter.next());
if (errorListIter.hasNext()) {
successString.append(", ");
}
@@ -1083,8 +1082,8 @@
}
}
- public static Map upsVoidShipment(DispatchContext dctx, Map context) {
- Map result = FastMap.newInstance();
+ public static Map<String, Object> upsVoidShipment(DispatchContext dctx, Map<String, ? extends Object> context) {
+ Map<String, Object> result = FastMap.newInstance();
GenericDelegator delegator = dctx.getDelegator();
String shipmentId = (String) context.get("shipmentId");
String shipmentRouteSegmentId = (String) context.get("shipmentRouteSegmentId");
@@ -1219,7 +1218,7 @@
}
}
- public static Map handleUpsVoidShipmentResponse(Document voidShipmentResponseDocument, GenericValue shipmentRouteSegment) throws GenericEntityException {
+ public static Map<String, Object> handleUpsVoidShipmentResponse(Document voidShipmentResponseDocument, GenericValue shipmentRouteSegment) throws GenericEntityException {
// process VoidShipmentResponse, update data as needed
Element voidShipmentResponseElement = voidShipmentResponseDocument.getDocumentElement();
@@ -1231,7 +1230,7 @@
String responseStatusCode = UtilXml.childElementValue(responseElement, "ResponseStatusCode");
String responseStatusDescription = UtilXml.childElementValue(responseElement, "ResponseStatusDescription");
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
UpsServices.handleErrors(responseElement, errorList);
// handle other response elements
@@ -1255,10 +1254,9 @@
if (errorList.size() > 0) {
// this shouldn't happen much, but handle it anyway
successString.append(", but the following occurred: ");
- Iterator errorListIter = errorList.iterator();
+ Iterator<Object> errorListIter = errorList.iterator();
while (errorListIter.hasNext()) {
- String errorMsg = (String) errorListIter.next();
- successString.append(errorMsg);
+ successString.append(errorListIter.next());
if (errorListIter.hasNext()) {
successString.append(", ");
}
@@ -1271,8 +1269,8 @@
}
}
- public static Map upsTrackShipment(DispatchContext dctx, Map context) {
- Map result = FastMap.newInstance();
+ public static Map<String, Object> upsTrackShipment(DispatchContext dctx, Map<String, ? extends Object> context) {
+ Map<String, Object> result = FastMap.newInstance();
GenericDelegator delegator = dctx.getDelegator();
String shipmentId = (String) context.get("shipmentId");
String shipmentRouteSegmentId = (String) context.get("shipmentRouteSegmentId");
@@ -1302,7 +1300,7 @@
return ServiceUtil.returnError("ERROR: The Carrier Service Status for ShipmentRouteSegment " + shipmentRouteSegmentId + " of Shipment " + shipmentId + ", is [" + shipmentRouteSegment.getString("carrierServiceStatusId") + "], but must be [SHRSCS_ACCEPTED] to perform the UPS Track Shipment operation.");
}
- List shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
+ List<GenericValue> shipmentPackageRouteSegs = shipmentRouteSegment.getRelated("ShipmentPackageRouteSeg", null, UtilMisc.toList("+shipmentPackageSeqId"));
if (shipmentPackageRouteSegs == null || shipmentPackageRouteSegs.size() == 0) {
return ServiceUtil.returnError("No ShipmentPackageRouteSegs found for ShipmentRouteSegment with shipmentId " + shipmentId + " and shipmentRouteSegmentId " + shipmentRouteSegmentId);
}
@@ -1410,7 +1408,7 @@
}
}
- public static Map handleUpsTrackShipmentResponse(Document trackResponseDocument, GenericValue shipmentRouteSegment, List shipmentPackageRouteSegs) throws GenericEntityException {
+ public static Map<String, Object> handleUpsTrackShipmentResponse(Document trackResponseDocument, GenericValue shipmentRouteSegment, List shipmentPackageRouteSegs) throws GenericEntityException {
// process TrackResponse, update data as needed
Element trackResponseElement = trackResponseDocument.getDocumentElement();
@@ -1422,7 +1420,7 @@
String responseStatusCode = UtilXml.childElementValue(responseElement, "ResponseStatusCode");
String responseStatusDescription = UtilXml.childElementValue(responseElement, "ResponseStatusDescription");
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
UpsServices.handleErrors(responseElement, errorList);
if ("1".equals(responseStatusCode)) {
@@ -1438,10 +1436,10 @@
String shipmentIdentificationNumber = UtilXml.childElementValue(shipmentElement, "ShipmentIdentificationNumber");
- List packageElements = UtilXml.childElementList(shipmentElement, "Package");
- Iterator packageElementIter = packageElements.iterator();
+ List<? extends Element> packageElements = UtilXml.childElementList(shipmentElement, "Package");
+ Iterator<? extends Element> packageElementIter = packageElements.iterator();
while (packageElementIter.hasNext()) {
- Element packageElement = (Element) packageElementIter.next();
+ Element packageElement = packageElementIter.next();
}
/*
<Package>
@@ -1485,10 +1483,9 @@
if (errorList.size() > 0) {
// this shouldn't happen much, but handle it anyway
successString.append(", but the following occurred: ");
- Iterator errorListIter = errorList.iterator();
+ Iterator<Object> errorListIter = errorList.iterator();
while (errorListIter.hasNext()) {
- String errorMsg = (String) errorListIter.next();
- successString.append(errorMsg);
+ successString.append(errorListIter.next());
if (errorListIter.hasNext()) {
successString.append(", ");
}
@@ -1501,7 +1498,7 @@
}
}
- public static Map upsRateInquire(DispatchContext dctx, Map context) {
+ public static Map<String, Object> upsRateInquire(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
// prepare the data
String shippingContactMechId = (String) context.get("shippingContactMechId");
@@ -1540,7 +1537,7 @@
if (UtilValidate.isEmpty(destCountryGeo)) {
return ServiceUtil.returnError("Destination CountryGeo not found for ship-to address");
}
- Map cxt = UtilMisc.toMap("serviceConfigProps", context.get("serviceConfigProps"), "upsRateInquireMode", context.get("upsRateInquireMode"),
+ Map<String, Object> cxt = UtilMisc.toMap("serviceConfigProps", context.get("serviceConfigProps"), "upsRateInquireMode", context.get("upsRateInquireMode"),
"productStoreId", context.get("productStoreId"), "carrierRoleTypeId", context.get("carrierRoleTypeId"));
cxt.put("carrierPartyId", context.get("carrierPartyId"));
cxt.put("shipmentMethodTypeId", context.get("shipmentMethodTypeId"));
@@ -1562,12 +1559,12 @@
}
}
- private static void splitEstimatePackages(Document requestDoc, Element shipmentElement, List shippableItemInfo, double maxWeight, double minWeight) {
- List packages = getPackageSplit(shippableItemInfo, maxWeight);
+ private static void splitEstimatePackages(Document requestDoc, Element shipmentElement, List<Map<String, Object>> shippableItemInfo, double maxWeight, double minWeight) {
+ List<Map<String, Double>> packages = getPackageSplit(shippableItemInfo, maxWeight);
if (UtilValidate.isNotEmpty(packages)) {
- Iterator i = packages.iterator();
+ Iterator<Map<String, Double>> i = packages.iterator();
while (i.hasNext()) {
- Map packageMap = (Map) i.next();
+ Map<String, Double> packageMap = i.next();
addPackageElement(requestDoc, shipmentElement, shippableItemInfo, packageMap, minWeight);
}
} else {
@@ -1588,7 +1585,7 @@
}
}
- private static void addPackageElement(Document requestDoc, Element shipmentElement, List shippableItemInfo, Map packageMap, double minWeight) {
+ private static void addPackageElement(Document requestDoc, Element shipmentElement, List<Map<String, Object>> shippableItemInfo, Map<String, Double> packageMap, double minWeight) {
double packageWeight = checkForDefaultPackageWeight(calcPackageWeight(packageMap, shippableItemInfo, 0),minWeight);
Element packageElement = UtilXml.addChildElement(shipmentElement, "Package", requestDoc);
Element packagingTypeElement = UtilXml.addChildElement(packageElement, "PackagingType", requestDoc);
@@ -1599,9 +1596,9 @@
UtilXml.addChildElementValue(packageWeightElement, "Weight", Double.toString(packageWeight), requestDoc);
//If product is in shippable Package then it we should have one product per packagemap
if (packageMap.size() ==1) {
- Iterator i = packageMap.keySet().iterator();
- String productId = (String) i.next();
- Map productInfo = getProductItemInfo(shippableItemInfo, productId);
+ Iterator<String> i = packageMap.keySet().iterator();
+ String productId = i.next();
+ Map<String, Object> productInfo = getProductItemInfo(shippableItemInfo, productId);
if(productInfo.get("inShippingBox") != null && ((String) productInfo.get("inShippingBox")).equalsIgnoreCase("Y")
&& productInfo.get("shippingDepth") !=null && productInfo.get("shippingWidth") !=null && productInfo.get("shippingHeight") !=null ) {
Element dimensionsElement = UtilXml.addChildElement(packageElement, "Dimensions", requestDoc);
@@ -1628,14 +1625,14 @@
return (weight > 0 && weight > minWeight ? weight : minWeight);
}
- private static List getPackageSplit(List shippableItemInfo, double maxWeight) {
+ private static List<Map<String, Double>> getPackageSplit(List<Map<String, Object>> shippableItemInfo, double maxWeight) {
// create the package list w/ the first package
- List packages = FastList.newInstance();
+ List<Map<String, Double>> packages = FastList.newInstance();
if (shippableItemInfo != null) {
- Iterator sii = shippableItemInfo.iterator();
+ Iterator<Map<String, Object>> sii = shippableItemInfo.iterator();
while (sii.hasNext()) {
- Map itemInfo = (Map) sii.next();
+ Map<String, Object> itemInfo = sii.next();
long pieces = ((Long) itemInfo.get("piecesIncluded")).longValue();
double totalQuantity = ((Double) itemInfo.get("quantity")).doubleValue();
double totalWeight = ((Double) itemInfo.get("weight")).doubleValue();
@@ -1651,17 +1648,17 @@
double partialQty = pieces > 1 ? 1.000 / pieces : 1;
for (long x = 0; x < pieces; x++) {
if(itemInfo.get("inShippingBox") != null && ((String) itemInfo.get("inShippingBox")).equalsIgnoreCase("Y")) {
- Map newPackage = FastMap.newInstance();
+ Map<String, Double> newPackage = FastMap.newInstance();
newPackage.put(productId, Double.valueOf(partialQty));
packages.add(newPackage);
} else if (weight >= maxWeight) {
- Map newPackage = FastMap.newInstance();
+ Map<String, Double> newPackage = FastMap.newInstance();
newPackage.put(productId, Double.valueOf(partialQty));
packages.add(newPackage);
} else if (totalWeight > 0) {
// create the first package
if (packages.size() == 0) {
- packages.add(FastMap.newInstance());
+ packages.add(FastMap.<String, Double>newInstance());
}
// package loop
@@ -1669,7 +1666,7 @@
boolean addedToPackage = false;
for (int pi = 0; pi < packageSize; pi++) {
if (!addedToPackage) {
- Map packageMap = (Map) packages.get(pi);
+ Map<String, Double> packageMap = packages.get(pi);
double packageWeight = calcPackageWeight(packageMap, shippableItemInfo, weight);
if (packageWeight <= maxWeight) {
Double qtyD = (Double) packageMap.get(productId);
@@ -1680,7 +1677,7 @@
}
}
if (!addedToPackage) {
- Map packageMap = FastMap.newInstance();
+ Map<String, Double> packageMap = FastMap.newInstance();
packageMap.put(productId, Double.valueOf(partialQty));
packages.add(packageMap);
}
@@ -1692,24 +1689,24 @@
return packages;
}
- private static double calcPackageWeight(Map packageMap, List shippableItemInfo, double additionalWeight) {
+ private static double calcPackageWeight(Map<String, Double> packageMap, List<Map<String, Object>> shippableItemInfo, double additionalWeight) {
double totalWeight = 0.00;
- Iterator i = packageMap.keySet().iterator();
+ Iterator<String> i = packageMap.keySet().iterator();
while (i.hasNext()) {
- String productId = (String) i.next();
- Map productInfo = getProductItemInfo(shippableItemInfo, productId);
+ String productId = i.next();
+ Map<String, Object> productInfo = getProductItemInfo(shippableItemInfo, productId);
double productWeight = ((Double) productInfo.get("weight")).doubleValue();
- double quantity = ((Double) packageMap.get(productId)).doubleValue();
+ double quantity = packageMap.get(productId).doubleValue();
totalWeight += (productWeight * quantity);
}
return totalWeight + additionalWeight;
}
- private static Map getProductItemInfo(List shippableItemInfo, String productId) {
+ private static Map<String, Object> getProductItemInfo(List<Map<String, Object>> shippableItemInfo, String productId) {
if (shippableItemInfo != null) {
- Iterator i = shippableItemInfo.iterator();
+ Iterator<Map<String, Object>> i = shippableItemInfo.iterator();
while (i.hasNext()) {
- Map testMap = (Map) i.next();
+ Map<String, Object> testMap = i.next();
String id = (String) testMap.get("productId");
if (productId.equals(id)) {
return testMap;
@@ -1719,7 +1716,7 @@
return null;
}
- public static Map handleUpsRateInquireResponse(Document rateResponseDocument) {
+ public static Map<String, Object> handleUpsRateInquireResponse(Document rateResponseDocument) {
// process TrackResponse, update data as needed
Element rateResponseElement = rateResponseDocument.getDocumentElement();
@@ -1731,19 +1728,19 @@
String responseStatusCode = UtilXml.childElementValue(responseElement, "ResponseStatusCode");
String responseStatusDescription = UtilXml.childElementValue(responseElement, "ResponseStatusDescription");
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
UpsServices.handleErrors(responseElement, errorList);
if ("1".equals(responseStatusCode)) {
- List rates = UtilXml.childElementList(rateResponseElement, "RatedShipment");
- Map rateMap = FastMap.newInstance();
+ List<? extends Element> rates = UtilXml.childElementList(rateResponseElement, "RatedShipment");
+ Map<String, Double> rateMap = FastMap.newInstance();
Double firstRate = null;
if (rates == null || rates.size() == 0) {
return ServiceUtil.returnError("No rates available at this time");
} else {
- Iterator i = rates.iterator();
+ Iterator<? extends Element> i = rates.iterator();
while (i.hasNext()) {
- Element element = (Element) i.next();
+ Element element = i.next();
// get service
Element service = UtilXml.firstChildElement(element, "Service");
@@ -1755,14 +1752,14 @@
rateMap.put(serviceCode, Double.valueOf(totalString));
if (firstRate == null) {
- firstRate = (Double) rateMap.get(serviceCode);
+ firstRate = rateMap.get(serviceCode);
}
}
}
Debug.log("UPS Rate Map : " + rateMap, module);
- Map resp = ServiceUtil.returnSuccess();
+ Map<String, Object> resp = ServiceUtil.returnSuccess();
resp.put("upsRateCodeMap", rateMap);
resp.put("shippingEstimateAmount", firstRate);
return resp;
@@ -1785,12 +1782,12 @@
return accessRequestDocument;
}
- public static void handleErrors(Element responseElement, List errorList) {
- List errorElements = UtilXml.childElementList(responseElement, "Error");
- Iterator errorElementIter = errorElements.iterator();
+ public static void handleErrors(Element responseElement, List<Object> errorList) {
+ List<? extends Element> errorElements = UtilXml.childElementList(responseElement, "Error");
+ Iterator<? extends Element> errorElementIter = errorElements.iterator();
while (errorElementIter.hasNext()) {
StringBuilder errorMessageBuf = new StringBuilder();
- Element errorElement = (Element) errorElementIter.next();
+ Element errorElement = errorElementIter.next();
String errorSeverity = UtilXml.childElementValue(errorElement, "ErrorSeverity");
String errorCode = UtilXml.childElementValue(errorElement, "ErrorCode");
@@ -1811,10 +1808,10 @@
errorMessageBuf.append(". ");
}
- List errorLocationElements = UtilXml.childElementList(errorElement, "ErrorLocation");
- Iterator errorLocationElementIter = errorLocationElements.iterator();
+ List<? extends Element> errorLocationElements = UtilXml.childElementList(errorElement, "ErrorLocation");
+ Iterator<? extends Element> errorLocationElementIter = errorLocationElements.iterator();
while (errorLocationElementIter.hasNext()) {
- Element errorLocationElement = (Element) errorLocationElementIter.next();
+ Element errorLocationElement = errorLocationElementIter.next();
String errorLocationElementName = UtilXml.childElementValue(errorLocationElement, "ErrorLocationElementName");
String errorLocationAttributeName = UtilXml.childElementValue(errorLocationElement, "ErrorLocationAttributeName");
@@ -1828,10 +1825,10 @@
errorMessageBuf.append("]");
}
- List errorDigestElements = UtilXml.childElementList(errorLocationElement, "ErrorDigest");
- Iterator errorDigestElementIter = errorDigestElements.iterator();
+ List<? extends Element> errorDigestElements = UtilXml.childElementList(errorLocationElement, "ErrorDigest");
+ Iterator<? extends Element> errorDigestElementIter = errorDigestElements.iterator();
while (errorDigestElementIter.hasNext()) {
- Element errorDigestElement = (Element) errorDigestElementIter.next();
+ Element errorDigestElement = errorDigestElementIter.next();
errorMessageBuf.append(" full text: [");
errorMessageBuf.append(UtilXml.elementValue(errorDigestElement));
errorMessageBuf.append("]");
@@ -1903,7 +1900,7 @@
return response;
}
- public static Map upsRateInquireByPostalCode(DispatchContext dctx, Map context) {
+ public static Map<String, Object> upsRateInquireByPostalCode(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
@@ -1917,8 +1914,8 @@
// String shippingContactMechId = (String) context.get("shippingContactMechId");
String shippingPostalCode = (String) context.get("shippingPostalCode");
String shippingCountryCode = (String) context.get("shippingCountryCode");
- List packageWeights = (List) context.get("packageWeights");
- List shippableItemInfo = (List) context.get("shippableItemInfo");
+ List<Double> packageWeights = UtilGenerics.checkList(context.get("packageWeights"));
+ List<Map<String, Object>> shippableItemInfo = UtilGenerics.checkList(context.get("shippableItemInfo"));
Double shippableTotal = (Double) context.get("shippableTotal");
Double shippableQuantity = (Double) context.get("shippableQuantity");
Double shippableWeight = (Double) context.get("shippableWeight");
@@ -2056,9 +2053,9 @@
splitEstimatePackages(rateRequestDoc, shipmentElement, shippableItemInfo, maxWeight, minWeight);
} else {
- Iterator i = packageWeights.iterator();
+ Iterator<Double> i = packageWeights.iterator();
while (i.hasNext()) {
- Double packageWeight = (Double) i.next();
+ Double packageWeight = i.next();
addPackageElement(rateRequestDoc, shipmentElement, packageWeight);
}
}
@@ -2122,7 +2119,7 @@
}
- public static Map upsAddressValidation(DispatchContext dctx, Map context) {
+ public static Map<String, Object> upsAddressValidation(DispatchContext dctx, Map<String, ? extends Object> context) {
String city = (String) context.get("city");
String stateProvinceGeoId = (String) context.get("stateProvinceGeoId");
@@ -2216,26 +2213,26 @@
}
- public static Map handleUpsAddressValidationResponse(Document rateResponseDocument) {
+ public static Map<String, Object> handleUpsAddressValidationResponse(Document rateResponseDocument) {
Element avResponseElement = rateResponseDocument.getDocumentElement();
Element responseElement = UtilXml.firstChildElement(avResponseElement, "Response");
String responseStatusCode = UtilXml.childElementValue(responseElement, "ResponseStatusCode");
- List errorList = FastList.newInstance();
+ List<Object> errorList = FastList.newInstance();
UpsServices.handleErrors(responseElement, errorList);
if ("1".equals(responseStatusCode)) {
- List matches = FastList.newInstance();
+ List<Map<String, String>> matches = FastList.newInstance();
- List avResultList = UtilXml.childElementList(avResponseElement, "AddressValidationResult");
+ List<? extends Element> avResultList = UtilXml.childElementList(avResponseElement, "AddressValidationResult");
// TODO: return error if there are no matches?
if (UtilValidate.isNotEmpty(avResultList)) {
- Iterator i = avResultList.iterator();
+ Iterator<? extends Element> i = avResultList.iterator();
while (i.hasNext()) {
- Element avResultElement = (Element) i.next();
+ Element avResultElement = i.next();
- Map match = FastMap.newInstance();
+ Map<String, String> match = FastMap.newInstance();
match.put("Rank", UtilXml.childElementValue(avResultElement, "Rank"));
match.put("Quality", UtilXml.childElementValue(avResultElement, "Quality"));
@@ -2251,7 +2248,7 @@
}
}
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
result.put("matches", matches);
return result;
} else {
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsMockApiServlet.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsMockApiServlet.java?rev=712918&r1=712917&r2=712918&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsMockApiServlet.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsMockApiServlet.java Mon Nov 10 18:19:19 2008
@@ -91,12 +91,12 @@
return;
}
- List packageElementList = UtilXml.childElementList(requestDocument.getDocumentElement(), "Package");
+ List<? extends Element> packageElementList = UtilXml.childElementList(requestDocument.getDocumentElement(), "Package");
if (UtilValidate.isNotEmpty(packageElementList)) {
Document responseDocument = UtilXml.makeEmptyXmlDocument("RateResponse");
- for (Iterator i = packageElementList.iterator(); i.hasNext();) {
- Element packageElement = (Element) i.next();
+ for (Iterator<? extends Element> i = packageElementList.iterator(); i.hasNext();) {
+ Element packageElement = i.next();
Element responsePackageElement =
UtilXml.addChildElement(responseDocument.getDocumentElement(), "Package", responseDocument);