The handleHardgoodFulfillOrderFragment chain is executed when HardgoodFulfiller receives a FulfillOrderFragment message.

The following sections describe each processor in the pipeline chain.

extractOrderId3

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

Transactional Mode

TX_MANDATORY

Component

/atg/commerce/fulfillment/processor/ExtractOrderId

Object

atg.commerce.fulfillment.processor.ProcExtractOrderId

Transitions

Return value of 1 executes the handleRetrieveOrder1 processor.

handleRetrieveOrder1

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 loadOrder3 processor. If not, then it checks the Boolean LookUpOrderIdFromOrder property of the OrderFulfiller. If true, we move to the loadSaveOrder1 processor. If false, then it throws an InvalidParameterException, and chain execution stops.

Transactional Mode

TX_MANDATORY

Component

/atg/commerce/fulfillment/processor/HandleRetrieveOrder

Object

atg.commerce.fulfillment.processor.ProcHandleRetrievingOrder

Transitions

Return value of 1 executes the loadSaveOrder1 processor. Return value of 2 executes the loadOrder3 processor.

loadSaveOrder1

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 processHardgoodShippingGroupsChain processor.

Transactional Mode

TX_MANDATORY

Component

/atg/commerce/fulfillment/processor/LoadSaveOrderRepository

Object

atg.commerce.fulfillment.processor.
  ProcLoadSaveOrderRepository

Transitions

Return value of 1 executes the processHardgoodShippingGroupsChain processor.

loadOrder3

This processor loads the order from the order repository.

Transactional Mode

TX_MANDATORY

Component

/atg/commerce/fulfillment/processor/LoadOrderRepository

Object

atg.commerce.fulfillment.processor.ProcLoadOrderRepository

Transitions

Return value of 1 executes the processHardgoodShippingGroupsChain processor.

processHardgoodShippingGroupsChain

Iterates through the shipping groups contained in the FulfillOrderFragment message, and runs the processHardgoodShippingGroup chain for each.

Transactional Mode

TX_MANDATORY

Component

/atg/commerce/fulfillment/processor/
  ProcessHardgoodShippingGroupsChain

Object

atg.commerce.pricing.processor.ProcSendScenarioEvent

Transitions

Return value of 1 executes the updateOrderRepository3 processor.

updateOrderRepository3

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

Transactional Mode

TX_MANDATORY

Component

/atg/commerce/fulfillment/processor/
UpdateOrderRepository

Object

atg.commerce.fulfillment.processor.ProcUpdateOrderRepository

Transitions

Return value of 1 executes the sendModifyOrderNotification3 processor.

sendModifyOrderNotification3

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

Transactional Mode

TX_MANDATORY

Component

/atg/commerce/fulfillment/processor/
  SendModifyOrderNotification

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, 2016 Oracle and/or its affiliates. All rights reserved. Legal Notices