atg.b2bcommerce.order.processor
Class ProcValidateCostCentersForCheckout

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.logging.ApplicationLoggingImpl
          extended by atg.b2bcommerce.order.processor.ProcValidateCostCentersForCheckout
All Implemented Interfaces:
ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, PipelineProcessor

public class ProcValidateCostCentersForCheckout
extends ApplicationLoggingImpl
implements PipelineProcessor

This processor validates CostCenters before checking an Order out. If costCenterRequired is set to true, this processor verifies that all CommerceItems, shipping costs, and tax in the Order are assigned to CostCenters. The processor can also be configured to run a specified pipeline chain to validate the properties of each cost center in turn.


Field Summary
static java.lang.String CLASS_VERSION
           
protected  int[] mRetCodes
          Returns the valid return codes.
 
Fields inherited from interface atg.service.pipeline.PipelineProcessor
STOP_CHAIN_EXECUTION, STOP_CHAIN_EXECUTION_AND_COMMIT, STOP_CHAIN_EXECUTION_AND_ROLLBACK
 
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
ProcValidateCostCentersForCheckout()
           
 
Method Summary
 java.lang.String getLoggingIdentifier()
          Returns property LoggingIdentifier.
 int[] getRetCodes()
          Returns an array of all the return codes that could be returned by this PipelineProcessor.
 java.lang.String getValidateCostCenterChain()
          Get the name of the pipeline chain to run to validate each individual cost center.
 boolean isCostCenterRequired()
          Query whether all items must be assigned a cost center, or whether cost centers are optional.
 int runProcess(java.lang.Object pParam, PipelineResult pResult)
          When costCenterRequired is true, this method checks to see if all the CommerceItems, shipping costs, and tax in the Order are assigned to CostCenters.
 void setCostCenterRequired(boolean pCostCenterRequired)
          Specify whether all items must be assigned a cost center, or whether cost centers are optional.
 void setLoggingIdentifier(java.lang.String pLoggingIdentifier)
          Sets property LoggingIdentifier.
 void setValidateCostCenterChain(java.lang.String pValidateCostCenterChain)
          Set the name of the pipeline chain to run to validate each individual cost center.
protected  void validateCostCenters(B2BOrder pOrder, OrderManager pOrderManager, java.util.Locale pLocale, PipelineResult pResult)
          Run the optional cost center validation chain, if one exists, for each non-empty cost center.
 
Methods inherited from class atg.nucleus.logging.ApplicationLoggingImpl
addGlobalLogListeners, addLogListener, getLoggingForVlogging, getLoggingIdentifer, getLogListenerCount, getLogListeners, initializeFromServiceEvent, isAutoInitListeners, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, removeLogListener, sendLogEvent, setAutoInitListeners, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning
 
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

mRetCodes

protected int[] mRetCodes
Returns the valid return codes. This processor always returns a status of 1 indicating successful completion.

Constructor Detail

ProcValidateCostCentersForCheckout

public ProcValidateCostCentersForCheckout()
Method Detail

getRetCodes

public int[] getRetCodes()
Description copied from interface: PipelineProcessor
Returns an array of all the return codes that could be returned by this PipelineProcessor.

Specified by:
getRetCodes in interface PipelineProcessor
Returns:
an array of all the return codes that could be returned by this PipelineProcessor.

setValidateCostCenterChain

public void setValidateCostCenterChain(java.lang.String pValidateCostCenterChain)
Set the name of the pipeline chain to run to validate each individual cost center. If the chain name is set to null or the named chain does not exist, no per-cost-center validation is performed. By default the chain name is set to "validateCostCenter", but the chain itself is not defined.


getValidateCostCenterChain

public java.lang.String getValidateCostCenterChain()
Get the name of the pipeline chain to run to validate each individual cost center.


setLoggingIdentifier

public void setLoggingIdentifier(java.lang.String pLoggingIdentifier)
Sets property LoggingIdentifier.

Overrides:
setLoggingIdentifier in class ApplicationLoggingImpl

getLoggingIdentifier

public java.lang.String getLoggingIdentifier()
Returns property LoggingIdentifier.

Overrides:
getLoggingIdentifier in class ApplicationLoggingImpl

setCostCenterRequired

public void setCostCenterRequired(boolean pCostCenterRequired)
Specify whether all items must be assigned a cost center, or whether cost centers are optional.


isCostCenterRequired

public boolean isCostCenterRequired()
Query whether all items must be assigned a cost center, or whether cost centers are optional.


runProcess

public int runProcess(java.lang.Object pParam,
                      PipelineResult pResult)
               throws java.lang.Exception
When costCenterRequired is true, this method checks to see if all the CommerceItems, shipping costs, and tax in the Order are assigned to CostCenters. It can also run an optional pipeline chain to validate the properties of each individual cost center.

This method requires that an Order, an OrderManager, and optionally a Locale object be supplied in pParam in a HashMap. Use the B2BPipelineConstants class static members to key the objects in the HashMap.

Specified by:
runProcess in interface PipelineProcessor
Parameters:
pParam - a HashMap which must contain an Order, an OrderManager, and optionally a Locale object
pResult - a PipelineResult object which stores any information which must be returned from this method invokation
Returns:
an integer specifying the processor's return code
Throws:
java.lang.Exception - throws any exception back to the caller
See Also:
PipelineProcessor.runProcess(Object, PipelineResult)

validateCostCenters

protected void validateCostCenters(B2BOrder pOrder,
                                   OrderManager pOrderManager,
                                   java.util.Locale pLocale,
                                   PipelineResult pResult)
                            throws RunProcessException
Run the optional cost center validation chain, if one exists, for each non-empty cost center.

Throws:
RunProcessException