Class FedExShippingProcessor

All Implemented Interfaces:
BusinessObject, BusinessProcessor, ShippingProcessor

public class FedExShippingProcessor extends BaseShippingProcessor implements ShippingProcessor
Connects to the FedEx server for live online rates. Sends Web Service rate requests to the FedEx server and reads the responses from it. From the response, it builds a set of shipping options which get presented to the customer during checkout.
Author:
David Tobey
See Also:
  • Field Details

    • log

      static org.apache.commons.logging.Log log
  • Constructor Details

    • FedExShippingProcessor

      public FedExShippingProcessor()
  • Method Details

    • loadShippingOptions

      public Collection loadShippingOptions() throws Exception
      Specified by:
      loadShippingOptions in class BaseShippingProcessor
      Throws:
      Exception
    • processShipping

      public int processShipping() throws Exception
      Specified by:
      processShipping in class BaseShippingProcessor
      Throws:
      Exception
    • requestRates

      public Map requestRates(Map parameters) throws Exception
      Throws:
      Exception
    • buildRateRequest

      private com.fedex.rate.stub.RateRequest buildRateRequest(Map parameters)
    • buildRequestedShipment

      public com.fedex.rate.stub.RequestedShipment buildRequestedShipment(Map parameters)
    • createTimestampWithOffsetWorkaround

      protected Calendar createTimestampWithOffsetWorkaround()
    • createTimestamp

      protected Calendar createTimestamp(boolean doOffsetWorkaround)
    • createDropoffType

      protected com.fedex.rate.stub.DropoffType createDropoffType()
    • createPackagingType

      protected com.fedex.rate.stub.PackagingType createPackagingType()
    • createShipperParty

      protected com.fedex.rate.stub.Party createShipperParty(Map parameters)
    • createRecipientParty

      protected com.fedex.rate.stub.Party createRecipientParty(Map parameters)
    • createShippingChargesPayment

      protected com.fedex.rate.stub.Payment createShippingChargesPayment()
    • createSignatureOption

      protected com.fedex.rate.stub.PackageSpecialServicesRequested createSignatureOption()
    • createPackages

      protected Collection createPackages(Map parameters)
    • createPackage

      public com.fedex.rate.stub.RequestedPackageLineItem createPackage(Map parameters, OrderShippingRule osr, int count)
    • createSmartPostShipmentDetail

      public com.fedex.rate.stub.SmartPostShipmentDetail createSmartPostShipmentDetail(String fedexSmartPostIndiciaType, String fedexSmartPostHubId)
    • processRateResponse

      private Map processRateResponse(Map parameters, com.fedex.rate.stub.RateReply reply) throws Exception
      Throws:
      Exception
    • isResponseOk

      private boolean isResponseOk(com.fedex.rate.stub.NotificationSeverityType notificationSeverityType)
    • isResponseBenignError

      protected boolean isResponseBenignError(com.fedex.rate.stub.RateReply reply)
    • createClientDetail

      private com.fedex.rate.stub.ClientDetail createClientDetail()
    • createWebAuthenticationDetail

      private com.fedex.rate.stub.WebAuthenticationDetail createWebAuthenticationDetail()
    • processErrors

      private Map processErrors(com.fedex.rate.stub.Notification[] notifications)
    • updateEndPoint

      private void updateEndPoint(com.fedex.rate.stub.RateServiceLocator serviceLocator)
    • isInCommaSeparatedString

      public boolean isInCommaSeparatedString(String value, String commaSeparatedString)
    • doGlobalExtraCharge

      public Collection doGlobalExtraCharge(Collection mergedRates)
    • missingRequiredSettings

      public String missingRequiredSettings()
    • lookUpNameFromCode

      public String lookUpNameFromCode(String code)
    • deliveryDateFromTransitTimeType

      protected String deliveryDateFromTransitTimeType(com.fedex.rate.stub.TransitTimeType transitTimeType)
    • transitTimeIntFromTransitTimeType

      protected int transitTimeIntFromTransitTimeType(com.fedex.rate.stub.TransitTimeType transitTimeType)