atg.servlet.pipeline
Class DispatcherPipelineServletImpl

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.DispatcherPipelineServletImpl
All Implemented Interfaces:
NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, DispatcherPipelineableServlet, PipelineableServlet, java.util.EventListener, javax.servlet.Servlet
Direct Known Subclasses:
MimeTypeDispatcherPipelineServlet, ServletPathDispatcherPipelineServlet

public abstract class DispatcherPipelineServletImpl
extends PipelineableServletImpl
implements DispatcherPipelineableServlet

This will redirect a request to one of several servlets based on some dispatching attribute of the request. The property dispatcherServiceMap specifies the mapping from dispatching attribute to servlet. Subclasses of this should override getDispatchingAttribute() to return the value of the request on which to dispatch. For example, the ServletPathDispatcherPipelineServlet will return the servletPath of a request.

If the dispatching attribute of a request does not match any of the keys in the dispatcherServiceMap, then the request is passed to the next servlet in the pipeline.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
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
DispatcherPipelineServletImpl()
          Constructs a new DispatcherPipelineServlet
 
Method Summary
 ServiceMap getDispatcherServiceMap()
          Returns the map from dispatching attribute to destination servlet.
abstract  java.lang.Object getDispatchingAttribute(DynamoHttpServletRequest pRequest)
          Returns the dispatching attribute of the request, this is the String attribute that is used to determine if the request should be dispatched to another servlet.
 ServiceMap getExtraDispatcherServiceMap()
          Returns the map from dispatching attribute to destination servlet.
 void service(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Services a DynamoHttpServletRequest/Response pair
 void setDispatcherServiceMap(ServiceMap pMapping)
          Sets the map from dispatching attribute to destination servlet.
 void setExtraDispatcherServiceMap(ServiceMap pMapping)
          Sets the map from dispatching attribute to destination servlet.
 
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, doStartService, 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

Constructor Detail

DispatcherPipelineServletImpl

public DispatcherPipelineServletImpl()
Constructs a new DispatcherPipelineServlet

Method Detail

getDispatcherServiceMap

public ServiceMap getDispatcherServiceMap()
Returns the map from dispatching attribute to destination servlet.

Specified by:
getDispatcherServiceMap in interface DispatcherPipelineableServlet

setDispatcherServiceMap

public void setDispatcherServiceMap(ServiceMap pMapping)
Sets the map from dispatching attribute to destination servlet.

Specified by:
setDispatcherServiceMap in interface DispatcherPipelineableServlet

getExtraDispatcherServiceMap

public ServiceMap getExtraDispatcherServiceMap()
Returns the map from dispatching attribute to destination servlet.


setExtraDispatcherServiceMap

public void setExtraDispatcherServiceMap(ServiceMap pMapping)
Sets the map from dispatching attribute to destination servlet.


getDispatchingAttribute

public abstract java.lang.Object getDispatchingAttribute(DynamoHttpServletRequest pRequest)
Returns the dispatching attribute of the request, this is the String attribute that is used to determine if the request should be dispatched to another servlet.

Specified by:
getDispatchingAttribute in interface DispatcherPipelineableServlet

service

public void service(DynamoHttpServletRequest pRequest,
                    DynamoHttpServletResponse pResponse)
             throws java.io.IOException,
                    javax.servlet.ServletException
Services a DynamoHttpServletRequest/Response pair

Overrides:
service in class PipelineableServletImpl
Throws:
javax.servlet.ServletException - if an error occurred while processing the servlet request
java.io.IOException - if an error occurred while reading or writing the servlet request