The refreshOrder pipeline chain reloads an Order from the repository. The Order object is supplied as a parameter. The refreshOrder pipeline chain is not executed explicitly, but rather by the Commerce components. The pipeline chain’s transaction mode is TX_REQUIRED.

The following list describes each processor in the pipeline chain:

  1. PipelineLink Name:loadOrderObjectForRefresh
    This processor takes an existing Order object and reloads the properties from the repository into it. It also loads all the supporting objects, such as CommerceItem, ShippingGroup, etc.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadOrderObject
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadOrderObject
    Transitions: return value of 1 will execute loadCommerceItemObjects next

  2. PipelineLink Name:loadCommerceItemObjects
    This processor constructs a new CommerceItem object for each item it loads and loads the properties from the repository into it. It then adds the object to the Order.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadCommerceItemObjects
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadCommerceItemObjects
    Transitions: return value of 1 will execute loadShippingGroupObjects next

  3. PipelineLink Name:loadShippingGroupObjects
    This processor constructs a new ShippingGroup object for each item it loads and loads the properties from the repository into it. It then adds the object to the Order.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadShippingGroupObjects
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadShippingGroupObjects
    Transitions: return value of 1 will execute loadHandlingInstructionsObjects next

  4. PipelineLink Name:loadHandlingInstructionsObjects
    This processor constructs a new HandlingInstruction object for each ShippingGroup that was loaded in the previous processor and loads the properties from the repository into it. It then adds the object to the ShippingGroup to which it belongs.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadHandlingInstructionObjects
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadHandlingInstructionObjects
    Transitions: return value of 1 will execute loadPaymentGroupObjects next

  5. PipelineLink Name:loadPaymentGroupObjects
    This processor constructs a new PaymentGroup object for each item it loads and loads the properties from the repository into it. It then adds the object to the Order.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadPaymentGroupObjects
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadPaymentGroupObjects
    Transitions: return value of 1 will execute loadPaymentStatusObjects next

  6. PipelineLink Name:loadPaymentStatusObjects
    This processor constructs a new PaymentStatus object for each PaymentGroup that was loaded in the previous processor and loads the properties from the repository into it. It then adds the object to the PaymentGroup to which it belongs.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadPaymentStatusObjects
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadPaymentStatusObjects
    Transitions: return value of 1 will execute loadRelationshipObjects next

  7. PipelineLink Name:loadRelationshipObjects
    This processor constructs a new Relationship object for each item it loads and loads the properties from the repository into it. It then adds the object to the Order.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadRelationshipObjects
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadRelationshipObjects
    Transitions: return value of 1 will execute loadPriceInfoObjects next

  8. PipelineLink Name:loadPriceInfoObjects
    This processor constructs a new OrderPriceInfo, TaxPriceInfo, ShippingPriceInfo, or ItemPriceInfo object for each item it loads and loads the properties from the repository into it. It then sets the PriceInfo to the corresponding object in the Order.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/LoadPriceInfoObjects
    PipelineProcessor object:atg.commerce.order.processor.ProcLoadPriceInfoObjects
    Transitions: return value of 1 will execute setCatalogRefs next

  9. PipelineLink Name:setCatalogRefs
    This processor sets the catalogRef property in the auxiliaryData object in the CommerceItem. It does this by loading the RepositoryItem object using the catalogRefId in the auxiliaryData object. Additionally, if SetCatalogRefs.substituteRemovedSku is true, this processor replaces all deleted SKUs in the Order with the “dummy” SKU defined by SetCatalogRefs.substituteDeletedSkuId. For more information, see
    Refreshing Orders in the Configuring Purchase Process Services chapter.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/SetCatalogRefs
    PipelineProcessor object:atg.commerce.order.processor.ProcSetCatalogRefs
    Transitions: Return value of 1 executes setProductRefs next.

  10. PipelineLink Name:setProductRefs
    This processor sets the productRef property in the auxiliaryData object in the CommerceItem. It does this by loading the RepositoryItem object using the productId in the auxiliaryData object. Additionally, if SetProductRefs.substituteRemovedProduct is true, this processor replaces all deleted products in the Order with the “dummy” product defined by SetProductRefs.substituteDeletedProductId. For more information, see Refreshing Orders in the Configuring Purchase Process Services chapter.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/SetProductRefs
    PipelineProcessor object:atg.commerce.order.processor.ProcSetProductRefs
    Transitions: Return value of 1 executes removeExpiredCommerceItems next.

  11. PipelineLink Name:removeExpiredCommerceItems
    Used in conjunction with SetCatalogRefs and SetProductRefs. If the state of the Order is one that is defined in RemoveExpiredCommerceItems.openOrderStates, this processor removes from the Order any CommerceItem that contains a “dummy” SKU or product that was substituted by SetCatalogRefs or SetProductRefs. A “dummy” SKU is automatically removed. A “dummy” product is removed only if RemoveExpiredCommerceItems.removeItemsWithDeletedProducts is set to true; the default is true. For more information, see Refreshing Orders in the Configuring Purchase Process Services chapter.
    Transactional mode: TX_MANDATORY
    Nucleus component:/atg/commerce/order/processor/RemoveExpiredCommerceItems
    PipelineProcessor object:atg.commerce.order.processor.ProcRemoveExpiredCommerceItems
    Transitions: None, this is the last link in the chain; it causes the PipelineManager to return to the caller.

 
loading table of contents...