Class IPlanetDeploymentTool
java.lang.Object
org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool
org.apache.tools.ant.taskdefs.optional.ejb.IPlanetDeploymentTool
- All Implemented Interfaces:
EJBDeploymentTool
This class is used to generate iPlanet Application Server (iAS) 6.0 stubs and
skeletons and build an EJB Jar file. It is designed to be used with the Ant
ejbjar task. If only stubs and skeletons need to be generated
(in other words, if no JAR file needs to be created), refer to the
iplanet-ejbc task and the IPlanetEjbcTask class.
The following attributes may be specified by the user:
- destdir -- The base directory into which the generated JAR files will be written. Each JAR file is written in directories which correspond to their location within the "descriptordir" namespace. This is a required attribute.
- classpath -- The classpath used when generating EJB stubs and skeletons. This is an optional attribute (if omitted, the classpath specified in the "ejbjar" parent task will be used). If specified, the classpath elements will be prepended to the classpath specified in the parent "ejbjar" task. Note that nested "classpath" elements may also be used.
- keepgenerated -- Indicates whether or not the Java source files which are generated by ejbc will be saved or automatically deleted. If "yes", the source files will be retained. This is an optional attribute (if omitted, it defaults to "no").
- debug -- Indicates whether or not the ejbc utility should log additional debugging statements to the standard output. If "yes", the additional debugging statements will be generated (if omitted, it defaults to "no").
- iashome -- May be used to specify the "home" directory for
this iPlanet Application server installation. This
is used to find the ejbc utility if it isn't
included in the user's system path. This is an
optional attribute (if specified, it should refer
to the
[install-location]/iplanet/ias6/iasdirectory). If omitted, the ejbc utility must be on the user's system path. - suffix -- String value appended to the JAR filename when creating each JAR. This attribute is not required (if omitted, it defaults to ".jar").
For each EJB descriptor found in the "ejbjar" parent task, this deployment
tool will locate the three classes that comprise the EJB. If these class
files cannot be located in the specified srcdir directory, the
task will fail. The task will also attempt to locate the EJB stubs and
skeletons in this directory. If found, the timestamps on the stubs and
skeletons will be checked to ensure they are up to date. Only if these files
cannot be found or if they are out of date will ejbc be called.
- See Also:
-
Field Summary
Fields inherited from class GenericDeploymentTool
ANALYZER_CLASS_FULL, ANALYZER_CLASS_SUPER, ANALYZER_FULL, ANALYZER_NONE, ANALYZER_SUPER, DEFAULT_ANALYZER, DEFAULT_BUFFER_SIZE, EJB_DD, JAR_COMPRESS_LEVEL, MANIFEST, META_DIRModifier and TypeFieldDescriptionstatic final StringThe analyzer class for the super analyzerstatic final StringThe analyzer class for the super analyzerstatic final StringA dependency analyzer name to find all related classesstatic final StringA dependency analyzer name for no analyzerstatic final StringA dependency analyzer name to find ancestor classesstatic final StringThe default analyzerstatic final intThe default buffer byte size to use for IOprotected static final StringName for EJB Deployment descriptor within EJB jarsstatic final intThe level to use for compressionprotected static final StringThe standard MANIFEST fileprotected static final StringThe standard META-INF directory in jar files -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddVendorFiles(Hashtable<String, File> ejbFiles, String ddPrefix) Add the iAS-specific EJB descriptor to the list of files which will be written to the JAR file.protected voidcheckConfiguration(String descriptorFileName, SAXParser saxParser) Verifies that the user selections are valid.protected StringThe iAS ejbc utility doesn't require the Public ID of the descriptor's DTD for it to process correctly--this method always returnsnull.parseEjbFiles(String descriptorFileName, SAXParser saxParser) This method returns a list of EJB files found when the specified EJB descriptor is parsed and processed.voidprocessDescriptor(String descriptorName, SAXParser saxParser) Process a deployment descriptor, generating the necessary vendor specific deployment files.voidsetDebug(boolean debug) Sets whether or not debugging output will be generated when ejbc is executed.voidsetGenericJarSuffix(String inString) Since iAS doesn't generate a "generic" JAR as part of its processing, this attribute is ignored and a warning message is displayed to the user.voidsetIashome(File iashome) Setter method used to store the "home" directory of the user's iAS installation.voidsetKeepgenerated(boolean keepgenerated) Setter method used to specify whether the Java source files generated by the ejbc utility should be saved or automatically deleted.voidSetter method used to specify the filename suffix (for example, ".jar") for the JAR files to be created.Methods inherited from class GenericDeploymentTool
addFileToJar, addSupportClasses, checkAndAddDependants, configure, createClasspath, getClassLoaderForBuild, getCombinedClasspath, getConfig, getDescriptorHandler, getDestDir, getJarBaseName, getLocation, getManifestFile, getTask, getVendorDDPrefix, log, needToRebuild, registerKnownDTDs, setClasspath, setDestdir, setTask, usingBaseJarName, validateConfigured, writeJarModifier and TypeMethodDescriptionprotected voidaddFileToJar(JarOutputStream jStream, File inputFile, String logicalFilename) Utility method that encapsulates the logic of adding a file entry to a .jar file.protected voidaddSupportClasses(Hashtable<String, File> ejbFiles) Adds any classes the user specifies using support nested elements to theejbFilesHashtable.protected voidcheckAndAddDependants(Hashtable<String, File> checkEntries) Add all available classes, that depend on Remote, Home, Bean, PKvoidconfigure(org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.Config config) Configure this tool for use in the ejbjar task.Add the classpath for the user classesprotected ClassLoaderReturns a Classloader object which parses the passed in generic EjbJar classpath.protected PathGet the classpath by combining the one from the surrounding task, if any and the one from this tool.protected org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.ConfigGet the basename terminator.protected DescriptorHandlergetDescriptorHandler(File srcDir) Get a descriptionHandler.protected FileGet the destination directory.protected StringgetJarBaseName(String descriptorFileName) Using the EJB descriptor file name passed from theejbjartask, this method returns the "basename" which will be used to name the completed JAR file.protected LocationGet the build file location associated with this element's task.protected FilegetManifestFile(String prefix) Get the manifest file to use for building the generic jar.protected TaskgetTask()Get the task for this tool.getVendorDDPrefix(String baseName, String descriptorFileName) Get the prefix for vendor deployment descriptors.protected voidLog a message to the Ant output.protected booleanneedToRebuild(Hashtable<String, File> ejbFiles, File jarFile) This method checks the timestamp on each file listed in theejbFilesand compares them to the timestamp on thejarFile.protected voidregisterKnownDTDs(DescriptorHandler handler) Register the locations of all known DTDs.voidsetClasspath(Path classpath) Set the classpath to be used for this compilation.voidsetDestdir(File inDir) Set the destination directory; required.voidSet the task which owns this toolprotected booleanIndicate if this build is using the base jar name.voidCalled to validate that the tool parameters have been configured.protected voidMethod used to encapsulate the writing of the JAR file.
-
Constructor Details
-
IPlanetDeploymentTool
public IPlanetDeploymentTool()
-
-
Method Details
-
setIashome
Setter method used to store the "home" directory of the user's iAS installation. The directory specified should typically be[install-location]/iplanet/ias6/ias.- Parameters:
iashome- The home directory for the user's iAS installation.
-
setKeepgenerated
public void setKeepgenerated(boolean keepgenerated) Setter method used to specify whether the Java source files generated by the ejbc utility should be saved or automatically deleted.- Parameters:
keepgenerated- boolean which, iftrue, indicates that Java source files generated by ejbc for the stubs and skeletons should be kept.
-
setDebug
public void setDebug(boolean debug) Sets whether or not debugging output will be generated when ejbc is executed.- Parameters:
debug- A boolean indicating if debugging output should be generated
-
setSuffix
Setter method used to specify the filename suffix (for example, ".jar") for the JAR files to be created.- Parameters:
jarSuffix- The string to use as the JAR filename suffix.
-
setGenericJarSuffix
Since iAS doesn't generate a "generic" JAR as part of its processing, this attribute is ignored and a warning message is displayed to the user.- Overrides:
setGenericJarSuffixin classGenericDeploymentTool- Parameters:
inString- the string to use as the suffix. This parameter is ignored.
-
processDescriptor
Process a deployment descriptor, generating the necessary vendor specific deployment files...- Specified by:
processDescriptorin interfaceEJBDeploymentTool- Overrides:
processDescriptorin classGenericDeploymentTool- Parameters:
descriptorName- the name of the deployment descriptorsaxParser- a SAX parser which can be used to parse the deployment descriptor.
-
checkConfiguration
protected void checkConfiguration(String descriptorFileName, SAXParser saxParser) throws BuildException Verifies that the user selections are valid.- Overrides:
checkConfigurationin classGenericDeploymentTool- 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 the user selections are invalid.
-
parseEjbFiles
protected Hashtable<String,File> 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.- Overrides:
parseEjbFilesin classGenericDeploymentTool- 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
- Throws:
IOException- An IOException from the parser, possibly from the byte stream or character streamSAXException- Any SAX exception, possibly wrapping another exception
-
addVendorFiles
Add the iAS-specific EJB descriptor to the list of files which will be written to the JAR file.- Overrides:
addVendorFilesin classGenericDeploymentTool- Parameters:
ejbFiles- Hashtable of EJB class (and other) files to be added to the completed JAR file.ddPrefix- not used
-
getPublicId
The iAS ejbc utility doesn't require the Public ID of the descriptor's DTD for it to process correctly--this method always returnsnull.- Overrides:
getPublicIdin classGenericDeploymentTool- Returns:
null.
-