Class ChainProcessor
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.apache.commons.chain.web.ChainServlet
-
- org.apache.commons.chain.web.servlet.ChainProcessor
-
- All Implemented Interfaces:
java.io.Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
public class ChainProcessor extends ChainServlet
Custom subclass of
ChainServlet
that also dispatches incoming requests to a configurableCommand
loaded from the specifiedCatalog
.In addition to the servlet init parameters supported by
ChainServlet
, this class supports the following additional parameters:- org.apache.commons.chain.CATALOG - Name of the catalog from which to acquire commands to be executed. If not specified, the default catalog for this application will be used.
- org.apache.commons.chain.COMMAND - Name of the
Command
(looked up in our configuredCatalog
used to process all incoming servlet requests. If not specified, defaults tocommand
.
Also, the
org.apache.commons.chain.CONFIG_ATTR
init parameter is also used to identify theContext
attribute under which our configuredCatalog
will be made available toCommand
s processing our requests, in addition to its definition of theServletContext
attribute key under which theCatalog
is available.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
attribute
The name of the context attribute under which ourCatalog
is stored.private java.lang.String
catalog
The name of theCatalog
to retrieve from theCatalogFactory
for this application, ornull
to select the defaultCatalog
.static java.lang.String
CATALOG
The name of the servlet init parameter containing the name of theCatalog
to use for processing incoming requests.static java.lang.String
CATALOG_DEFAULT
private java.lang.String
command
The name of theCommand
to be executed for each incoming request.static java.lang.String
COMMAND
private static java.lang.String
COMMAND_DEFAULT
The default command name.-
Fields inherited from class org.apache.commons.chain.web.ChainServlet
CONFIG_ATTR, CONFIG_CLASS_RESOURCE, CONFIG_WEB_RESOURCE, RULE_SET
-
-
Constructor Summary
Constructors Constructor Description ChainProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
Clean up as this application is shut down.void
init()
Cache the name of the command we should execute for each request.void
service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Configure aServletWebContext
for the current request, and pass it to theexecute()
method of the specifiedCommand
, loaded from our configuredCatalog
.-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Field Detail
-
CATALOG
public static final java.lang.String CATALOG
The name of the servlet init parameter containing the name of the
Catalog
to use for processing incoming requests.- See Also:
- Constant Field Values
-
CATALOG_DEFAULT
public static final java.lang.String CATALOG_DEFAULT
- See Also:
- Constant Field Values
-
COMMAND
public static final java.lang.String COMMAND
The name of the servlet init parameter containing the name of the
Command
(loaded from our configuredCatalog
to use for processing each incoming request.- See Also:
- Constant Field Values
-
COMMAND_DEFAULT
private static final java.lang.String COMMAND_DEFAULT
The default command name.
- See Also:
- Constant Field Values
-
attribute
private java.lang.String attribute
The name of the context attribute under which our
Catalog
is stored. This value is also used as the name of the context attribute under which the catalog is exposed to commands. If not specified, we will look up commands in the appropriateCatalog
retrieved from ourCatalogFactory
.
-
catalog
private java.lang.String catalog
The name of the
Catalog
to retrieve from theCatalogFactory
for this application, ornull
to select the defaultCatalog
.
-
command
private java.lang.String command
The name of the
Command
to be executed for each incoming request.
-
-
Method Detail
-
destroy
public void destroy()
Clean up as this application is shut down.
- Specified by:
destroy
in interfacejavax.servlet.Servlet
- Overrides:
destroy
in classChainServlet
-
init
public void init() throws javax.servlet.ServletException
Cache the name of the command we should execute for each request.
- Overrides:
init
in classChainServlet
- Throws:
javax.servlet.ServletException
- if an initialization error occurs
-
service
public void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Configure a
ServletWebContext
for the current request, and pass it to theexecute()
method of the specifiedCommand
, loaded from our configuredCatalog
.- Overrides:
service
in classChainServlet
- Parameters:
request
- The request we are processingresponse
- The response we are creating- Throws:
java.io.IOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occurs
-
-