atg.commerce.order.processor
Class ProcValidateElectronicShippingGroup

java.lang.Object
  extended by atg.nucleus.logging.ApplicationLoggingImpl
      extended by atg.commerce.order.processor.ProcValidateElectronicShippingGroup
All Implemented Interfaces:
ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, PipelineProcessor

public class ProcValidateElectronicShippingGroup
extends ApplicationLoggingImpl
implements PipelineProcessor

Validate a single instance of ElectronicShippingGroup at checkout time. This processor verifies that all required fields in an ElectronicShippingGroup 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
          Class version string
 
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
ProcValidateElectronicShippingGroup()
           
 
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.
 java.lang.String getLoggingIdentifier()
          Returns property LoggingIdentifier
 int[] getRetCodes()
          Returns the set of valid return codes for this processor.
 boolean getValidateEmail()
          Query whether or not to validate email addresses
 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 present in an instance of ElectronicShippingGroup.
 void setLoggingIdentifier(java.lang.String pLoggingIdentifier)
          Sets property LoggingIdentifier
 void setValidateEmail(boolean pValidateEmail)
          Specify whether or not to validate email addresses.
protected  void validateElectronicShippingGroupFields(ElectronicShippingGroup esg, PipelineResult pResult, java.util.ResourceBundle resourceBundle)
          This method validates the ElectronicShippingGroup properties.
protected  boolean validateEmailAddress(java.lang.String pEmail)
          Validates an email address for correctness.
 
Methods inherited from class atg.nucleus.logging.ApplicationLoggingImpl
addGlobalLogListeners, addLogListener, 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 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

ProcValidateElectronicShippingGroup

public ProcValidateElectronicShippingGroup()
Method Detail

getRetCodes

public int[] getRetCodes()
Returns the set of valid return codes for this processor. This processor always returns a value of 1, indicating successful completion. If any errors occur during validation, they are added to the pipeline result object where the caller can examine them.

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 present in an instance of ElectronicShippingGroup. By default the only required property is the user's email address.

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

validateElectronicShippingGroupFields

protected void validateElectronicShippingGroupFields(ElectronicShippingGroup esg,
                                                     PipelineResult pResult,
                                                     java.util.ResourceBundle resourceBundle)
This method validates the ElectronicShippingGroup properties. By default only the email address is checked to ensure that it has one and only one '@' character.

Parameters:
esg - an ElectronicShippingGroup object to validate

validateEmailAddress

protected boolean validateEmailAddress(java.lang.String pEmail)
Validates an email address for correctness. By default this method checks to see that there is one and only one @ character. This method can be overridden to do more sophisticated validation.


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)

getValidateEmail

public boolean getValidateEmail()
Query whether or not to validate email addresses


setValidateEmail

public void setValidateEmail(boolean pValidateEmail)
Specify whether or not to validate email addresses.


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