atg.projects.store.servlet.pipeline
Class ShoppingContextServlet

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.nucleus.TimedOperationService
              extended by atg.servlet.pipeline.PipelineableServletImpl
                  extended by atg.servlet.pipeline.InsertableServletImpl
                      extended by atg.projects.store.servlet.pipeline.ShoppingContextServlet
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, atg.servlet.pipeline.InsertableServlet, atg.servlet.pipeline.PipelineableServlet, java.util.EventListener, javax.servlet.Servlet
Direct Known Subclasses:
InternationalizationShoppingContextServlet

public class ShoppingContextServlet
extends atg.servlet.pipeline.InsertableServletImpl

This servlet sets shopping context for the user. By this we mean the servlet sets up the correct catalog, price list, and sale price list on the profile.

This servlet obtains the values of the catalog and price lists from the catalogTools and priceListManager components.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string.
static java.lang.String COMPONENT_PATH_PROFILE
          Component path profile.
 
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
ShoppingContextServlet()
           
 
Method Summary
 StoreCatalogTools getCatalogTools()
           
 StorePriceListManager getPriceListManager()
           
 StoreProfileTools getProfileTools()
           
protected  boolean hasProperty(java.lang.String pPropertyName, atg.userprofiling.Profile pProfile)
          Checks if profile has given property
 void service(atg.servlet.DynamoHttpServletRequest pRequest, atg.servlet.DynamoHttpServletResponse pResponse)
          Based on the url context, this servlet pipeline component sets the catalog and pricelist.
 void setCatalogTools(StoreCatalogTools tools)
           
 void setPriceListManager(StorePriceListManager manager)
           
 void setProfileTools(StoreProfileTools tools)
           
protected  void setShoppingContext(atg.servlet.DynamoHttpServletRequest pRequest, atg.servlet.DynamoHttpServletResponse pResponse, atg.userprofiling.Profile pProfile)
          Given the profile and the context path this method sets up the appropriate shopping context for the user.
 
Methods inherited from class atg.servlet.pipeline.InsertableServletImpl
doStartService, getInsertAfterServlet, setInsertAfterServlet
 
Methods inherited from class atg.servlet.pipeline.PipelineableServletImpl
createAdminServlet, destroy, getAdminServlet, getNextServlet, getServletConfig, getServletInfo, init, isUsePathInfo, passRequest, passRequest, service, service, setNextServlet, setServletInfo, setUsePathInfo
 
Methods inherited from class atg.nucleus.TimedOperationService
getAverageRequestHandlingTime, getHandledRequestCount, getRequestStartTime, getTotalRequestHandlingTime, isKeepingStatistics, notifyHandledRequest, resetStatistics, setKeepingStatistics
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, doStopService, getAbsoluteName, 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
 
Methods inherited from interface atg.servlet.pipeline.PipelineableServlet
getNextServlet, passRequest, setNextServlet
 
Methods inherited from interface javax.servlet.Servlet
destroy, getServletConfig, getServletInfo, init, service
 

Field Detail

CLASS_VERSION

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


COMPONENT_PATH_PROFILE

public static java.lang.String COMPONENT_PATH_PROFILE
Component path profile.

Constructor Detail

ShoppingContextServlet

public ShoppingContextServlet()
Method Detail

service

public void service(atg.servlet.DynamoHttpServletRequest pRequest,
                    atg.servlet.DynamoHttpServletResponse pResponse)
             throws java.io.IOException,
                    javax.servlet.ServletException
Based on the url context, this servlet pipeline component sets the catalog and pricelist. Services a DynamoHttpServletRequestResponse pair.

Overrides:
service in class atg.servlet.pipeline.PipelineableServletImpl
Parameters:
pRequest - - http request
pResponse - - http response
Throws:
java.io.IOException - if an error occurred while reading or writing the servlet request
javax.servlet.ServletException - if an error occurred while processing the servlet request

setShoppingContext

protected void setShoppingContext(atg.servlet.DynamoHttpServletRequest pRequest,
                                  atg.servlet.DynamoHttpServletResponse pResponse,
                                  atg.userprofiling.Profile pProfile)
                           throws java.io.IOException,
                                  javax.servlet.ServletException,
                                  atg.repository.RepositoryException
Given the profile and the context path this method sets up the appropriate shopping context for the user. It sets the user's catalog, priceList, and salePriceList properties.

Parameters:
pRequest - - http request
pResponse - - http response
pProfile - - profile
Throws:
java.io.IOException - if IO error occurs
javax.servlet.ServletException - if servlet error occurs
atg.repository.RepositoryException - if repository error occurs

hasProperty

protected boolean hasProperty(java.lang.String pPropertyName,
                              atg.userprofiling.Profile pProfile)
                       throws atg.repository.RepositoryException
Checks if profile has given property

Parameters:
pPropertyName - - property name
pProfile - - profile
Returns:
true if profile has given property
Throws:
atg.repository.RepositoryException - if repository exception occur

getCatalogTools

public StoreCatalogTools getCatalogTools()
Returns:
catalog tools.

getPriceListManager

public StorePriceListManager getPriceListManager()
Returns:
price list manager.

getProfileTools

public StoreProfileTools getProfileTools()
Returns:
profile tools.

setCatalogTools

public void setCatalogTools(StoreCatalogTools tools)
Parameters:
tools - - store catalog tools

setPriceListManager

public void setPriceListManager(StorePriceListManager manager)
Parameters:
manager - - store price list manager.

setProfileTools

public void setProfileTools(StoreProfileTools tools)
Parameters:
tools - - store profile tools.