Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool
Field Summary | |
static String |
|
static String |
|
static String |
|
static String |
|
static String |
|
static String |
|
static int |
|
protected static String |
|
static int |
|
protected static String |
|
protected static String |
|
Constructor Summary | |
|
Method Summary | |
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
Path |
|
protected ClassLoader |
|
protected Path |
|
protected org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.Config |
|
protected DescriptorHandler |
|
protected File |
|
protected String |
|
protected Location |
|
protected File |
|
protected String |
|
protected Task |
|
String |
|
protected void |
|
protected boolean |
|
protected Hashtable |
|
void |
|
protected void |
|
void |
|
void |
|
void |
|
void | |
protected boolean |
|
void |
|
protected void |
|
public static final String ANALYZER_CLASS_FULL
The analyzer class for the super analyzer
public static final String ANALYZER_CLASS_SUPER
The analyzer class for the super analyzer
public static final String ANALYZER_FULL
A dependency analyzer name to find all related classes
public static final String ANALYZER_NONE
A dependency analyzer name for no analyzer
public static final String ANALYZER_SUPER
A dependency analyzer name to find ancestor classes
public static final String DEFAULT_ANALYZER
The default analyzer
public static final int DEFAULT_BUFFER_SIZE
The default buffer byte size to use for IO
- Field Value:
- 1024
protected static final String EJB_DD
Name for EJB Deployment descriptor within EJB jars
public static final int JAR_COMPRESS_LEVEL
The level to use for compression
- Field Value:
- 9
protected static final String MANIFEST
The standard MANIFEST file
protected static final String META_DIR
The standard META-INF directory in jar files
protected void addFileToJar(JarOutputStream jStream, File inputFile, String logicalFilename) throws BuildException
Utility method that encapsulates the logic of adding a file entry to a .jar file. Used by execute() to add entries to the jar file as it is constructed.
- Parameters:
jStream
- A JarOutputStream into which to write the jar entry.inputFile
- A File from which to read the contents the file being added.logicalFilename
- A String representing the name, including all relevant path information, that should be stored for the entry being added.
- Throws:
BuildException
- if there is a problem.
protected void addSupportClasses(Hashtable ejbFiles)
Adds any classes the user specifies using support nested elements to theejbFiles
Hashtable.
- Parameters:
ejbFiles
- Hashtable of EJB classes (and other) files that will be added to the completed JAR file
protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix)
Add any vendor specific files which should be included in the EJB Jar.
- Parameters:
ejbFiles
- a hashtable entryname -> file.ddPrefix
- a prefix to use.
protected void checkAndAddDependants(Hashtable checkEntries) throws BuildException
Add all available classes, that depend on Remote, Home, Bean, PK
- Parameters:
checkEntries
- files, that are extracted from the deployment descriptor
- Throws:
BuildException
- if there is a problem.
protected void checkConfiguration(String descriptorFileName, SAXParser saxParser) throws BuildException
This method is called as the first step in the processDescriptor method to allow vendor-specific subclasses to validate the task configuration prior to processing the descriptor. If the configuration is invalid, a BuildException should be thrown.
- Parameters:
descriptorFileName
- String representing the file name of an EJB descriptor to be processedsaxParser
- SAXParser which may be used to parse the XML descriptor
- Throws:
BuildException
- if there is a problem.
public void configure(org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.Config config)
Configure this tool for use in the ejbjar task.
- Specified by:
- configure in interface EJBDeploymentTool
- Parameters:
config
- the configuration from the surrounding ejbjar task.
public Path createClasspath()
Add the classpath for the user classes
- Returns:
- a Path instance to be configured by Ant.
protected ClassLoader getClassLoaderForBuild()
Returns a Classloader object which parses the passed in generic EjbJar classpath. The loader is used to dynamically load classes from javax.ejb.* and the classes being added to the jar.
- Returns:
- a classloader.
protected Path getCombinedClasspath()
Get the classpath by combining the one from the surrounding task, if any and the one from this tool.
- Returns:
- the combined classpath
protected org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.Config getConfig()
Get the basename terminator.
- Returns:
- an ejbjar task configuration
protected DescriptorHandler getDescriptorHandler(File srcDir)
Get a descriptionHandler.
- Parameters:
srcDir
- the source directory.
- Returns:
- a handler.
protected File getDestDir()
Get the destination directory.
- Returns:
- the destination directory into which EJB jars are to be written
protected String getJarBaseName(String descriptorFileName)
Using the EJB descriptor file name passed from theejbjar
task, this method returns the "basename" which will be used to name the completed JAR file.
- Parameters:
descriptorFileName
- String representing the file name of an EJB descriptor to be processed
- Returns:
- The "basename" which will be used to name the completed JAR file
protected Location getLocation()
Get the build file location associated with this element's task.
- Returns:
- the task's location instance.
protected File getManifestFile(String prefix)
Get the manifets file to use for building the generic jar. If the file does not exist the global manifest from the config is used otherwise the default Ant manifest will be used.
- Parameters:
prefix
- the prefix where to llook for the manifest file based on the naming convention.
- Returns:
- the manifest file or null if the manifest file does not exist
protected String getPublicId()
Returns the Public ID of the DTD specified in the EJB descriptor. Not every vendor-specificDeploymentTool
will need to reference this value or may want to determine this value in a vendor-specific way.
- Returns:
- Public ID of the DTD specified in the EJB descriptor.
protected Task getTask()
Get the task for this tool.
- Returns:
- the Task instance this tool is associated with.
public String getVendorDDPrefix(String baseName, String descriptorFileName)
Get the prefix for vendor deployment descriptors. This will contain the path and the start of the descriptor name, depending on the naming scheme
- Parameters:
baseName
- the base name to use.descriptorFileName
- the file name to use.
- Returns:
- the prefix.
protected void log(String message, int level)
Log a message to the Ant output.
- Parameters:
message
- the message to be logged.level
- the severity of this message.
protected boolean needToRebuild(Hashtable ejbFiles, File jarFile)
This method checks the timestamp on each file listed in theejbFiles
and compares them to the timestamp on thejarFile
. If thejarFile
's timestamp is more recent than each EJB file,true
is returned. Otherwise,false
is returned. TODO: find a way to check the manifest-file, that is found by naming convention
- Parameters:
ejbFiles
- Hashtable of EJB classes (and other) files that will be added to the completed JAR filejarFile
- JAR file which will contain all of the EJB classes (and other) files
- Returns:
- boolean indicating whether or not the
jarFile
is up to date
protected Hashtable parseEjbFiles(String descriptorFileName, SAXParser saxParser) throws IOException, SAXException
This method returns a list of EJB files found when the specified EJB descriptor is parsed and processed.
- Parameters:
descriptorFileName
- String representing the file name of an EJB descriptor to be processedsaxParser
- SAXParser which may be used to parse the XML descriptor
- Returns:
- Hashtable of EJB class (and other) files to be added to the completed JAR file
public void processDescriptor(String descriptorFileName, SAXParser saxParser)
.
- Specified by:
- processDescriptor in interface EJBDeploymentTool
protected void registerKnownDTDs(DescriptorHandler handler)
Register the locations of all known DTDs. vendor-specific subclasses should override this method to define the vendor-specific locations of the EJB DTDs
- Parameters:
handler
- no used in this class.
public void setClasspath(Path classpath)
Set the classpath to be used for this compilation.
- Parameters:
classpath
- the classpath to be used for this build.
public void setDestdir(File inDir)
Set the destination directory; required.
- Parameters:
inDir
- the destination directory.
public void setGenericJarSuffix(String inString)
Set the suffix for the generated jar file.
- Parameters:
inString
- the string to use as the suffix.
public void setTask(Task task)
Set the task which owns this tool
- Specified by:
- setTask in interface EJBDeploymentTool
- Parameters:
task
- the Task to which this deployment tool is associated.
protected boolean usingBaseJarName()
Indicate if this build is using the base jar name.
- Returns:
- true if the name of the generated jar is coming from the basejarname attribute
public void validateConfigured() throws BuildException
Called to validate that the tool parameters have been configured.
- Specified by:
- validateConfigured in interface EJBDeploymentTool
- Throws:
BuildException
- If the Deployment Tool's configuration isn't valid
protected void writeJar(String baseName, File jarfile, Hashtable files, String publicId) throws BuildException
Method used to encapsulate the writing of the JAR file. Iterates over the filenames/java.io.Files in the Hashtable stored on the instance variable ejbFiles.
- Parameters:
baseName
- the base name to use.jarfile
- the jar file to write to.files
- the files to write to the jar.publicId
- the id to use.
- Throws:
BuildException
- if there is a problem.