atg.b2bcommerce.order.processor
Class ProcValidateInvoiceRequest

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

public class ProcValidateInvoiceRequest
extends ApplicationLoggingImpl
implements PipelineProcessor

Validate a single instance of the InvoiceRequest payment group at checkout time. This processor verifies that all required fields in an InvoiceRequest are present and that they have acceptable values, to the extent that this can be determined in a generic way.


Field Summary
static java.lang.String CLASS_VERSION
           
protected  int[] mRetCodes
           
 
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
ProcValidateInvoiceRequest()
           
 
Method Summary
protected  void addHashedError(PipelineResult pResult, java.lang.String pKey, java.lang.String pId, java.lang.Object pError)
          This method adds an error to the PipelineResult object.
 BillingAddrValidator getBillingAddressValidator()
           
 int getInvoiceRequestValidationMode()
          Queries the mode to use for validating an invoice request.
 java.lang.String getLoggingIdentifier()
          Return the LoggingIdentifier used in log messages.
 int[] getRetCodes()
          Returns an array of all the return codes that could be returned by this PipelineProcessor.
 boolean isEmpty(java.lang.String pStr)
          Return true if pStr is null or consists entirely of whitespace.
 int runProcess(java.lang.Object pParam, PipelineResult pResult)
          Verify that all required properties are provided in an instance of InvoiceRequest.
 void setBillingAddressValidator(BillingAddrValidator pBillingAddressValidator)
           
 void setInvoiceRequestValidationMode(int pInvoiceRequestValidationMode)
          Specifies the mode to use for validating an invoice request.
 void setLoggingIdentifier(java.lang.String pLoggingIdentifier)
          Set the LoggingIdentifier used in log messages.
protected  void validateBillingAddressFields(InvoiceRequest pPayment, PipelineResult pResult, java.util.Locale pLocale)
          Validate the billing address in an invoice request.
protected  void validateInvoiceRequestFields(InvoiceRequest pPayment, PipelineResult pResult, java.util.ResourceBundle pResources)
          Validate the properties specific to an invoice request based on the InvoiceRequestValidationMode property.
 
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
Constructor Detail

ProcValidateInvoiceRequest

public ProcValidateInvoiceRequest()
Method Detail

setLoggingIdentifier

public void setLoggingIdentifier(java.lang.String pLoggingIdentifier)
Set the LoggingIdentifier used in log messages.

Overrides:
setLoggingIdentifier in class ApplicationLoggingImpl

getLoggingIdentifier

public java.lang.String getLoggingIdentifier()
Return the LoggingIdentifier used in log messages.

Overrides:
getLoggingIdentifier in class ApplicationLoggingImpl

setBillingAddressValidator

public void setBillingAddressValidator(BillingAddrValidator pBillingAddressValidator)

getBillingAddressValidator

public BillingAddrValidator getBillingAddressValidator()

setInvoiceRequestValidationMode

public void setInvoiceRequestValidationMode(int pInvoiceRequestValidationMode)
Specifies the mode to use for validating an invoice request. The following modes are supported: The default mode is 0.


getInvoiceRequestValidationMode

public int getInvoiceRequestValidationMode()
Queries the mode to use for validating an invoice request.


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.

runProcess

public int runProcess(java.lang.Object pParam,
                      PipelineResult pResult)
               throws java.lang.Exception
Verify that all required properties are provided in an instance of InvoiceRequest.

Specified by:
runProcess in interface PipelineProcessor
Parameters:
pParam - an optional user parameter
pResult - the PipelineResult object which is used to return errors or other data
Returns:
an integer value which is mapped to the next processor to execute. STOP_CHAIN_EXECUTION will notify the PipelineManager to stop execution. An unmapped value will throw a RunProcessException.
Throws:
java.lang.Exception

validateInvoiceRequestFields

protected void validateInvoiceRequestFields(InvoiceRequest pPayment,
                                            PipelineResult pResult,
                                            java.util.ResourceBundle pResources)
Validate the properties specific to an invoice request based on the InvoiceRequestValidationMode property.

Parameters:
pPayment - The InvoiceRequest payment group being checked
pResult - The PipelineResult object containing a HashMap of error messages
pResources - The resource bundle to use when looking up error message strings

validateBillingAddressFields

protected void validateBillingAddressFields(InvoiceRequest pPayment,
                                            PipelineResult pResult,
                                            java.util.Locale pLocale)
Validate the billing address in an invoice request.

Parameters:
pPayment - The InvoiceRequest payment group being checked
pResult - The PipelineResult object containing a HashMap of error messages
pLocale - The locale that the billing address validator component should use to look up error messages.

isEmpty

public boolean isEmpty(java.lang.String pStr)
Return true if pStr is null or consists entirely of whitespace.


addHashedError

protected void addHashedError(PipelineResult pResult,
                              java.lang.String pKey,
                              java.lang.String pId,
                              java.lang.Object pError)
This method adds an error to the PipelineResult object. This method, rather than just storing a single error object in pResult, stores a Map of errors. This allows more than one error to be stored using the same key in the pResult object. pKey is used to reference a HashMap of errors in pResult. So, calling pResult.getError(pKey) will return an object which should be cast to a Map. Each entry within the map is keyed by pId and its value is pError.

Parameters:
pResult - the PipelineResult object supplied in runProcess()
pKey - the key to use to store the HashMap in the PipelineResult object
pId - the key to use to store the error message within the HashMap in the PipelineResult object
pError - the error object to store in the HashMap
See Also:
PipelineResult, runProcess(Object, PipelineResult)