org.apache.tools.ant.taskdefs.optional.j2ee
Class GenericHotDeploymentTool

java.lang.Object
  extended by org.apache.tools.ant.taskdefs.optional.j2ee.AbstractHotDeploymentTool
      extended by org.apache.tools.ant.taskdefs.optional.j2ee.GenericHotDeploymentTool
All Implemented Interfaces:
HotDeploymentTool
Direct Known Subclasses:
JonasHotDeploymentTool

public class GenericHotDeploymentTool
extends AbstractHotDeploymentTool

A generic tool for J2EE server hot deployment.

The simple implementation spawns a JVM with the supplied class name, jvm args, and arguments.

See Also:
HotDeploymentTool, AbstractHotDeploymentTool, ServerDeploy

Field Summary
 
Fields inherited from interface org.apache.tools.ant.taskdefs.optional.j2ee.HotDeploymentTool
ACTION_DELETE, ACTION_DEPLOY, ACTION_LIST, ACTION_UNDEPLOY, ACTION_UPDATE
 
Constructor Summary
GenericHotDeploymentTool()
           
 
Method Summary
 Commandline.Argument createArg()
          Add a nested argument element to hand to the deployment tool; optional.
 Commandline.Argument createJvmarg()
          Add a nested argument element to hand to the JVM running the deployment tool.
 void deploy()
          Perform the actual deployment.
 java.lang.String getClassName()
          Get the classname attribute.
 Java getJava()
          get the java attribute.
protected  boolean isActionValid()
          Determines if the "action" attribute defines a valid action.
 void setClassName(java.lang.String className)
          The name of the class to execute to perform deployment; required.
 void setTask(ServerDeploy task)
          Sets the parent task.
 void validateAttributes()
          Validates the passed in attributes.
 
Methods inherited from class org.apache.tools.ant.taskdefs.optional.j2ee.AbstractHotDeploymentTool
createClasspath, getClasspath, getPassword, getServer, getTask, getUserName, setClasspath, setPassword, setServer, setUserName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericHotDeploymentTool

public GenericHotDeploymentTool()
Method Detail

createArg

public Commandline.Argument createArg()
Add a nested argument element to hand to the deployment tool; optional.

Returns:
A Commandline.Argument object representing the command line argument being passed when the deployment tool is run. IE: "-user=mark", "-password=venture"...

createJvmarg

public Commandline.Argument createJvmarg()
Add a nested argument element to hand to the JVM running the deployment tool. Creates a nested arg element.

Returns:
A Commandline.Argument object representing the JVM command line argument being passed when the deployment tool is run. IE: "-ms64m", "-mx128m"...

isActionValid

protected boolean isActionValid()
Determines if the "action" attribute defines a valid action.

Subclasses should determine if the action passed in is supported by the vendor's deployment tool. For this generic implementation, the only valid action is "deploy"

Specified by:
isActionValid in class AbstractHotDeploymentTool
Returns:
true if the "action" attribute is valid, false if not.

setTask

public void setTask(ServerDeploy task)
Sets the parent task.

Specified by:
setTask in interface HotDeploymentTool
Overrides:
setTask in class AbstractHotDeploymentTool
Parameters:
task - An ServerDeploy object representing the parent task.

deploy

public void deploy()
            throws BuildException
Perform the actual deployment. For this generic implementation, a JVM is spawned using the supplied classpath, classname, JVM args, and command line arguments.

Specified by:
deploy in interface HotDeploymentTool
Specified by:
deploy in class AbstractHotDeploymentTool
Throws:
BuildException - if the attributes are invalid or incomplete.

validateAttributes

public void validateAttributes()
                        throws BuildException
Validates the passed in attributes. Ensures the className and arguments attribute have been set.

Specified by:
validateAttributes in interface HotDeploymentTool
Overrides:
validateAttributes in class AbstractHotDeploymentTool
Throws:
BuildException - if the attributes are invalid or incomplete.

setClassName

public void setClassName(java.lang.String className)
The name of the class to execute to perform deployment; required. Example: "com.foobar.tools.deploy.DeployTool"

Parameters:
className - The fully qualified class name of the class to perform deployment.

getJava

public Java getJava()
get the java attribute.

Returns:
the java attribute.

getClassName

public java.lang.String getClassName()
Get the classname attribute.

Returns:
the classname value.