The handleModifyOrder chain is triggered when a fulfiller receives a ModifyOrder message. Determines whether the modification is valid, performs it if it is valid, and sends out a ModifyOrderNotification message to inform other systems of the changes that were made, or that the changes requested were invalid.

The following sections describe each processor in the pipeline chain.

extractOrderId1

This processor attempts to extract the ID of the order from the OrderId property of the ModifyOrder 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 loadOrder1processor.

loadOrder1

This processor loads the order from the order repository.

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

handleModificationClassType

Determines if the modifications listed in the ModifyOrder message are valid. If so, it calls the appropriate processor chains, and upon conclusion, passes control to the updateOrderRepository1 processor. The only chain that this processor will trigger is performIdTargetModification. If a modification listed is not valid, then the chain moves on to the modificationNotSupported processor.

Transactional mode: TX_MANDATORY

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

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

Transitions: Return value of 1 executes the updateOrderRepository1 processor. Return value of 2 executes the modificationNotSupported processor.

modificationNotSupported

Sets the status of the particular modification to STATUS_FAILED and adds the modification to the list to be sent back in a ModifyOrderNotification message. Control then passes to updateOrderRepository1.

Transactional mode: TX_MANDATORY

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

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

Transitions: Return value of 1 executes the updateOrderRepository1processor.

updateOrderRepository1

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 sendModifyOrderNotification1processor.

sendModifyOrderNotification1

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.fulfillment.processor.ProcSendModifyOrderNotification

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