atg.projects.store.fulfillment
Class StoreOrderFulfiller

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.commerce.messaging.SourceSinkTemplate
              extended by atg.commerce.fulfillment.FulfillerSystem
                  extended by atg.commerce.fulfillment.OrderFulfiller
                      extended by atg.projects.store.fulfillment.StoreOrderFulfiller
All Implemented Interfaces:
atg.dms.patchbay.MessageSink, atg.dms.patchbay.MessageSource, atg.naming.NameContextBindingListener, atg.naming.NameContextElement, atg.naming.NameResolver, atg.nucleus.AdminableService, atg.nucleus.logging.ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, atg.nucleus.naming.ComponentNameResolver, atg.nucleus.Service, atg.nucleus.ServiceListener, java.util.EventListener

public class StoreOrderFulfiller
extends atg.commerce.fulfillment.OrderFulfiller

This fulfiller extends the core Commerce order fulfiller to handle SettleElectronicGoods messages.

See Also:
OrderFulfiller, FulfillerSystem

Field Summary
static java.lang.String CLASS_VERSION
          Class version string.
 
Fields inherited from class atg.commerce.fulfillment.FulfillerSystem
mModifyOrderNotificationPort, mModifyOrderPort, NUCLEUS_NAME
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
StoreOrderFulfiller()
           
 
Method Summary
 java.io.Serializable getKeyForMessage(javax.jms.ObjectMessage oMessage)
          This method will return the key to be used for locking out other messages with the same key while a thread is handling this message.
 void handleNewMessageType(java.lang.String pPortName, javax.jms.ObjectMessage pMessage)
          This method is called to handle all messages not handled by the base handle methods.
 void handleSettleElectronicGoods(java.lang.String pPortName, javax.jms.ObjectMessage pMessage)
           This method is called to handle all messages of type SettleElectronicGoods.
 
Methods inherited from class atg.commerce.fulfillment.OrderFulfiller
finishOrder, getChainToRunMap, getModificationHandler, getOrderIdFromMessage, handleMessage, handleSubmitOrder, isAllowRemoveOrderWithPendingShipment, isSettleOnFirstShipment, loadOrder, retrieveShippingGroupsToBeSplit, sendOrderToFulfiller, setAllowRemoveOrderWithPendingShipment, setChainToRunMap, setModificationHandler, setSettleOnFirstShipment, setShippingGroupStateProcessing, setShippingGroupSubmittedDate, settleOrder, splitShippingGroups, updateOrder, verifyOrderFulfillment
 
Methods inherited from class atg.commerce.fulfillment.FulfillerSystem
doStartService, getClientLockManager, getCommerceItemStates, getFulfillmentPipelineManager, getLookUpOrderIdFromMessage, getLookUpOrderIdFromOrder, getModifyOrderNotificationPort, getModifyOrderPort, getOrderFulfillmentTools, getOrderManager, getOrderStates, getPaymentGroupStates, getPaymentManager, getShipItemRelationshipStates, getShippingGroupStates, receiveMessage, setClientLockManager, setCommerceItemStates, setFulfillmentPipelineManager, setLookUpOrderIdFromMessage, setLookUpOrderIdFromOrder, setModifyOrderNotificationPort, setModifyOrderPort, setOrderFulfillmentTools, setOrderManager, setOrderStates, setPaymentGroupStates, setPaymentManager, setShipItemRelationshipStates, setShippingGroupStates
 
Methods inherited from class atg.commerce.messaging.SourceSinkTemplate
getDelayOnSendRetry, getMessageSourceContext, getMessageSourceName, getTransactionManager, isAllowMessageSending, sendCommerceMessage, sendObjectMessage, setAllowMessageSending, setDelayOnSendRetry, setMessageSourceContext, setMessageSourceName, setTransactionManager, startMessageSource, stopMessageSource
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string.

Constructor Detail

StoreOrderFulfiller

public StoreOrderFulfiller()
Method Detail

getKeyForMessage

public java.io.Serializable getKeyForMessage(javax.jms.ObjectMessage oMessage)
                                      throws javax.jms.JMSException
This method will return the key to be used for locking out other messages with the same key while a thread is handling this message.

Overrides:
getKeyForMessage in class atg.commerce.fulfillment.OrderFulfiller
Parameters:
oMessage - - the ObjectMessage containing the CommerceMessage.
Returns:
an Object which serves as the key for the message
Throws:
javax.jms.JMSException - is message error occurs

handleNewMessageType

public void handleNewMessageType(java.lang.String pPortName,
                                 javax.jms.ObjectMessage pMessage)
                          throws javax.jms.JMSException
This method is called to handle all messages not handled by the base handle methods.

Overrides:
handleNewMessageType in class atg.commerce.fulfillment.FulfillerSystem
Parameters:
pPortName - - the port on which this message was received
pMessage - - an ObjectMessage which will contain a CommerceMessage as an object
Throws:
javax.jms.JMSException - is thrown on a failure to send a message

handleSettleElectronicGoods

public void handleSettleElectronicGoods(java.lang.String pPortName,
                                        javax.jms.ObjectMessage pMessage)
                                 throws javax.jms.JMSException

This method is called to handle all messages of type SettleElectronicGoods. It will call a pipeline chain to process the message. The processing is similar to SubmitOrder, but only electronic shipping groups are processed.

Parameters:
pPortName - - the port on which this message is received
pMessage - - the object message which should contain a SettleElectronicGoods message
Throws:
javax.jms.JMSException - is thrown on a failure to send a message
See Also:
OrderFulfiller.handleSubmitOrder(java.lang.String, javax.jms.ObjectMessage)