The handleElectronicsFulfillOrderFragment chain is executed when a ElectronicFulfiller receives a FulfillOrderFragment message.

The following sections describe each processor in the pipeline chain.

extractOrderId6

This processor attempts to extract the ID of the order from the OrderId property of the FulfillOrderFragment message.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/ExtractOrderId

PipelineProcessor object: atg.commerce.fulfillment.processor.ProcExtractOrderId

Transitions: Return value of 1 executes the handleRetrieveOrder2 processor.

handleRetrieveOrder2

This processor determines the method by which the Order should be loaded. If the order ID was successfully extracted in the extractOrderId processor, then we move to the loadOrder8 processor. If not, then it checks the Boolean LookUpOrderIdFromOrder property of the OrderFulfiller. If true, we move to the loadSaveOrder2 processor. If false, then it throws an InvalidParameterException, and chain execution stops.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/HandleRetrieveOrder

PipelineProcessor object: atg.commerce.fulfillment.processor.ProcHandleRetrievingOrder

Transitions: Return value of 1 executes the loadSaveOrder2 processor. Return value of 2 executes the loadOrder8 processor.

loadSaveOrder2

This processor checks to see if the Order exists in the order repository, using the OrderExists method of OrderManager, and using the ID of the serialized order within the FulfillOrderFragment message as the parameter. If the order exists, the processor loads the order. If it does not, then fulfillment is using a different repository than the order placement system. The processor then saves the order from the message into the repository. In either case, the chain then moves to the processElectronicShippingGroupsChain processor.

loadOrder8

This processor loads the order from the repository. Control then passes to processElectronicShippingGroupsChain.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/LoadOrderRepository

PipelineProcessor object: atg.commerce.fulfillment.processor.ProcLoadOrderRepository

Transitions: Return value of 1 executes the processElectronicShippingGroupsChain processor.

processElectronicShippingGroupsChain

This processor iterates through the shipping groups contained in the FulfillOrderFragment message, and runs the processElectronicShippingGroup chain for each.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/ProcessElectronicShippingGroupsChain

PipelineProcessor object: atg.commerce.pricing.processor.ProcSendScenarioEvent

Transitions: Return value of 1 executes the updateOrderRepository8 processor.

updateOrderRepository8

This processor updates the order in the repository with any changes that may have been made during the execution of this chain.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/UpdateOrderRepository

PipelineProcessor object: atg.commerce.fulfillment.processor.ProcUpdateOrderRepository

Transitions: Return value of 1 executes the sendModifyOrderNotification8 processor.

sendModifyOrderNotification8

This processor sends a ModifyOrderNotification message with the list of modifications performed during the execution of this chain using JMS.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/SendModifyOrderNotification

PipelineProcessor object: atg.commerce.pricing.processor.ProcSendScenarioEvent

Transitions: None. This is the last link in the chain and causes the PipelineManager to return to the caller.


Copyright © 1997, 2012 Oracle and/or its affiliates. All rights reserved.

Legal Notices