|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectatg.commerce.fulfillment.HardgoodFulfillerModificationHandler
public class HardgoodFulfillerModificationHandler
The HardgoodFulfillerModificationHandler deals with the ModifyOrder and ModifyOrderNotifications messages received by the HardgoodFulfiller. The HardgoodFulfiller contains a ModificationHandler property, which is set by default to the HardgoodFulfillerModificationHandler. This class is similar to the OrderFulfillerModificationHandler.
To change the handling behavior of ModifyOrder and ModifyOrderNotification messages, extend the HardgoodFulfillerModificationHandler class and change the ModificationHandler property HardgoodFulfiller to point to the new class.
The default implementation deals with the following ModifyOrder modification: Remove the shipping group from the order: The fulfillers can remove shipping groups if they have not been shipped. Determining whether a shipping group has been shipped can be difficult because of the asynchronous nature of shipping items. Consulting the states may not be enough to determine if the group has been shipped. DCS 5.0 consults the state to make sure that it isn't in a NO_PENDING_ACTION or REMOVED state. This is sufficient because out-of-the box there is no integration with a real warehouse so shipment is indicated by changing a set of states in the order repository. Some vendors might decide to create business rules that limit the time in which cancellations can occur because it is difficult to determine the exact shipping time for a shipping group. Ship the shipping group. The HardgoodFulfiller can be notified that a shipping group has shipped through a ModifyOrder message (which is originally sent to the OrderFulfiller, then forwarded to the HardgoodFulfiller). The HardgoodFulfiller gets a GenericUpdate modification through the ModifyOrder message, checks the current state of the shipping group to ensure that it is PENDING_SHIPMENT. If everything is fine, it sets the state to NO_PENDING_ACTION and notifies the rest of the system of the change with a ModifyOrderNotification message.
It also handles the following ModifyOrderNotification modification: Shipping group update A shipping group is re-processed when the method processMultipleShippingGroups in HardgoodFulfiller is called. This method is called when a modification of type SHIPPING_GROUP_UPDATE is received. Created: Mon Jan 24 14:36:40 2000
Field Summary | |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string |
Constructor Summary | |
---|---|
HardgoodFulfillerModificationHandler()
|
Method Summary | |
---|---|
java.util.Properties |
getChainToRunMap()
|
HardgoodFulfiller |
getHardgoodFulfiller()
The fulfiller object that this class handles modifications for |
protected void |
handleIdTargetModification(ModifyOrderNotification pMessage,
Order pOrder,
IdTargetModification pModification,
java.util.List pModificationList)
Deprecated. Replaced by the pipeline processor |
protected void |
handleItemModification(ModifyOrderNotification pMessage,
Order pOrder,
Modification pModification,
java.util.List pPerformedModifications)
Deprecated. Replaced by the pipeline processor |
void |
handleModifyOrder(java.lang.String pPortName,
javax.jms.ObjectMessage pMessage)
This method is called to handle all messages of type ModifyOrder. |
void |
handleModifyOrderNotification(java.lang.String pPortName,
javax.jms.ObjectMessage pMessage)
This method is called to handle all messages of type ModifyOrderNotification. |
protected void |
handleOrderModification(ModifyOrderNotification pMessage,
Order pOrder,
java.util.List pOModifications,
java.util.List pPerformedModifications)
Deprecated. Replaced by the pipeline processor |
protected void |
handleRelationshipModification(ModifyOrderNotification pMessage,
Order pOrder,
Modification pModification,
java.util.List pPerformedModifications)
Deprecated. Replaced by the pipeline processor |
protected void |
handleShippingGroupModification(ModifyOrderNotification pMessage,
Order pOrder,
Modification pModification,
java.util.List pPerformedModifications)
Deprecated. Replaced by the pipeline processor |
protected void |
handleShippingGroupUpdateModification(ModifyOrderNotification pMessage,
Order pOrder,
ShippingGroupUpdate pModification,
java.util.List pPerformedModifications)
Deprecated. Replaced by the pipeline processor |
protected void |
performOrderModification(ModifyOrder pMessage,
Order pOrder,
java.util.List pModifications,
java.util.List pPerformedModifications)
Deprecated. Replaced by the pipeline processor |
void |
setChainToRunMap(java.util.Properties pChainToRunMap)
|
void |
setHardgoodFulfiller(HardgoodFulfiller pHardgoodFulfiller)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static java.lang.String CLASS_VERSION
Constructor Detail |
---|
public HardgoodFulfillerModificationHandler()
Method Detail |
---|
public void setHardgoodFulfiller(HardgoodFulfiller pHardgoodFulfiller)
public HardgoodFulfiller getHardgoodFulfiller()
public java.util.Properties getChainToRunMap()
public void setChainToRunMap(java.util.Properties pChainToRunMap)
public void handleModifyOrder(java.lang.String pPortName, javax.jms.ObjectMessage pMessage) throws javax.jms.JMSException
This method is called to handle all messages of type ModifyOrder. Should developers wish to change the behavior of the HardgoodFulfiller class on handling a ModifyOrder message this method should be overridden. This method calls various methods to respond to the ModifyOrder requests. Modifications on orders are ignored since the HardgoodFulfiller does not have the authority to edit orders.
handleModifyOrder
in interface ModificationHandler
pPortName
- The port from which this message was received.pMessage
- The message that was received.
javax.jms.JMSException
ModifyOrder
,
performShippingGroupModification(atg.commerce.fulfillment.ModifyOrder, atg.commerce.order.Order, atg.commerce.fulfillment.Modification, java.util.List)
,
performItemModification(atg.commerce.fulfillment.ModifyOrder, atg.commerce.order.Order, atg.commerce.fulfillment.Modification, java.util.List)
,
performRelationshipModification(atg.commerce.fulfillment.ModifyOrder, atg.commerce.order.Order, atg.commerce.fulfillment.Modification, java.util.List)
,
IdTargetModification.getTargetType()
,
Modification
public void handleModifyOrderNotification(java.lang.String pPortName, javax.jms.ObjectMessage pMessage) throws javax.jms.JMSException
This method is called to handle all messages of type ModifyOrderNotification. Should developers wish to change the behavior of the HardgoodFulfiller class on handling a ModifyOrderNotification message this method should be overridden. Currently only one modification type is handled by this method. If it is an IdTargetModification then handleIdTargetModification is called.
handleModifyOrderNotification
in interface ModificationHandler
pPortName
- The port from which this message was received.pMessage
- The message that was received.
javax.jms.JMSException
ModifyOrderNotification
,
handleShippingGroupUpdateModification(atg.commerce.fulfillment.ModifyOrderNotification, atg.commerce.order.Order, atg.commerce.fulfillment.ShippingGroupUpdate, java.util.List)
,
handleIdTargetModification(atg.commerce.fulfillment.ModifyOrderNotification, atg.commerce.order.Order, atg.commerce.fulfillment.IdTargetModification, java.util.List)
,
ShippingGroupUpdate
protected void handleShippingGroupUpdateModification(ModifyOrderNotification pMessage, Order pOrder, ShippingGroupUpdate pModification, java.util.List pPerformedModifications)
pMessage
- The ModifyOrderNotification receivedpOrder
- The order that was modifiedpModification
- The modification containing the shipping group ids that were updatedpPerformedModifications
- All new modifications are stored here.HardgoodFulfiller.processMultipleShippingGroups(atg.commerce.order.Order, java.lang.String[], java.util.List)
protected void performOrderModification(ModifyOrder pMessage, Order pOrder, java.util.List pModifications, java.util.List pPerformedModifications)
pMessage
- the ModifyOrder message that was sentpOrder
- the Order on which the modifications are to be performedpModifications
- the order level modifications to be madepPerformedModifications
- a list to which the modifications made in this method are addedprotected void handleIdTargetModification(ModifyOrderNotification pMessage, Order pOrder, IdTargetModification pModification, java.util.List pModificationList) throws javax.jms.JMSException
javax.jms.JMSException
IdTargetModification
,
ModifyOrderNotification
,
handleShippingGroupModification(atg.commerce.fulfillment.ModifyOrderNotification, atg.commerce.order.Order, atg.commerce.fulfillment.Modification, java.util.List)
,
handleItemModification(atg.commerce.fulfillment.ModifyOrderNotification, atg.commerce.order.Order, atg.commerce.fulfillment.Modification, java.util.List)
,
handleRelationshipModification(atg.commerce.fulfillment.ModifyOrderNotification, atg.commerce.order.Order, atg.commerce.fulfillment.Modification, java.util.List)
,
Modification
protected void handleOrderModification(ModifyOrderNotification pMessage, Order pOrder, java.util.List pOModifications, java.util.List pPerformedModifications)
pMessage
- the ModifyOrderNotification message that was sentpOrder
- the Order object on which the modifications had been performedpModifications
- the order level modifications to be madepPerformedModifications
- a list to which the modifications made in this method are addedprotected void handleShippingGroupModification(ModifyOrderNotification pMessage, Order pOrder, Modification pModification, java.util.List pPerformedModifications)
pMessage
- the ModifyOrderNotification message that was sentpOrder
- the Order object on which the modifications had been performedpModifications
- the order level modifications to be madepPerformedModifications
- a list to which the modifications made in this method are addedprotected void handleItemModification(ModifyOrderNotification pMessage, Order pOrder, Modification pModification, java.util.List pPerformedModifications)
pMessage
- the ModifyOrderNotification message that was sentpOrder
- the Order object on which the modifications had been performedpModifications
- the order level modifications to be madepPerformedModifications
- a list to which the modifications made in this method are addedprotected void handleRelationshipModification(ModifyOrderNotification pMessage, Order pOrder, Modification pModification, java.util.List pPerformedModifications)
pMessage
- the ModifyOrderNotification message that was sentpOrder
- the Order object on which the modifications had been performedpModifications
- the order level modifications to be madepPerformedModifications
- a list to which the modifications made in this method are added
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |