atg.commerce.csr.clicktoconnect
Class C2CCSREnvironmentMonitor

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.svc.agent.environment.EnvironmentMonitor
              extended by atg.commerce.csr.clicktoconnect.C2CCSREnvironmentMonitor
All Implemented Interfaces:
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 C2CCSREnvironmentMonitor
extends atg.svc.agent.environment.EnvironmentMonitor

This environment monitor generates change details for a new C2C call

It will add a new change detail for the order referenced by the C2C application data repository item.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
protected  atg.clicktoconnect.C2CSessionDataPropertyManager mC2CSessionDataPropertyManager
           
protected  atg.commerce.clicktoconnect.CommerceC2CSessionDataPropertyManager mCommerceC2CSessionDataPropertyManager
           
protected  CSREnvironmentTools mCSREnvironmentTools
           
protected  atg.commerce.promotion.PromotionTools mPromotionTools
           
 
Fields inherited from class atg.svc.agent.environment.EnvironmentMonitor
mEnvironmentTools
 
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
C2CCSREnvironmentMonitor()
           
 
Method Summary
 void applyChanges(atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
          If the active customer profile is transient, retrieves the promotions from the C2C application repository item and grants any promotion to the active customer profile that it doesn't already have.
protected  void applyPromotions(atg.repository.RepositoryItem pProfile, atg.svc.clicktoconnect.C2CRequestData pC2CRequestData, atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
          Grants each promotion in the C2CRequestData that the profile doesn't already have and reprices the order.
protected  void generateChangeDetails(atg.svc.clicktoconnect.C2CRequestData pC2CRequestData, atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
          Generates change details based on the C2CRequestData.
protected  void generateChangeDetailsForChangeKey(java.lang.String pChangeKey, atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
          Generates change details for new C2C start request.
protected  void generateDependentChangeDetails(atg.svc.agent.environment.EnvironmentChangeDetail pEnvironmentChangeDetail, atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
          noop implementation
 atg.clicktoconnect.C2CSessionDataPropertyManager getC2CSessionDataPropertyManager()
          Returns the c2CSessionDataPropertyManager
 atg.commerce.clicktoconnect.CommerceC2CSessionDataPropertyManager getCommerceC2CSessionDataPropertyManager()
          Returns the property manager for the C2C session data.
 CSREnvironmentTools getCSREnvironmentTools()
           
 java.lang.Object getEnvironmentObject(java.lang.String pEnvironmentObjectName)
          noop implementation
 atg.commerce.promotion.PromotionTools getPromotionTools()
          Returns the core commerce PromotionTools component which is used to grant promotions on the C2CRequestData
 void setC2CSessionDataPropertyManager(atg.clicktoconnect.C2CSessionDataPropertyManager pC2cSessionDataPropertyManager)
          Sets the c2CSessionDataPropertyManager
 void setCommerceC2CSessionDataPropertyManager(atg.commerce.clicktoconnect.CommerceC2CSessionDataPropertyManager pCommerceC2CSessionDataPropertyManager)
           
 void setCSREnvironmentTools(CSREnvironmentTools pCSREnvironmentTools)
          Sets the property CSREnvironmentTools.
 void setPromotionTools(atg.commerce.promotion.PromotionTools pPromotionTools)
           
 
Methods inherited from class atg.svc.agent.environment.EnvironmentMonitor
createWarningsForEnvironmentChange, generateChangeDetails, getAgentMessagingTools, getEnvironmentTools, initializeDefaultsForProfile, postApplyChanges, preApplyChanges, revertChanges, setAgentMessagingTools, setEnvironmentTools
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, 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


mPromotionTools

protected atg.commerce.promotion.PromotionTools mPromotionTools

mCommerceC2CSessionDataPropertyManager

protected atg.commerce.clicktoconnect.CommerceC2CSessionDataPropertyManager mCommerceC2CSessionDataPropertyManager

mCSREnvironmentTools

protected CSREnvironmentTools mCSREnvironmentTools

mC2CSessionDataPropertyManager

protected atg.clicktoconnect.C2CSessionDataPropertyManager mC2CSessionDataPropertyManager
Constructor Detail

C2CCSREnvironmentMonitor

public C2CCSREnvironmentMonitor()
Method Detail

getPromotionTools

public atg.commerce.promotion.PromotionTools getPromotionTools()
Returns the core commerce PromotionTools component which is used to grant promotions on the C2CRequestData

Returns:
PromotionTools

setPromotionTools

public void setPromotionTools(atg.commerce.promotion.PromotionTools pPromotionTools)

getCommerceC2CSessionDataPropertyManager

public atg.commerce.clicktoconnect.CommerceC2CSessionDataPropertyManager getCommerceC2CSessionDataPropertyManager()
Returns the property manager for the C2C session data. This is used to determine property names of the C2CRepositoryItem properties

Returns:
CommerceC2CSessionDataPropertyManager

setCommerceC2CSessionDataPropertyManager

public void setCommerceC2CSessionDataPropertyManager(atg.commerce.clicktoconnect.CommerceC2CSessionDataPropertyManager pCommerceC2CSessionDataPropertyManager)

setCSREnvironmentTools

public void setCSREnvironmentTools(CSREnvironmentTools pCSREnvironmentTools)
Sets the property CSREnvironmentTools.


getCSREnvironmentTools

public CSREnvironmentTools getCSREnvironmentTools()
Returns:
The CSREnvironmentTools component used to manipulate the profile

getC2CSessionDataPropertyManager

public atg.clicktoconnect.C2CSessionDataPropertyManager getC2CSessionDataPropertyManager()
Returns the c2CSessionDataPropertyManager

Returns:
the c2CSessionDataPropertyManager

setC2CSessionDataPropertyManager

public void setC2CSessionDataPropertyManager(atg.clicktoconnect.C2CSessionDataPropertyManager pC2cSessionDataPropertyManager)
Sets the c2CSessionDataPropertyManager

Parameters:
pC2cSessionDataPropertyManager - the c2CSessionDataPropertyManager to set

generateChangeDetailsForChangeKey

protected void generateChangeDetailsForChangeKey(java.lang.String pChangeKey,
                                                 atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
                                          throws atg.svc.agent.environment.EnvironmentChangeDetailConflict,
                                                 atg.svc.agent.environment.EnvironmentException
Generates change details for new C2C start request. Adds a change detail for a new order or an order identified by the C2CRequestData provided as an input parameter.

Specified by:
generateChangeDetailsForChangeKey in class atg.svc.agent.environment.EnvironmentMonitor
Throws:
atg.svc.agent.environment.EnvironmentChangeDetailConflict
atg.svc.agent.environment.EnvironmentException
See Also:
C2CConstants.ENV_CHG_START_NEW_C2C_CALL, C2CConstants.ENV_CHG_START_NEW_C2C_CALL_C2CREQUESTDATA_PARAM, C2CRequestData, generateChangeDetails(C2CRequestData, EnvironmentChangeState)

generateChangeDetails

protected void generateChangeDetails(atg.svc.clicktoconnect.C2CRequestData pC2CRequestData,
                                     atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
                              throws atg.svc.agent.environment.EnvironmentException
Generates change details based on the C2CRequestData.

Adds a change detail for the order, price list, sale price list id and site specified by the C2CRequestData's application data repository item.

Parameters:
pC2CRequestData -
pEnvironmentChangeState -
Throws:
atg.svc.agent.environment.EnvironmentException

generateDependentChangeDetails

protected void generateDependentChangeDetails(atg.svc.agent.environment.EnvironmentChangeDetail pEnvironmentChangeDetail,
                                              atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
                                       throws atg.svc.agent.environment.EnvironmentChangeDetailConflict,
                                              atg.svc.agent.environment.EnvironmentException
noop implementation

Specified by:
generateDependentChangeDetails in class atg.svc.agent.environment.EnvironmentMonitor
Throws:
atg.svc.agent.environment.EnvironmentChangeDetailConflict
atg.svc.agent.environment.EnvironmentException

applyChanges

public void applyChanges(atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
                  throws atg.svc.agent.environment.EnvironmentException
If the active customer profile is transient, retrieves the promotions from the C2C application repository item and grants any promotion to the active customer profile that it doesn't already have.

If any promotions are granted, the pricing model holder is re-initialized and the current order is repriced.

Specified by:
applyChanges in class atg.svc.agent.environment.EnvironmentMonitor
Throws:
atg.svc.agent.environment.EnvironmentException
See Also:
applyPromotions(RepositoryItem, C2CRequestData, EnvironmentChangeState)

applyPromotions

protected void applyPromotions(atg.repository.RepositoryItem pProfile,
                               atg.svc.clicktoconnect.C2CRequestData pC2CRequestData,
                               atg.svc.agent.environment.EnvironmentChangeState pEnvironmentChangeState)
Grants each promotion in the C2CRequestData that the profile doesn't already have and reprices the order.

Parameters:
pProfile -
pC2CRequestData -
pEnvironmentChangeState -

getEnvironmentObject

public java.lang.Object getEnvironmentObject(java.lang.String pEnvironmentObjectName)
noop implementation

Specified by:
getEnvironmentObject in class atg.svc.agent.environment.EnvironmentMonitor