org.apache.catalina.core

Class StandardHostDeployer

Implemented Interfaces:
Deployer

public class StandardHostDeployer
extends java.lang.Object
implements Deployer

Implementation of Deployer that is delegated to by the StandardHost implementation class.

Version:
$Revision: 1.23 $ $Date: 2004/04/12 22:05:15 $

Author:
Craig R. McClanahan

Field Summary

protected StandardHost
host
The StandardHost instance we are associated with.
protected static StringManager
sm
The string manager for this package.

Fields inherited from interface org.apache.catalina.Deployer

INSTALL_EVENT, PRE_INSTALL_EVENT, REMOVE_EVENT

Constructor Summary

StandardHostDeployer()
StandardHostDeployer(StandardHost host)
Create a new StandardHostDeployer associated with the specified StandardHost.

Method Summary

void
addChild(Container child)
Delegate a request to add a child Context to our associated Host.
protected Digester
createDigester()
Create (if necessary) and return a Digester configured to process the context configuration descriptor for an application.
Context
findDeployedApp(String contextPath)
Return the Context for the deployed application that is associated with the specified context path (if any); otherwise return null.
String[]
findDeployedApps()
Return the context paths of all deployed web applications in this Container.
Host
getHost()
String
getName()
Return the name of the Container with which this Deployer is associated.
ClassLoader
getParentClassLoader()
Delegate a request for the parent class loader to our associated Host.
void
install(String contextPath, URL war)
Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path.
void
install(String contextPath, URL war, String configFile)
Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path.
void
install(URL war)
Installs a new web application from the web application archive at the specified URL, which must contain a META-INF/context.xml context configuration file (consisting of a <Context> element).
void
install(URL config, URL war)
Install a new web application, whose context configuration file (consisting of a <Context> element) and (optional) web application archive are at the specified URLs.
boolean
isDeployXML()
Returns true if context.xml config files are supported.
void
remove(String contextPath)
Remove an existing web application, attached to the specified context path.
void
remove(String contextPath, boolean undeploy)
Remove an existing web application, attached to the specified context path.
void
setHost(Host host)
void
start(String contextPath)
Start an existing web application, attached to the specified context path.
void
stop(String contextPath)
Stop an existing web application, attached to the specified context path.

Field Details

host

protected StandardHost host
The StandardHost instance we are associated with.


sm

protected static StringManager sm
The string manager for this package.

Constructor Details

StandardHostDeployer

public StandardHostDeployer()


StandardHostDeployer

public StandardHostDeployer(StandardHost host)
Create a new StandardHostDeployer associated with the specified StandardHost.

Parameters:
host - The StandardHost we are associated with

Method Details

addChild

public void addChild(Container child)
Delegate a request to add a child Context to our associated Host.

Parameters:
child - The child Context to be added


createDigester

protected Digester createDigester()
Create (if necessary) and return a Digester configured to process the context configuration descriptor for an application.


findDeployedApp

public Context findDeployedApp(String contextPath)
Return the Context for the deployed application that is associated with the specified context path (if any); otherwise return null.
Specified by:
findDeployedApp in interface Deployer

Parameters:
contextPath - The context path of the requested web application


findDeployedApps

public String[] findDeployedApps()
Return the context paths of all deployed web applications in this Container. If there are no deployed applications, a zero-length array is returned.
Specified by:
findDeployedApps in interface Deployer


getHost

public Host getHost()


getName

public String getName()
Return the name of the Container with which this Deployer is associated.
Specified by:
getName in interface Deployer


getParentClassLoader

public ClassLoader getParentClassLoader()
Delegate a request for the parent class loader to our associated Host.


install

public void install(String contextPath,
                    URL war)
            throws IOException
Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path. A context path of "" (the empty string) should be used for the root application for this container. Otherwise, the context path must start with a slash.

If this application is successfully installed, a ContainerEvent of type PRE_INSTALL_EVENT will be sent to registered listeners before the associated Context is started, and a ContainerEvent of type INSTALL_EVENT will be sent to all registered listeners after the associated Context is started, with the newly created Context as an argument.

Specified by:
install in interface Deployer

Parameters:
contextPath - The context path to which this application should be installed (must be unique)
war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed


install

public void install(String contextPath,
                    URL war,
                    String configFile)
            throws IOException
Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path. A context path of "" (the empty string) should be used for the root application for this container. Otherwise, the context path must start with a slash.

If this application is successfully installed, a ContainerEvent of type PRE_INSTALL_EVENT will be sent to registered listeners before the associated Context is started, and a ContainerEvent of type INSTALL_EVENT will be sent to all registered listeners after the associated Context is started, with the newly created Context as an argument.

Parameters:
contextPath - The context path to which this application should be installed (must be unique)
war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed
configFile - The path to a file to save the Context information. If configFile is null, the Context information is saved in server.xml; if it is NOT null, the Context information is saved in configFile.


install

public void install(URL war)
            throws IOException
Installs a new web application from the web application archive at the specified URL, which must contain a META-INF/context.xml context configuration file (consisting of a <Context> element).

The web application is installed at the path specified inside the embedded META-INF/context.xml. The docBase (if any) specified inside the embedded META-INF/context.xml is overridden with the web application's location.

If the installation succeeds, a ContainerEvent of type INSTALL_EVENT is sent to all registered listeners, with the newly created Context as its argument.

Specified by:
install in interface Deployer

Parameters:
war - URL pointing to web application location (WAR-packaged or unpacked directory)


install

public void install(URL config,
                    URL war)
            throws IOException
Install a new web application, whose context configuration file (consisting of a <Context> element) and (optional) web application archive are at the specified URLs. If this application is successfully installed, a ContainerEvent of type PRE_INSTALL_EVENT will be sent to registered listeners before the associated Context is started, and a ContainerEvent of type INSTALL_EVENT will be sent to all registered listeners after the associated Context is started, with the newly created Context as an argument.
Specified by:
install in interface Deployer

Parameters:
config - A URL that points to the context configuration descriptor to be used for configuring the new Context
war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed, or null to use the docBase attribute from the configuration descriptor


isDeployXML

public boolean isDeployXML()
Returns true if context.xml config files are supported.
Specified by:
isDeployXML in interface Deployer

Returns:
true of context.xml config files are supported, false otherwise


remove

public void remove(String contextPath)
            throws IOException
Remove an existing web application, attached to the specified context path. If this application is successfully removed, a ContainerEvent of type REMOVE_EVENT will be sent to all registered listeners, with the removed Context as an argument.
Specified by:
remove in interface Deployer

Parameters:
contextPath - The context path of the application to be removed


remove

public void remove(String contextPath,
                   boolean undeploy)
            throws IOException
Remove an existing web application, attached to the specified context path. If this application is successfully removed, a ContainerEvent of type REMOVE_EVENT will be sent to all registered listeners, with the removed Context as an argument. Deletes the web application war file and/or directory if they exist in the Host's appBase.
Specified by:
remove in interface Deployer

Parameters:
contextPath - The context path of the application to be removed
undeploy - boolean flag to remove web application from server


setHost

public void setHost(Host host)


start

public void start(String contextPath)
            throws IOException
Start an existing web application, attached to the specified context path. Only starts a web application if it is not running.
Specified by:
start in interface Deployer

Parameters:
contextPath - The context path of the application to be started


stop

public void stop(String contextPath)
            throws IOException
Stop an existing web application, attached to the specified context path. Only stops a web application if it is running.
Specified by:
stop in interface Deployer

Parameters:
contextPath - The context path of the application to be stopped


Copyright B) 2000-2003 Apache Software Foundation. All Rights Reserved.