FileDocCategorySizeDatePackage
DDCreator.javaAPI DocApache Ant 1.705136Wed Dec 13 06:16:18 GMT 2006org.apache.tools.ant.taskdefs.optional.ejb

DDCreator

public class DDCreator extends org.apache.tools.ant.taskdefs.MatchingTask
Builds a serialized deployment descriptor given a text file description of the descriptor in the format supported by WebLogic. This ant task is a front end for the weblogic DDCreator tool.

Fields Summary
private File
descriptorDirectory
The root directory of the tree containing the textual deployment descriptors. The actual deployment descriptor files are selected using include and exclude constructs on the EJBC task, as supported by the MatchingTask superclass.
private File
generatedFilesDirectory
The directory where generated serialised deployment descriptors are placed.
private String
classpath
The classpath to be used in the weblogic ejbc calls. It must contain the weblogic classes necessary fro DDCreator and the implementation classes of the home and remote interfaces.
Constructors Summary
Methods Summary
public voidexecute()
Do the work. The work is actually done by creating a helper task. This approach allows the classpath of the helper task to be set. Since the weblogic tools require the class files of the project's home and remote interfaces to be available in the classpath, this also avoids having to start ant with the class path of the project it is building.

exception
BuildException if something goes wrong with the build

        if (descriptorDirectory == null
            || !descriptorDirectory.isDirectory()) {
            throw new BuildException("descriptors directory "
                + descriptorDirectory.getPath() + " is not valid");
        }
        if (generatedFilesDirectory == null
            || !generatedFilesDirectory.isDirectory()) {
            throw new BuildException("dest directory "
                + generatedFilesDirectory.getPath() + " is not valid");
        }

        String args = descriptorDirectory + " " + generatedFilesDirectory;

        // get all the files in the descriptor directory
        DirectoryScanner ds = super.getDirectoryScanner(descriptorDirectory);

        String[] files = ds.getIncludedFiles();

        for (int i = 0; i < files.length; ++i) {
            args += " " + files[i];
        }

        String systemClassPath = System.getProperty("java.class.path");
        String execClassPath = FileUtils.translatePath(systemClassPath + ":" + classpath);
        Java ddCreatorTask = new Java(this);
        ddCreatorTask.setFork(true);
        ddCreatorTask.setClassname("org.apache.tools.ant.taskdefs.optional.ejb.DDCreatorHelper");
        Commandline.Argument arguments = ddCreatorTask.createArg();
        arguments.setLine(args);
        ddCreatorTask.setClasspath(new Path(getProject(), execClassPath));
        if (ddCreatorTask.executeJava() != 0) {
            throw new BuildException("Execution of ddcreator helper failed");
        }
    
public voidsetClasspath(java.lang.String s)
Set the classpath to be used for this compilation.

param
s the classpath to use for the ddcreator tool.

        this.classpath = FileUtils.translatePath(s);
    
public voidsetDescriptors(java.lang.String dirName)
Set the directory from where the text descriptions of the deployment descriptors are to be read.

param
dirName the name of the directory containing the text deployment descriptor files.

        descriptorDirectory = new File(dirName);
    
public voidsetDest(java.lang.String dirName)
Set the directory into which the serialized deployment descriptors are to be written.

param
dirName the name of the directory into which the serialised deployment descriptors are written.

        generatedFilesDirectory = new File(dirName);