You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by co...@locus.apache.org on 2000/11/19 09:59:24 UTC

cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb Ejbc.java EjbcHelper.java

conor       00/11/19 00:59:24

  Modified:    src/main/org/apache/tools/ant/taskdefs/optional/ejb
                        Ejbc.java EjbcHelper.java
  Log:
  Allow keepgenerated flag to be controlled from the ejbc task. It
  defaults to false.
  
  To keep genrated code, use the keepgenerated="true"
  
  Submitted by:	William Turnbull <Wi...@trcinc.com>
  
  Revision  Changes    Path
  1.8       +17 -6     jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/Ejbc.java
  
  Index: Ejbc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/Ejbc.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Ejbc.java	2000/10/19 13:29:43	1.7
  +++ Ejbc.java	2000/11/19 08:59:23	1.8
  @@ -1,7 +1,7 @@
   /*
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights 
  + * Copyright (c) 2000 The Apache Software Foundation.  All rights 
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -53,7 +53,6 @@
    */
   package org.apache.tools.ant.taskdefs.optional.ejb;
   
  -
   import org.apache.tools.ant.BuildException;
   import org.apache.tools.ant.DirectoryScanner;
   import org.apache.tools.ant.Project;
  @@ -99,6 +98,8 @@
        */
       private File sourceDirectory;
       
  +    public boolean keepgenerated;
  +    
       /**
        * Do the work.
        *
  @@ -144,6 +145,8 @@
           args += " " + generatedFilesDirectory;
           args += " " + sourceDirectory;
           args += " " + generatedManifestFile;
  +        args += " " + keepgenerated;
  +        
           for (int i = 0; i < files.length; ++i) {
               args += " " + files[i];
           }
  @@ -154,7 +157,11 @@
               throw new BuildException("Execution of ejbc helper failed");
           }
       }
  -
  +    
  +    public boolean getKeepgenerated() {
  +        return keepgenerated;
  +    }
  +    
       /**
        * Set the directory from where the serialised deployment descriptors are
        * to be read.
  @@ -173,7 +180,12 @@
       public void setDest(String dirName) {
           generatedFilesDirectory = new File(dirName);
       }
  -
  +    
  +    public void setKeepgenerated(String newKeepgenerated) {
  +        keepgenerated = Boolean.valueOf(newKeepgenerated.trim()).booleanValue();
  +        
  +    }
  +    
       /**
        * Set the generated manifest file. 
        *
  @@ -192,7 +204,7 @@
       public void setClasspath(String s) {
           this.classpath = project.translatePath(s);
       }
  -
  +    
       /**
        * Set the directory containing the source code for the home interface, remote interface
        * and public key class definitions.
  @@ -202,5 +214,4 @@
       public void setSrc(String dirName) {
           sourceDirectory = new File(dirName);
       }
  -                
   }
  
  
  
  1.5       +31 -18    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbcHelper.java
  
  Index: EjbcHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbcHelper.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- EjbcHelper.java	2000/10/19 13:29:44	1.4
  +++ EjbcHelper.java	2000/11/19 08:59:23	1.5
  @@ -1,7 +1,7 @@
   /*
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights 
  + * Copyright (c) 2000 The Apache Software Foundation.  All rights 
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -53,12 +53,8 @@
    */
   package org.apache.tools.ant.taskdefs.optional.ejb;
   
  -import java.io.File;
  -import java.io.FileInputStream;
  -import java.io.ObjectInputStream;
  -import java.io.IOException;
  -import java.io.PrintWriter;
  -import java.io.FileWriter;
  +import java.io.*;
  +import java.util.*;
   
   import javax.ejb.deployment.EntityDescriptor;
   import javax.ejb.deployment.DeploymentDescriptor;
  @@ -103,8 +99,10 @@
       /**
        * The names of the serialised deployment descriptors
        */
  -    String[] descriptors; 
  +    String[] descriptors;
   
  +    private boolean keepGenerated;
  +
       /**
        * Command line interface for the ejbc helper task.
        */    
  @@ -112,7 +110,7 @@
           EjbcHelper helper = new EjbcHelper(args);
           helper.process();
       }
  -
  +    
       /**
        * Initialise the EjbcHelper by reading the command arguments.
        */    
  @@ -122,12 +120,31 @@
           generatedFilesDirectory = new File(args[index++]);
           sourceDirectory = new File(args[index++]);
           manifestFile = new File(args[index++]);
  +        keepGenerated = Boolean.valueOf(args[index++]).booleanValue();
           
           descriptors = new String[args.length - index];
           for (int i = 0; index < args.length; ++i) {
               descriptors[i] = args[index++];
           }
       }
  +    
  +    private String[] getCommandLine(boolean debug, File descriptorFile) {
  +        Vector v = new Vector();
  +        if (!debug) {
  +            v.add("-noexit");
  +        }
  +        if (keepGenerated) {
  +            v.add("-keepgenerated");        
  +        }
  +        v.add("-d");
  +        v.add(generatedFilesDirectory.getPath());
  +        v.add(descriptorFile.getPath());
  +    
  +        String[] args = new String[v.size()];
  +        v.copyInto(args);
  +        System.out.println("args: "+args);
  +        return args;
  +    }
   
       /**
        * Determine if the weblogic EJB support classes need to be regenerated
  @@ -222,7 +239,7 @@
           
           return false;
       }
  -
  +    
       /**
        * Process the descriptors in turn generating support classes for each and a manifest
        * file for all of the beans.
  @@ -249,7 +266,7 @@
           fw.flush();
           fw.close();
       }
  -
  +    
       /**
        * Perform the weblogic.ejbc call to regenerate the support classes.
        *
  @@ -259,19 +276,15 @@
       private void regenerateSupportClasses(File descriptorFile) throws Exception {
           // create a Java task to do the rebuild
   
  -        String[] args = {"-noexit",
  -                         "-keepgenerated",
  -                         "-d", generatedFilesDirectory.getPath(),
  -                         descriptorFile.getPath()};
  +        
  +        String[] args = getCommandLine(false,descriptorFile);
           
           try {
               weblogic.ejbc.main(args);
           }
           catch (Exception e) {
               // run with no exit for better reporting
  -            String[] newArgs = {"-keepgenerated",
  -                         "-d", generatedFilesDirectory.getPath(),
  -                         descriptorFile.getPath()};
  +            String[] newArgs = getCommandLine(true, descriptorFile);
               weblogic.ejbc.main(newArgs);
           }
       }