ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From co...@apache.org
Subject cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/jlink ClassNameReader.java JlinkTask.java
Date Sun, 14 Apr 2002 11:16:19 GMT
conor       02/04/14 04:16:19

  Modified:    src/main/org/apache/tools/ant/taskdefs Delete.java
                        DependSet.java Ear.java Exec.java ExecTask.java
                        Execute.java ExecuteOn.java Exit.java Expand.java
                        FixCRLF.java GUnzip.java GenerateKey.java Get.java
                        Jar.java Java.java Javac.java Javadoc.java
                        Jikes.java JikesOutputParser.java KeySubst.java
                        LoadFile.java LogOutputStream.java
                        MatchingTask.java Move.java Pack.java
                        ProcessDestroyer.java Property.java
                        PumpStreamHandler.java Recorder.java
                        RecorderEntry.java Replace.java Rmic.java
                        SQLExec.java SendEmail.java Sequential.java
                        SignJar.java Sleep.java StreamPumper.java Tar.java
                        TaskOutputStream.java Touch.java Tstamp.java
                        Unpack.java Untar.java UpToDate.java
                        XSLTProcess.java Zip.java
               src/main/org/apache/tools/ant/taskdefs/compilers
                        CompilerAdapterFactory.java
               src/main/org/apache/tools/ant/taskdefs/condition
                        ConditionBase.java FilesMatch.java Os.java
               src/main/org/apache/tools/ant/taskdefs/cvslib CVSEntry.java
                        ChangeLogParser.java ChangeLogTask.java
                        ChangeLogWriter.java CvsUser.java RCSFile.java
                        RedirectingOutputStream.java
                        RedirectingStreamHandler.java
               src/main/org/apache/tools/ant/taskdefs/email
                        EmailAddress.java EmailTask.java Mailer.java
                        Message.java MimeMailer.java PlainMailer.java
                        UUMailer.java
               src/main/org/apache/tools/ant/taskdefs/optional Cab.java
                        EchoProperties.java IContract.java Javah.java
                        Native2Ascii.java NetRexxC.java PropertyFile.java
                        RenameExtensions.java ReplaceRegExp.java Rpm.java
                        Script.java StyleBook.java Test.java
                        XslpLiaison.java
               src/main/org/apache/tools/ant/taskdefs/optional/clearcase
                        CCCheckin.java CCCheckout.java CCUnCheckout.java
                        CCUpdate.java ClearCase.java
               src/main/org/apache/tools/ant/taskdefs/optional/depend
                        AntAnalyzer.java ClassFile.java Depend.java
                        DirectoryIterator.java
               src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool
                        ClassCPInfo.java ConstantPool.java
                        FieldRefCPInfo.java InterfaceMethodRefCPInfo.java
                        MethodRefCPInfo.java NameAndTypeCPInfo.java
                        StringCPInfo.java
               src/main/org/apache/tools/ant/taskdefs/optional/dotnet
                        CSharp.java NetCommand.java WsdlToDotnet.java
               src/main/org/apache/tools/ant/taskdefs/optional/ejb
                        BorlandDeploymentTool.java
                        BorlandGenerateClient.java DDCreator.java
                        DescriptorHandler.java EjbJar.java Ejbc.java
                        EjbcHelper.java GenericDeploymentTool.java
                        IPlanetEjbc.java InnerClassFilenameFilter.java
                        JonasDeploymentTool.java WLRun.java
                        WeblogicDeploymentTool.java
                        WeblogicTOPLinkDeploymentTool.java
                        WebsphereDeploymentTool.java
               src/main/org/apache/tools/ant/taskdefs/optional/i18n
                        Translate.java
               src/main/org/apache/tools/ant/taskdefs/optional/ide
                        VAJAntTool.java VAJAntToolGUI.java
                        VAJBuildInfo.java VAJExportServlet.java
                        VAJImport.java VAJLoad.java VAJLocalUtil.java
                        VAJRemoteUtil.java VAJTask.java
                        VAJToolsServlet.java VAJWorkspaceScanner.java
               src/main/org/apache/tools/ant/taskdefs/optional/j2ee
                        AbstractHotDeploymentTool.java
                        GenericHotDeploymentTool.java
                        WebLogicHotDeploymentTool.java
               src/main/org/apache/tools/ant/taskdefs/optional/javacc
                        JJTree.java JavaCC.java
               src/main/org/apache/tools/ant/taskdefs/optional/jdepend
                        JDependTask.java
               src/main/org/apache/tools/ant/taskdefs/optional/jlink
                        ClassNameReader.java JlinkTask.java
  Log:
  Various coding standard fixes
  
  Revision  Changes    Path
  1.29      +15 -15    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Delete.java
  
  Index: Delete.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Delete.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -w -u -r1.28 -r1.29
  
  
  
  1.13      +15 -15    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/DependSet.java
  
  Index: DependSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/DependSet.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -w -u -r1.12 -r1.13
  --- DependSet.java	11 Apr 2002 12:29:43 -0000	1.12
  +++ DependSet.java	14 Apr 2002 11:16:12 -0000	1.13
  @@ -109,7 +109,7 @@
    * 
    * @author <a href="mailto:cstrong@arielpartners.com">Craeg Strong</a>
    * @ant.task category="filesystem"
  - * @version $Revision: 1.12 $ $Date: 2002/04/11 12:29:43 $
  + * @version $Revision: 1.13 $ $Date: 2002/04/14 11:16:12 $
    * @since Ant 1.4
    */
   public class DependSet extends MatchingTask {
  @@ -265,8 +265,8 @@
                    File src = new File(sourceFL.getDir(project), sourceFiles[i]);
   
                    if (src.lastModified() > now) {
  -                    log("Warning: "+sourceFiles[i]+" modified in the future.", 
  -                        Project.MSG_WARN);
  +                    log("Warning: " + sourceFiles[i] 
  +                        + " modified in the future.", Project.MSG_WARN);
                    }
   
                    if (!src.exists()) {
  @@ -300,8 +300,8 @@
                    File src = new File(sourceFS.getDir(project), sourceFiles[i]);
   
                    if (src.lastModified() > now) {
  -                    log("Warning: "+sourceFiles[i]+" modified in the future.", 
  -                        Project.MSG_WARN);
  +                    log("Warning: " + sourceFiles[i]
  +                        + " modified in the future.", Project.MSG_WARN);
                    }
   
                    if (src.lastModified() > oldestTargetTime) {
  
  
  
  1.13      +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Ear.java
  
  Index: Ear.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Ear.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -w -u -r1.12 -r1.13
  
  
  
  1.26      +3 -3      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Exec.java
  
  Index: Exec.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Exec.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -w -u -r1.25 -r1.26
  
  
  
  1.35      +16 -16    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
  
  Index: ExecTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecTask.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -w -u -r1.34 -r1.35
  
  
  
  1.38      +58 -52    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Execute.java
  
  Index: Execute.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Execute.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -w -u -r1.37 -r1.38
  --- Execute.java	11 Apr 2002 11:54:19 -0000	1.37
  +++ Execute.java	14 Apr 2002 11:16:12 -0000	1.38
  @@ -79,7 +79,7 @@
    *
    * @since Ant 1.2
    *
  - * @version $Revision: 1.37 $
  + * @version $Revision: 1.38 $
    */
   public class Execute {
   
  @@ -115,7 +115,7 @@
               vmLauncher = new Java13CommandLauncher();
           }
           catch ( NoSuchMethodException exc ) {
  -            // Ignore and keep try
  +            // Ignore and keep trying
           }
   
           if ( Os.isFamily("mac") ) {
  @@ -525,11 +525,13 @@
               exe.setCommandline(cmdline);
               int retval = exe.execute();
               if ( retval != 0 ) {
  -                throw new BuildException(cmdline[0] + " failed with return code " + retval, task.getLocation());
  +                throw new BuildException(cmdline[0] 
  +                    + " failed with return code " + retval, task.getLocation());
               }
           }
           catch (java.io.IOException exc) {
  -            throw new BuildException("Could not launch " + cmdline[0] + ": " + exc, task.getLocation());
  +            throw new BuildException("Could not launch " + cmdline[0] + ": " 
  +                + exc, task.getLocation());
           }
       }
   
  @@ -548,8 +550,8 @@
            * @param env           The environment for the new process.  If null,
            *                      the environment of the current proccess is used.
            */
  -        public Process exec(Project project, String[] cmd, String[] env) throws IOException
  -        {
  +        public Process exec(Project project, String[] cmd, String[] env) 
  +             throws IOException {
               if (project != null) {
                   project.log("Execute:CommandLauncher: " +
                               Commandline.toString(cmd), Project.MSG_DEBUG);
  @@ -568,12 +570,13 @@
            * @param workingDir    The directory to start the command in.  If null,
            *                      the current directory is used
            */
  -        public Process exec(Project project, String[] cmd, String[] env, File workingDir) throws IOException
  -        {
  +        public Process exec(Project project, String[] cmd, String[] env, 
  +                            File workingDir) throws IOException {
               if ( workingDir == null ) {
                   return exec(project, cmd, env);
               }
  -            throw new IOException("Cannot execute a process in different directory under this JVM");
  +            throw new IOException("Cannot execute a process in different " 
  +                + "directory under this JVM");
           }
       }
   
  @@ -582,15 +585,15 @@
        * in Runtime.exec().  Can only launch commands in the current working
        * directory
        */
  -    private static class Java11CommandLauncher extends CommandLauncher
  -    {
  +    private static class Java11CommandLauncher extends CommandLauncher {
           /**
            * Launches the given command in a new process.  Needs to quote
            * arguments
            */
  -        public Process exec(Project project, String[] cmd, String[] env) throws IOException
  -        {
  -            // Need to quote arguments with spaces, and to escape quote characters
  +        public Process exec(Project project, String[] cmd, String[] env) 
  +             throws IOException {
  +            // Need to quote arguments with spaces, and to escape 
  +            // quote characters
               String[] newcmd = new String[cmd.length];
               for ( int i = 0; i < cmd.length; i++ ) {
                   newcmd[i] = Commandline.quoteArgument(cmd[i]);
  @@ -611,8 +614,10 @@
       {
           public Java13CommandLauncher() throws NoSuchMethodException
           {
  -            // Locate method Runtime.exec(String[] cmdarray, String[] envp, File dir)
  -            _execWithCWD = Runtime.class.getMethod("exec", new Class[] {String[].class, String[].class, File.class});
  +            // Locate method Runtime.exec(String[] cmdarray, 
  +            //                            String[] envp, File dir)
  +            _execWithCWD = Runtime.class.getMethod("exec", 
  +                new Class[] {String[].class, String[].class, File.class});
           }
   
           /**
  @@ -628,7 +633,8 @@
                                   Commandline.toString(cmd), Project.MSG_DEBUG);
                   }
                   Object[] arguments = { cmd, env, workingDir };
  -                return (Process)_execWithCWD.invoke(Runtime.getRuntime(), arguments);
  +                return (Process) _execWithCWD.invoke(Runtime.getRuntime(), 
  +                                                     arguments);
               }
               catch (InvocationTargetException exc) {
                   Throwable realexc = exc.getTargetException();
  
  
  
  1.27      +10 -10    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
  
  Index: ExecuteOn.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -w -u -r1.26 -r1.27
  
  
  
  1.16      +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Exit.java
  
  Index: Exit.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Exit.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -w -u -r1.15 -r1.16
  
  
  
  1.29      +6 -6      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Expand.java
  
  Index: Expand.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Expand.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -w -u -r1.28 -r1.29
  
  
  
  1.34      +19 -22    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java
  
  Index: FixCRLF.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -w -u -r1.33 -r1.34
  --- FixCRLF.java	11 Apr 2002 14:28:00 -0000	1.33
  +++ FixCRLF.java	14 Apr 2002 11:16:12 -0000	1.34
  @@ -116,7 +116,7 @@
    *
    * @author Sam Ruby <a href="mailto:rubys@us.ibm.com">rubys@us.ibm.com</a>
    * @author <a href="mailto:pbwest@powerup.com.au">Peter B. West</a>
  - * @version $Revision: 1.33 $ $Name:  $
  + * @version $Revision: 1.34 $ $Name:  $
    * @since Ant 1.1
    *
    * @ant.task category="filesystem"
  @@ -449,10 +449,9 @@
                               break;
   
                           case IN_MULTI_COMMENT:
  -                            if ((endComment =
  -                                 lineString.indexOf("*/", line.getNext())
  -                                 ) >= 0)
  -                                {
  +                            endComment 
  +                                = lineString.indexOf("*/", line.getNext());
  +                            if (endComment >= 0) {
                                       // End of multiLineComment on this line
                                       endComment += 2;  // Include the end token
                                       lines.setState(LOOKING);
  @@ -768,13 +767,11 @@
               }
   
               for ( ; nextStop - placediff <= linestring.length()
  -                          ; nextStop += tablength)
  -            {
  +                          ; nextStop += tablength) {
                   for (tabCol = nextStop;
                                --tabCol - placediff >= place
                                && linestring.charAt(tabCol - placediff) == ' '
  -                             ;)
  -                {
  +                             ;) {
                       ; // Loop for the side-effects
                   }
                   // tabCol is column index of the last non-space character
  
  
  
  1.13      +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/GUnzip.java
  
  Index: GUnzip.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/GUnzip.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -w -u -r1.12 -r1.13
  
  
  
  1.14      +41 -41    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java
  
  Index: GenerateKey.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  --- GenerateKey.java	11 Apr 2002 14:28:00 -0000	1.13
  +++ GenerateKey.java	14 Apr 2002 11:16:12 -0000	1.14
  @@ -224,17 +224,17 @@
       } 
   
       public void setKeysize(final String keysize) throws BuildException {
  -        try { this.keysize = Integer.parseInt(keysize); }
  -        catch(final NumberFormatException nfe) 
  -        {
  +        try { 
  +            this.keysize = Integer.parseInt(keysize); 
  +        } catch (final NumberFormatException nfe) {
               throw new BuildException( "KeySize attribute should be a integer" );
           }
       } 
   
       public void setValidity(final String validity) throws BuildException {
  -        try { this.validity = Integer.parseInt(validity); }
  -        catch(final NumberFormatException nfe) 
  -        {
  +        try { 
  +            this.validity = Integer.parseInt(validity); 
  +        } catch (final NumberFormatException nfe) {
               throw new BuildException( "Validity attribute should be a integer" );
           }
       } 
  
  
  
  1.19      +69 -68    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Get.java
  
  Index: Get.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Get.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -w -u -r1.18 -r1.19
  --- Get.java	11 Apr 2002 14:28:00 -0000	1.18
  +++ Get.java	14 Apr 2002 11:16:12 -0000	1.19
  @@ -163,7 +163,8 @@
               connection.connect();
               //next test for a 304 result (HTTP only)
               if(connection instanceof HttpURLConnection)  {
  -                HttpURLConnection httpConnection=(HttpURLConnection)connection;
  +                HttpURLConnection httpConnection
  +                    = (HttpURLConnection) connection;
                   if(httpConnection.getResponseCode() 
                      == HttpURLConnection.HTTP_NOT_MODIFIED)  {
                       //not modified so no file download. just return
  
  
  
  1.47      +9 -9      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Jar.java
  
  Index: Jar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Jar.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -w -u -r1.46 -r1.47
  --- Jar.java	11 Apr 2002 14:28:00 -0000	1.46
  +++ Jar.java	14 Apr 2002 11:16:12 -0000	1.47
  @@ -214,7 +214,7 @@
   
       public void setFilesetmanifest(FilesetManifestConfig config) {
           String filesetManifestConfig = config.getValue();
  -        mergeManifests = ! "skip".equals(filesetManifestConfig);
  +        mergeManifests = !("skip".equals(filesetManifestConfig));
           mergeManifestsMain = "merge".equals(filesetManifestConfig);
       }
   
  
  
  
  1.41      +9 -9      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Java.java
  
  Index: Java.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Java.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -w -u -r1.40 -r1.41
  
  
  
  1.95      +7 -8      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javac.java
  
  Index: Javac.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javac.java,v
  retrieving revision 1.94
  retrieving revision 1.95
  diff -u -w -u -r1.94 -r1.95
  --- Javac.java	11 Apr 2002 15:20:33 -0000	1.94
  +++ Javac.java	14 Apr 2002 11:16:12 -0000	1.95
  @@ -103,7 +103,7 @@
    * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
    * @author <a href="mailto:jayglanville@home.com">J D Glanville</a>
    *
  - * @version $Revision: 1.94 $
  + * @version $Revision: 1.95 $
    *
    * @since Ant 1.1
    *
  @@ -615,8 +615,7 @@
       public String[] getCurrentCompilerArgs() {
           Vector args = new Vector();
           for (Enumeration enum = implementationSpecificArgs.elements();
  -             enum.hasMoreElements();
  -             ) {
  +             enum.hasMoreElements();) {
               ImplementationSpecificArgument arg = 
                   ((ImplementationSpecificArgument) enum.nextElement());
               String[] curr = arg.getParts();
  
  
  
  1.88      +46 -45    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
  
  Index: Javadoc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java,v
  retrieving revision 1.87
  retrieving revision 1.88
  diff -u -w -u -r1.87 -r1.88
  --- Javadoc.java	11 Apr 2002 15:59:37 -0000	1.87
  +++ Javadoc.java	14 Apr 2002 11:16:12 -0000	1.88
  @@ -844,7 +844,8 @@
                       ("No description specified for custom tag "+name);
               }
               
  -            return name+":"+(enabled ? "" : "X")+scope+":"+description;
  +            return name + ":" + (enabled ? "" : "X") 
  +                + scope + ":" + description;
           }
       }
   
  
  
  
  1.11      +4 -4      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Jikes.java
  
  Index: Jikes.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Jikes.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -w -u -r1.10 -r1.11
  
  
  
  1.11      +3 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/JikesOutputParser.java
  
  Index: JikesOutputParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/JikesOutputParser.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -w -u -r1.10 -r1.11
  --- JikesOutputParser.java	10 Jan 2002 15:34:21 -0000	1.10
  +++ JikesOutputParser.java	14 Apr 2002 11:16:12 -0000	1.11
  @@ -77,7 +77,8 @@
   public class JikesOutputParser implements ExecuteStreamHandler {
       protected Task task;
       protected boolean errorFlag = false; // no errors so far
  -    protected int errors,warnings;
  +    protected int errors;
  +    protected int warnings;
       protected boolean error = false;
       protected boolean emacsMode;
       
  
  
  
  1.14      +20 -21    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/KeySubst.java
  
  Index: KeySubst.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/KeySubst.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  --- KeySubst.java	12 Apr 2002 13:26:50 -0000	1.13
  +++ KeySubst.java	14 Apr 2002 11:16:12 -0000	1.14
  @@ -187,8 +187,7 @@
           hash.put ( "b", "ffff" );
           System.out.println ( KeySubst.replace ( "$f ${VERSION} f ${b} jj $", 
                                                   hash ) );
  -        }catch ( Exception e)
  -        {
  +        } catch (Exception e) {
               e.printStackTrace();
           }
       }
  
  
  
  1.16      +5 -4      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/LoadFile.java
  
  Index: LoadFile.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/LoadFile.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -w -u -r1.15 -r1.16
  --- LoadFile.java	12 Apr 2002 13:26:50 -0000	1.15
  +++ LoadFile.java	14 Apr 2002 11:16:12 -0000	1.16
  @@ -166,7 +166,8 @@
           FileInputStream fis = null;
           BufferedInputStream bis = null;
           Reader instream = null;
  -        log("loading "+srcFile+" into property "+property,Project.MSG_VERBOSE);
  +        log("loading " + srcFile + " into property " + property,
  +            Project.MSG_VERBOSE);
           try {
               final long len = srcFile.length();
               log("file size = "+len,Project.MSG_DEBUG);
  
  
  
  1.7       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/LogOutputStream.java
  
  Index: LogOutputStream.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/LogOutputStream.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.23      +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java
  
  Index: MatchingTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -w -u -r1.22 -r1.23
  
  
  
  1.23      +6 -6      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Move.java
  
  Index: Move.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Move.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -w -u -r1.22 -r1.23
  --- Move.java	11 Apr 2002 08:43:51 -0000	1.22
  +++ Move.java	14 Apr 2002 11:16:12 -0000	1.23
  @@ -82,7 +82,7 @@
    *
    * @author Glenn McAllister <a href="mailto:glennm@ca.ibm.com">glennm@ca.ibm.com</a>
    * @author <a href="mailto:umagesh@rediffmail.com">Magesh Umasankar</a>
  - * @version $Revision: 1.22 $
  + * @version $Revision: 1.23 $
    *
    * @since Ant 1.2
    *
  
  
  
  1.7       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Pack.java
  
  Index: Pack.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Pack.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.3       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ProcessDestroyer.java
  
  Index: ProcessDestroyer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ProcessDestroyer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.47      +8 -8      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Property.java
  
  Index: Property.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Property.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -w -u -r1.46 -r1.47
  
  
  
  1.6       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/PumpStreamHandler.java
  
  Index: PumpStreamHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/PumpStreamHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -u -r1.5 -r1.6
  
  
  
  1.11      +62 -49    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Recorder.java
  
  Index: Recorder.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Recorder.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -w -u -r1.10 -r1.11
  --- Recorder.java	12 Apr 2002 09:35:39 -0000	1.10
  +++ Recorder.java	14 Apr 2002 11:16:13 -0000	1.11
  @@ -51,7 +51,6 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  -
   package org.apache.tools.ant.taskdefs;
   
   import org.apache.tools.ant.BuildException;
  @@ -59,7 +58,6 @@
   import org.apache.tools.ant.Project;
   import org.apache.tools.ant.types.EnumeratedAttribute;
   
  -
   import org.apache.tools.ant.Task;
   
   import java.io.PrintStream;
  @@ -69,11 +67,12 @@
   import java.util.Hashtable;
   
   /**
  - * This task is the manager for RecorderEntry's.  It is this class
  - * that holds all entries, modifies them every time the &lt;recorder&gt;
  - * task is called, and addes them to the build listener process.
  - * @see RecorderEntry
  + * This task is the manager for RecorderEntry's. It is this class that holds
  + * all entries, modifies them every time the &lt;recorder&gt; task is called,
  + * and addes them to the build listener process.
  + *
    * @author <a href="mailto:jayglanville@home.com">J D Glanville</a>
  + * @see RecorderEntry
    * @version 0.5
    * @since Ant 1.4
    * @ant.task name="record" category="utility"
  @@ -85,19 +84,18 @@
   
       /** The name of the file to record to. */
       private String filename = null;
  -    /** Whether or not to append.  Need Boolean to record an unset
  -     *  state (null).
  +    /**
  +     * Whether or not to append. Need Boolean to record an unset state (null).
        */
       private Boolean append = null;
  -    /** Whether to start or stop recording.  Need Boolean to record an
  -     *  unset state (null).
  +    /**
  +     * Whether to start or stop recording. Need Boolean to record an unset
  +     * state (null).
        */
       private Boolean start = null;
       /** The level to log at. A level of -1 means not initialized yet. */
       private int loglevel = -1;
  -    /**
  -     * Strip task banners if true.
  -     */
  +    /** Strip task banners if true.  */
       private boolean emacsMode = false;
       /** The list of recorder entries. */
       private static Hashtable recorderEntries = new Hashtable();
  @@ -109,15 +107,19 @@
       // ACCESSOR METHODS
   
       /**
  -     * Sets the name of the file to log to, and the name of the recorder entry.
  +     * Sets the name of the file to log to, and the name of the recorder
  +     * entry.
  +     *
        * @param fname File name of logfile.
        */
       public void setName( String fname ) {
           filename = fname;
       }
   
  +
       /**
        * Sets the action for the associated recorder entry.
  +     *
        * @param action The action for the entry to take: start or stop.
        */
       public void setAction( ActionChoices action ) {
  @@ -128,24 +130,27 @@
           }
       }
   
  -    /**
  -     * Whether or not the logger should append to a previous file.
  -     */
  +
  +    /** Whether or not the logger should append to a previous file.  */
       public void setAppend( boolean append ) {
           this.append = new Boolean(append);
       }
   
  +
       public void setEmacsMode(boolean emacsMode) {
           this.emacsMode = emacsMode;
       }
   
  +
       /**
        * Sets the level to which this recorder entry should log to.
  +     *
        * @see VerbosityLevelChoices
        */
       public void setLoglevel( VerbosityLevelChoices level ){
           //I hate cascading if/elseif clauses !!!
           String lev = level.getValue();
  +
           if ( lev.equalsIgnoreCase("error") ) {
               loglevel = Project.MSG_ERR;
           } else if ( lev.equalsIgnoreCase("warn") ){
  @@ -162,9 +167,7 @@
       //////////////////////////////////////////////////////////////////////
       // CORE / MAIN BODY
   
  -    /**
  -     * The main execution.
  -     */
  +    /** The main execution.  */
       public void execute() throws BuildException {
           if ( filename == null ) {
               throw new BuildException( "No filename specified" );
  @@ -190,11 +193,14 @@
        */
       public static class ActionChoices extends EnumeratedAttribute {
           private final static String[] values = {"start", "stop"};
  +
  +
           public String[] getValues() {
               return values;
           }
       }
   
  +
       /**
        * A list of possible values for the <code>setLoglevel()</code> method.
        * Possible values include: error, warn, info, verbose, debug.
  @@ -202,24 +208,30 @@
       public static class VerbosityLevelChoices extends EnumeratedAttribute {
           private final static String[] values = { "error", "warn", "info",
               "verbose", "debug"};
  +
  +
           public String[] getValues() {
               return values;
           }
       }
   
  +
       /**
  -     * Gets the recorder that's associated with the passed in name.
  -     * If the recorder doesn't exist, then a new one is created.
  +     * Gets the recorder that's associated with the passed in name. If the
  +     * recorder doesn't exist, then a new one is created.
        */
       protected RecorderEntry getRecorder( String name, Project proj ) 
           throws BuildException {
           Object o = recorderEntries.get(name);
           RecorderEntry entry;
  +
           if ( o == null ) {
               // create a recorder entry
               try {
                   entry = new RecorderEntry( name );
  +
                   PrintStream out = null;
  +
                   if ( append == null ) {
                       out = new PrintStream(
                           new FileOutputStream(name));
  @@ -242,3 +254,4 @@
       }
   
   }
  +
  
  
  
  1.7       +62 -55    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java
  
  Index: RecorderEntry.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  --- RecorderEntry.java	12 Apr 2002 09:35:39 -0000	1.6
  +++ RecorderEntry.java	14 Apr 2002 11:16:13 -0000	1.7
  @@ -51,7 +51,6 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  -
   package org.apache.tools.ant.taskdefs;
   
   import org.apache.tools.ant.BuildLogger;
  @@ -62,10 +61,10 @@
   
   import java.io.PrintStream;
   
  -
   /**
  - * This is a class that represents a recorder.  This is the listener
  - * to the build process.
  + * This is a class that represents a recorder. This is the listener to the
  + * build process.
  + *
    * @author <a href="mailto:jayglanville@home.com">J D Glanville</a>
    * @version 0.5
    * @since Ant 1.4
  @@ -75,29 +74,17 @@
       //////////////////////////////////////////////////////////////////////
       // ATTRIBUTES
   
  -    /**
  -     * The name of the file associated with this recorder entry.
  -     */
  +    /** The name of the file associated with this recorder entry.  */
       private String filename = null;
  -    /**
  -     * The state of the recorder (recorder on or off).
  -     */
  +    /** The state of the recorder (recorder on or off).  */
       private boolean record = true;
  -    /**
  -     * The current verbosity level to record at.
  -     */
  +    /** The current verbosity level to record at.  */
       private int loglevel = Project.MSG_INFO;
  -    /**
  -     * The output PrintStream to record to.
  -     */
  +    /** The output PrintStream to record to.  */
       private PrintStream out = null;
  -    /**
  -     * The start time of the last know target.
  -     */
  +    /** The start time of the last know target.  */
       private long targetStartTime = 0l;
  -    /**
  -     * Strip task banners if true.
  -     */
  +    /** Strip task banners if true.  */
       private boolean emacsMode = false;
   
       //////////////////////////////////////////////////////////////////////
  @@ -105,7 +92,6 @@
   
       /**
        * @param name The name of this recorder (used as the filename).
  -     *
        */
       protected RecorderEntry( String name ) {
           filename = name;
  @@ -121,8 +107,10 @@
           return filename;
       }
   
  +
       /**
        * Turns off or on this recorder.
  +     *
        * @param state true for on, false for off, null for no change.
        */
       public void setRecordState( Boolean state ) {
  @@ -131,14 +119,17 @@
           }
       }
   
  +
       public void buildStarted(BuildEvent event) {
           log( "> BUILD STARTED", Project.MSG_DEBUG );
       }
   
  +
       public void buildFinished(BuildEvent event) {
           log( "< BUILD FINISHED", Project.MSG_DEBUG );
   
           Throwable error = event.getException();
  +
           if (error == null) {
               out.println(StringUtils.LINE_SEP + "BUILD SUCCESSFUL");
           } else {
  @@ -150,6 +141,7 @@
           out.close();
       }
   
  +
       public void targetStarted(BuildEvent event) {
           log( ">> TARGET STARTED -- " + event.getTarget(), Project.MSG_DEBUG );
           log( StringUtils.LINE_SEP + event.getTarget().getName() + ":", 
  @@ -157,32 +149,40 @@
           targetStartTime = System.currentTimeMillis();
       }
   
  +
       public void targetFinished(BuildEvent event) {
           log( "<< TARGET FINISHED -- " + event.getTarget(), Project.MSG_DEBUG );
  +
           String time = formatTime(System.currentTimeMillis() - targetStartTime);
  +
           log( event.getTarget() + ":  duration " + time, Project.MSG_VERBOSE );
           out.flush();
       }
   
  +
       public void taskStarted(BuildEvent event) {
           log( ">>> TASK STARTED -- " + event.getTask(), Project.MSG_DEBUG );
       }
   
  +
       public void taskFinished(BuildEvent event) {
           log( "<<< TASK FINISHED -- " + event.getTask(), Project.MSG_DEBUG );
           out.flush();
       }
   
  +
       public void messageLogged(BuildEvent event) {
           log( "--- MESSAGE LOGGED", Project.MSG_DEBUG );
   
           StringBuffer buf = new StringBuffer();
  +
           if ( event.getTask() != null ) {
               String name = event.getTask().getTaskName();
               
               if (!emacsMode) {
                   String label = "[" + name + "] ";
                   int size = DefaultLogger.LEFT_COLUMN_SIZE - label.length();
  +
                   for (int i = 0; i < size; i++) {
                       buf.append(" ");
                   } // for
  @@ -194,8 +194,10 @@
           log( buf.toString(), event.getPriority() );
       }
   
  +
       /**
        * The thing that actually sends the information to the output.
  +     *
        * @param mesg The message to log.
        * @param level The verbosity level of the message.
        */
  @@ -205,24 +207,29 @@
           }
       }
   
  +
       public void setMessageOutputLevel(int level) {
           if ( level >= Project.MSG_ERR  &&  level <= Project.MSG_DEBUG ) {
               loglevel = level;
           }
       }
   
  +
       public void setOutputPrintStream(PrintStream output) {
           out = output;
       }
   
  +
       public void setEmacsMode(boolean emacsMode) {
           this.emacsMode = emacsMode;
       }
   
  +
       public void setErrorPrintStream(PrintStream err) {
           out = err;
       }
   
  +
       private static String formatTime(long millis) {
           long seconds = millis / 1000;
           long minutes = seconds / 60;
  @@ -233,11 +240,11 @@
                   + (minutes == 1 ? " " : "s ")
                   + Long.toString(seconds%60) + " second"
                   + (seconds%60 == 1 ? "" : "s");
  -        }
  -        else {
  +        } else {
               return Long.toString(seconds) + " second"
                   + (seconds%60 == 1 ? "" : "s");
           }
   
       }
   }
  +
  
  
  
  1.28      +8 -8      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Replace.java
  
  Index: Replace.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Replace.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -w -u -r1.27 -r1.28
  --- Replace.java	12 Apr 2002 13:26:50 -0000	1.27
  +++ Replace.java	14 Apr 2002 11:16:13 -0000	1.28
  @@ -367,7 +367,7 @@
               //   when multibyte characters exist in the source file
               //   but then again, it might be smaller than needed on
               //   platforms like Windows where length can't be trusted
  -            int fileLengthInBytes = (int)(src.length());
  +            int fileLengthInBytes = (int) src.length();
               StringBuffer tmpBuf = new StringBuffer(fileLengthInBytes);
               int readChar = 0;
               int totread = 0;
  
  
  
  1.34      +9 -8      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Rmic.java
  
  Index: Rmic.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Rmic.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -w -u -r1.33 -r1.34
  --- Rmic.java	12 Apr 2002 11:44:31 -0000	1.33
  +++ Rmic.java	14 Apr 2002 11:16:13 -0000	1.34
  @@ -570,7 +570,8 @@
       /**
        * Classloader for the user-specified classpath.
        */
  -    public ClassLoader getLoader() {return loader;}
  -
  +    public ClassLoader getLoader() {
  +        return loader;
  +    }
   }
   
  
  
  
  1.39      +25 -24    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/SQLExec.java
  
  Index: SQLExec.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/SQLExec.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -w -u -r1.38 -r1.39
  --- SQLExec.java	12 Apr 2002 13:26:50 -0000	1.38
  +++ SQLExec.java	14 Apr 2002 11:16:13 -0000	1.39
  @@ -677,7 +677,8 @@
                   
                   log("RDBMS = " + theVendor, Project.MSG_VERBOSE);
                   if (theVendor == null || theVendor.indexOf(rdbms) < 0) {
  -                    log("Not the required RDBMS: "+rdbms, Project.MSG_VERBOSE);
  +                    log("Not the required RDBMS: " + rdbms, 
  +                        Project.MSG_VERBOSE);
                       return false;
                   }
               }
  
  
  
  1.14      +2 -3      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/SendEmail.java
  
  Index: SendEmail.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/SendEmail.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  --- SendEmail.java	12 Apr 2002 07:27:45 -0000	1.13
  +++ SendEmail.java	14 Apr 2002 11:16:13 -0000	1.14
  @@ -118,8 +118,7 @@
        *
        * @deprecated Use {@link #setMailport(int)} instead.
        */
  -    public void setMailport( Integer value )
  -    {
  +    public void setMailport(Integer value) {
           setMailport( value.intValue() );
       }
   }
  
  
  
  1.7       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Sequential.java
  
  Index: Sequential.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Sequential.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.19      +29 -28    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/SignJar.java
  
  Index: SignJar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/SignJar.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -w -u -r1.18 -r1.19
  --- SignJar.java	12 Apr 2002 12:11:11 -0000	1.18
  +++ SignJar.java	14 Apr 2002 11:16:13 -0000	1.19
  @@ -184,8 +184,7 @@
                   DirectoryScanner ds = fs.getDirectoryScanner(project);
                   String[] jarFiles = ds.getIncludedFiles();
                   for(int j=0; j<jarFiles.length; j++) {
  -                    doOneJar( new File( fs.getDir(project), jarFiles[j] ), 
  -                              null);
  +                    doOneJar(new File(fs.getDir(project), jarFiles[j]), null);
                   }
               }
           }
  @@ -320,10 +319,12 @@
               return false;
           } finally {
               if(jarFile != null) {
  -                try {jarFile.close();} catch(IOException e) {}
  +                try {
  +                    jarFile.close();
  +                } catch (IOException e) {
  +                }
               }
           }
       }
  -
   }
   
  
  
  
  1.9       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Sleep.java
  
  Index: Sleep.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Sleep.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  
  
  
  1.5       +4 -4      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/StreamPumper.java
  
  Index: StreamPumper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/StreamPumper.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  
  
  
  1.28      +9 -9      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Tar.java
  
  Index: Tar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Tar.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -w -u -r1.27 -r1.28
  
  
  
  1.9       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/TaskOutputStream.java
  
  Index: TaskOutputStream.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/TaskOutputStream.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  
  
  
  1.22      +5 -5      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Touch.java
  
  Index: Touch.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Touch.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -w -u -r1.21 -r1.22
  
  
  
  1.24      +8 -8      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Tstamp.java
  
  Index: Tstamp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Tstamp.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -w -u -r1.23 -r1.24
  
  
  
  1.10      +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Unpack.java
  
  Index: Unpack.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Unpack.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -u -r1.9 -r1.10
  
  
  
  1.24      +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Untar.java
  
  Index: Untar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Untar.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -w -u -r1.23 -r1.24
  
  
  
  1.18      +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/UpToDate.java
  
  Index: UpToDate.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/UpToDate.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -w -u -r1.17 -r1.18
  
  
  
  1.41      +15 -15    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java
  
  Index: XSLTProcess.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -w -u -r1.40 -r1.41
  --- XSLTProcess.java	12 Apr 2002 12:58:02 -0000	1.40
  +++ XSLTProcess.java	14 Apr 2002 11:16:13 -0000	1.41
  @@ -72,7 +72,7 @@
    * A Task to process via XSLT a set of XML documents. This is
    * useful for building views of XML based documentation.
    *
  - * @version $Revision: 1.40 $ 
  + * @version $Revision: 1.41 $ 
    *
    * @author <a href="mailto:kvisco@exoffice.com">Keith Visco</a>
    * @author <a href="mailto:rubys@us.ibm.com">Sam Ruby</a>
  
  
  
  1.74      +29 -29    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Zip.java
  
  Index: Zip.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Zip.java,v
  retrieving revision 1.73
  retrieving revision 1.74
  diff -u -w -u -r1.73 -r1.74
  
  
  
  1.9       +10 -10    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java
  
  Index: CompilerAdapterFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  
  
  
  1.12      +4 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java
  
  Index: ConditionBase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -w -u -r1.11 -r1.12
  --- ConditionBase.java	11 Apr 2002 07:38:15 -0000	1.11
  +++ ConditionBase.java	14 Apr 2002 11:16:15 -0000	1.12
  @@ -71,7 +71,7 @@
    *
    * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
    * @since Ant 1.4
  - * @version $Revision: 1.11 $
  + * @version $Revision: 1.12 $
    */
   public abstract class ConditionBase extends ProjectComponent {
       private Vector conditions = new Vector();
  @@ -81,7 +81,9 @@
        *
        * @since 1.1
        */
  -    protected int countConditions() {return conditions.size();}
  +    protected int countConditions() {
  +        return conditions.size();
  +    }
   
       /**
        * Iterate through all conditions.
  
  
  
  1.8       +6 -6      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/condition/FilesMatch.java
  
  Index: FilesMatch.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/condition/FilesMatch.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -u -r1.7 -r1.8
  --- FilesMatch.java	12 Apr 2002 13:26:51 -0000	1.7
  +++ FilesMatch.java	14 Apr 2002 11:16:15 -0000	1.8
  @@ -63,7 +63,7 @@
    * content. Timestamps are not looked at at all.
    *
    * @author Steve Loughran
  - * @version $Revision: 1.7 $
  + * @version $Revision: 1.8 $
    * @since Ant 1.5
    */
   
  @@ -118,8 +118,8 @@
           try {
               matches=fu.contentEquals(file1, file2);
           } catch(IOException ioe) {
  -            throw new BuildException("when comparing files: "+ioe.getMessage(),
  -                                     ioe);
  +            throw new BuildException("when comparing files: " 
  +                + ioe.getMessage(), ioe);
           }
           return matches;
       }
  
  
  
  1.14      +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/condition/Os.java
  
  Index: Os.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/condition/Os.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  --- Os.java	11 Apr 2002 07:38:15 -0000	1.13
  +++ Os.java	14 Apr 2002 11:16:15 -0000	1.14
  @@ -64,7 +64,7 @@
    * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
    * @author <a href="mailto:umagesh@apache.org">Magesh Umasankar</a>
    * @since Ant 1.4
  - * @version $Revision: 1.13 $
  + * @version $Revision: 1.14 $
    */
   public class Os implements Condition {
       private final static String osName =
  
  
  
  1.3       +14 -22    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CVSEntry.java
  
  Index: CVSEntry.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CVSEntry.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- CVSEntry.java	2 Apr 2002 08:42:44 -0000	1.2
  +++ CVSEntry.java	14 Apr 2002 11:16:15 -0000	1.3
  @@ -61,54 +61,46 @@
    *
    * @author <a href="mailto:jeff.martin@synamic.co.uk">Jeff Martin</a>
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.2 $ $Date: 2002/04/02 08:42:44 $
  + * @version $Revision: 1.3 $ $Date: 2002/04/14 11:16:15 $
    */
  -class CVSEntry
  -{
  +class CVSEntry {
       private Date m_date;
       private final String m_author;
       private final String m_comment;
       private final Vector m_files = new Vector();
   
  -    public CVSEntry( Date date, String author, String comment )
  -    {
  +    public CVSEntry(Date date, String author, String comment) {
           m_date = date;
           m_author = author;
           m_comment = comment;
       }
   
  -    public void addFile( String file, String revision )
  -    {
  +    public void addFile(String file, String revision) {
           m_files.addElement( new RCSFile( file, revision ) );
       }
   
  -    public void addFile( String file, String revision, String previousRevision )
  -    {
  +    public void addFile(String file, String revision, String previousRevision) {
           m_files.addElement( new RCSFile( file, revision, previousRevision ) );
       }
   
  -    Date getDate()
  -    {
  +    Date getDate() {
           return m_date;
       }
   
  -    String getAuthor()
  -    {
  +    String getAuthor() {
           return m_author;
       }
   
  -    String getComment()
  -    {
  +    String getComment() {
           return m_comment;
       }
   
  -    Vector getFiles()
  -    {
  +    Vector getFiles() {
           return m_files;
       }
   
  -    public String toString()
  -    {
  -        return getAuthor() + "\n" + getDate() + "\n" + getFiles() + "\n" + getComment();
  +    public String toString() {
  +        return getAuthor() + "\n" + getDate() + "\n" + getFiles() + "\n" 
  +            + getComment();
       }
   }
  
  
  
  1.8       +50 -74    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java
  
  Index: ChangeLogParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -u -r1.7 -r1.8
  --- ChangeLogParser.java	4 Apr 2002 10:45:35 -0000	1.7
  +++ ChangeLogParser.java	14 Apr 2002 11:16:15 -0000	1.8
  @@ -64,10 +64,9 @@
    * A class used to parse the output of the CVS log command.
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.7 $ $Date: 2002/04/04 10:45:35 $
  + * @version $Revision: 1.8 $ $Date: 2002/04/14 11:16:15 $
    */
  -class ChangeLogParser
  -{
  +class ChangeLogParser {
       //private static final int GET_ENTRY = 0;
       private static final int GET_FILE = 1;
       private static final int GET_DATE = 2;
  @@ -76,7 +75,8 @@
       private static final int GET_PREVIOUS_REV = 5;
   
       /** input format for dates read in from cvs log */
  -    private static final SimpleDateFormat c_inputDate = new SimpleDateFormat( "yyyy/MM/dd hh:mm:ss" );
  +    private static final SimpleDateFormat c_inputDate 
  +        = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
   
       //The following is data used while processing stdout of CVS command
       private String m_file;
  @@ -98,8 +98,7 @@
        *
        * @param userList the userlist
        */
  -    public ChangeLogParser( Properties userList )
  -    {
  +    public ChangeLogParser(Properties userList) {
           m_userList = userList;
       }
   
  @@ -108,8 +107,7 @@
        *
        * @return a list of rcs entrys as an array
        */
  -    CVSEntry[] getEntrySetAsArray()
  -    {
  +    CVSEntry[] getEntrySetAsArray() {
           final CVSEntry[] array = new CVSEntry[ m_entries.size() ];
           Enumeration enum = m_entries.elements();
           int i = 0;
  @@ -123,10 +121,8 @@
        * Receive notification about the process writing
        * to standard output.
        */
  -    public void stdout( final String line )
  -    {
  -        switch( m_status )
  -        {
  +    public void stdout(final String line) {
  +        switch(m_status) {
               case GET_FILE:
                   processFile( line );
                   break;
  @@ -153,11 +149,9 @@
        *
        * @param line the line
        */
  -    private void processComment( final String line )
  -    {
  +    private void processComment(final String line) {
           final String lineSeparator = System.getProperty( "line.separator" );
  -        if( line.startsWith( "======" ) )
  -        {
  +        if (line.startsWith("======")) {
               //We have ended changelog for that particular file
               //so we can save it
               final int end = m_comment.length() - lineSeparator.length(); //was -1
  @@ -165,8 +159,7 @@
               saveEntry();
               m_status = GET_FILE;
           }
  -        else if( line.startsWith( "------" ) )
  -        {
  +        else if (line.startsWith("------")) {
               final int end = m_comment.length() - lineSeparator.length(); //was -1
               m_comment = m_comment.substring( 0, end );
               m_status = GET_PREVIOUS_REV;
  @@ -182,10 +175,8 @@
        *
        * @param line the line
        */
  -    private void processFile( final String line )
  -    {
  -        if( line.startsWith( "Working file:" ) )
  -        {
  +    private void processFile(final String line) {
  +        if (line.startsWith("Working file:")) {
               m_file = line.substring( 14, line.length() );
               m_status = GET_REVISION;
           }
  @@ -196,15 +187,12 @@
        *
        * @param line the line
        */
  -    private void processRevision( final String line )
  -    {
  -        if( line.startsWith( "revision" ) )
  -        {
  +    private void processRevision(final String line) {
  +        if (line.startsWith("revision")) {
               m_revision = line.substring( 9 );
               m_status = GET_DATE;
           }
  -        else if( line.startsWith( "======" ) )
  -        {
  +        else if (line.startsWith("======")) {
               //There was no revisions in this changelog
               //entry so lets move unto next file
               m_status = GET_FILE;
  @@ -216,16 +204,13 @@
        *
        * @param line the line
        */
  -    private void processDate( final String line )
  -    {
  -        if( line.startsWith( "date:" ) )
  -        {
  +    private void processDate(final String line) {
  +        if (line.startsWith("date:")) {
               m_date = line.substring( 6, 25 );
               String lineData = line.substring( line.indexOf( ";" ) + 1 );
               m_author = lineData.substring( 10, lineData.indexOf( ";" ) );
   
  -            if( m_userList.containsKey( m_author ) )
  -            {
  +            if (m_userList.containsKey(m_author)) {
                   m_author = m_userList.getProperty( m_author );
               }
   
  @@ -242,11 +227,10 @@
        *
        * @param line the line
        */
  -    private void processGetPreviousRevision( final String line )
  -    {
  -        if( !line.startsWith( "revision" ) )
  -        {
  -            throw new IllegalStateException( "Unexpected line from CVS: " + line );
  +    private void processGetPreviousRevision(final String line) {
  +        if (!line.startsWith("revision")) {
  +            throw new IllegalStateException("Unexpected line from CVS: " 
  +                + line);
           }
           m_previousRevision = line.substring( 9 );
   
  @@ -259,17 +243,13 @@
       /**
        * Utility method that saves the current entry.
        */
  -    private void saveEntry()
  -    {
  +    private void saveEntry() {
           final String entryKey = m_date + m_author + m_comment;
           CVSEntry entry;
  -        if( !m_entries.containsKey( entryKey ) )
  -        {
  +        if (!m_entries.containsKey(entryKey)) {
               entry = new CVSEntry( parseDate( m_date ), m_author, m_comment );
               m_entries.put( entryKey, entry );
  -        }
  -        else
  -        {
  +        } else {
               entry = (CVSEntry)m_entries.get( entryKey );
           }
   
  @@ -282,14 +262,10 @@
        * @param date the string holding dat
        * @return the date object or null if unknown date format
        */
  -    private Date parseDate( final String date )
  -    {
  -        try
  -        {
  +    private Date parseDate(final String date) {
  +        try {
               return c_inputDate.parse( date );
  -        }
  -        catch( ParseException e )
  -        {
  +        } catch (ParseException e) {
               //final String message = REZ.getString( "changelog.bat-date.error", date );
               //getContext().error( message );
               return null;
  
  
  
  1.10      +150 -146  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java
  
  Index: ChangeLogTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -u -r1.9 -r1.10
  --- ChangeLogTask.java	11 Apr 2002 11:41:46 -0000	1.9
  +++ ChangeLogTask.java	14 Apr 2002 11:16:15 -0000	1.10
  @@ -100,13 +100,11 @@
    *
    * @author <a href="mailto:jeff.martin@synamic.co.uk">Jeff Martin</a>
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.9 $ $Date: 2002/04/11 11:41:46 $
  + * @version $Revision: 1.10 $ $Date: 2002/04/14 11:16:15 $
    * @since Ant 1.5
    * @ant.task name="changelog"
    */
  -public class ChangeLogTask
  -    extends Task
  -{
  +public class ChangeLogTask extends Task {
       /** User list */
       private File m_usersFile;
   
  @@ -119,14 +117,10 @@
       /** Output file */
       private File m_destfile;
   
  -    /**
  -     * The earliest date at which to start processing entrys.
  -     */
  +    /** The earliest date at which to start processing entrys.  */
       private Date m_start;
   
  -    /**
  -     * The latest date at which to stop processing entrys.
  -     */
  +    /** The latest date at which to stop processing entrys.  */
       private Date m_stop;
   
       /**
  @@ -136,86 +130,99 @@
        */
       private final Vector m_filesets = new Vector();
   
  +
       /**
        * Set the base dir for cvs.
  +     *
  +     * @param dir The new dir value
        */
  -    public void setDir( final File dir )
  -    {
  +    public void setDir(final File dir) {
           m_dir = dir;
       }
   
  +
       /**
        * Set the output file for the log.
  +     *
  +     * @param destfile The new destfile value
        */
  -    public void setDestfile( final File destfile )
  -    {
  +    public void setDestfile(final File destfile) {
           m_destfile = destfile;
       }
   
  +
       /**
        * Set a lookup list of user names & addresses
  +     *
  +     * @param usersFile The file containing the users info.
        */
  -    public void setUsersfile( final File usersFile )
  -    {
  +    public void setUsersfile(final File usersFile) {
           m_usersFile = usersFile;
       }
   
  +
       /**
        * Add a user to list changelog knows about.
        *
        * @param user the user
        */
  -    public void addUser( final CvsUser user )
  -    {
  +    public void addUser(final CvsUser user) {
           m_cvsUsers.addElement( user );
       }
   
  +
       /**
        * Set the date at which the changelog should start.
        *
        * @param start The date at which the changelog should start.
        */
  -    public void setStart( final Date start )
  -    {
  +    public void setStart(final Date start) {
           m_start = start;
       }
   
  +
       /**
        * Set the date at which the changelog should stop.
        *
        * @param stop The date at which the changelog should stop.
        */
  -    public void setEnd( final Date stop )
  -    {
  +    public void setEnd(final Date stop) {
           m_stop = stop;
       }
   
  +
       /**
        * Set the numbers of days worth of log entries to process.
  +     *
  +     * @param days the number of days of log to process.
        */
  -    public void setDaysinpast( final int days )
  -    {
  +    public void setDaysinpast(final int days) {
           final long time = System.currentTimeMillis() 
               - (long)days * 24 * 60 * 60 * 1000;
  +
           setStart( new Date( time ) );
       }
   
  +
       /**
        * Adds a set of files about which cvs logs will be generated.
        *
        * @param fileSet a set of files about which cvs logs will be generated.
        */
  -    public void addFileset( final FileSet fileSet )
  -    {
  +    public void addFileset(final FileSet fileSet) {
           m_filesets.addElement( fileSet );
       }
   
  +
       /**
        * Execute task
  +     *
  +     * @exception BuildException if something goes wrong executing the 
  +     *            cvs command
        */
  -    public void execute() throws BuildException
  -    {
  +    public void execute() throws BuildException {
           File savedDir = m_dir; // may be altered in validate
  +
           try {
   
               validate();
  @@ -227,11 +234,13 @@
               for( Enumeration e = m_cvsUsers.elements(); 
                    e.hasMoreElements(); ) {
                   final CvsUser user = (CvsUser)e.nextElement();
  +
                   user.validate();
                   userList.put( user.getUserID(), user.getDisplayname() );
               }
               
               final Commandline command = new Commandline();
  +
               command.setExecutable( "cvs" );
               command.createArgument().setValue( "log" );
   
  @@ -242,18 +251,20 @@
                   // We want something of the form: -d ">=YYYY-MM-dd"
                   final String dateRange = "-d >=" 
                       + outputDate.format( m_start );
  +
                   command.createArgument().setValue( dateRange );
               }
   
  -
               // Check if list of files to check has been specified
               if( !m_filesets.isEmpty() ) {
                   final Enumeration e = m_filesets.elements();
  +
                   while( e.hasMoreElements() ) {
                       final FileSet fileSet = (FileSet)e.nextElement();
                       final DirectoryScanner scanner = 
                           fileSet.getDirectoryScanner( project );
                       final String[] files = scanner.getIncludedFiles();
  +
                       for( int i = 0; i < files.length; i++ ) {
                           command.createArgument().setValue( files[ i ] );
                       }
  @@ -268,11 +279,13 @@
                    Project.MSG_VERBOSE );
   
               final Execute exe = new Execute( handler );
  +
               exe.setWorkingDirectory( m_dir );
               exe.setCommandline( command.getCommandline() );
               exe.setAntRun( getProject() );
               try {
                   final int resultCode = exe.execute();
  +
                   if( 0 != resultCode ) {
                       throw new BuildException( "Error running cvs log" );
                   }
  @@ -281,12 +294,14 @@
               }
   
               final String errors = handler.getErrors();
  +
               if( null != errors ) {
                   log( errors, Project.MSG_ERR );
               }
   
               final CVSEntry[] entrySet = parser.getEntrySetAsArray();
               final CVSEntry[] filteredEntrySet = filterEntrySet( entrySet );
  +
               writeChangeLog( filteredEntrySet );
   
           } finally {
  @@ -294,80 +309,74 @@
           }
       }
   
  +
       /**
        * Validate the parameters specified for task.
        *
        * @throws BuildException if fails validation checks
        */
       private void validate()
  -        throws BuildException
  -    {
  -        if( null == m_dir )
  -        {
  +         throws BuildException {
  +        if (null == m_dir) {
               m_dir = getProject().getBaseDir();
           }
  -        if( null == m_destfile )
  -        {
  +        if (null == m_destfile) {
               final String message = "Destfile must be set.";
  +
               throw new BuildException( message );
           }
  -        if( !m_dir.exists() )
  -        {
  +        if (!m_dir.exists()) {
               final String message = "Cannot find base dir " 
                   + m_dir.getAbsolutePath();
  +
               throw new BuildException( message );
           }
  -        if( null != m_usersFile && !m_usersFile.exists() )
  -        {
  +        if (null != m_usersFile && !m_usersFile.exists()) {
               final String message = "Cannot find user lookup list " 
                   + m_usersFile.getAbsolutePath();
  +
               throw new BuildException( message );
           }
       }
   
  +
       /**
  -     * Load the userli4st from the userList file (if specified) and
  -     * add to list of users.
  +     * Load the userlist from the userList file (if specified) and add to
  +     * list of users.
        *
  +     * @param userList the file of users
        * @throws BuildException if file can not be loaded for some reason
        */
       private void loadUserlist( final Properties userList )
  -        throws BuildException
  -    {
  -        if( null != m_usersFile )
  -        {
  -            try
  -            {
  +         throws BuildException {
  +        if (null != m_usersFile) {
  +            try {
                   userList.load( new FileInputStream( m_usersFile ) );
  -            }
  -            catch( final IOException ioe )
  -            {
  +            } catch (final IOException ioe) {
                   throw new BuildException( ioe.toString(), ioe );
               }
           }
       }
   
  +
       /**
  -     * Filter the specified entrys accoridn to an appropriate
  -     * rule.
  +     * Filter the specified entrys accoridn to an appropriate rule.
        *
        * @param entrySet the entry set to filter
        * @return the filtered entry set
        */
  -    private CVSEntry[] filterEntrySet( final CVSEntry[] entrySet )
  -    {
  +    private CVSEntry[] filterEntrySet(final CVSEntry[] entrySet) {
           final Vector results = new Vector();
  -        for( int i = 0; i < entrySet.length; i++ )
  -        {
  +
  +        for (int i = 0; i < entrySet.length; i++) {
               final CVSEntry cvsEntry = entrySet[ i ];
               final Date date = cvsEntry.getDate();
  -            if( null != m_start && m_start.after( date ) )
  -            {
  +
  +            if (null != m_start && m_start.after(date)) {
                   //Skip dates that are too early
                   continue;
               }
  -            if( null != m_stop && m_stop.before( date ) )
  -            {
  +            if (null != m_stop && m_stop.before(date)) {
                   //Skip dates that are too late
                   continue;
               }
  @@ -375,48 +384,43 @@
           }
   
           final CVSEntry[] resultArray = new CVSEntry[ results.size() ];
  +
           results.copyInto( resultArray );
           return resultArray;
       }
   
  +
       /**
        * Print changelog to file specified in task.
        *
  -     * @throws BuildException if theres an error writing changelog
  +     * @param entrySet the entry set to write.
  +     * @throws BuildException if theres an error writing changelog.
        */
       private void writeChangeLog( final CVSEntry[] entrySet )
  -        throws BuildException
  -    {
  +         throws BuildException {
           FileOutputStream output = null;
  -        try
  -        {
  +
  +        try {
               output = new FileOutputStream( m_destfile );
  +
               final PrintWriter writer =
                   new PrintWriter( new OutputStreamWriter( output, "UTF-8" ) );
   
               final ChangeLogWriter serializer = new ChangeLogWriter();
  +
               serializer.printChangeLog( writer, entrySet );
  -        }
  -        catch( final UnsupportedEncodingException uee )
  -        {
  +        } catch (final UnsupportedEncodingException uee) {
               getProject().log( uee.toString(), Project.MSG_ERR );
  -        }
  -        catch( final IOException ioe )
  -        {
  +        } catch (final IOException ioe) {
               throw new BuildException( ioe.toString(), ioe );
  -        }
  -        finally
  -        {
  -            if( null != output )
  -            {
  -                try
  -                {
  +        } finally {
  +            if (null != output) {
  +                try {
                       output.close();
  -                }
  -                catch( final IOException ioe )
  -                {
  +                } catch (final IOException ioe) {
                   }
               }
           }
       }
   }
  +
  
  
  
  1.5       +38 -33    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogWriter.java
  
  Index: ChangeLogWriter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogWriter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  --- ChangeLogWriter.java	4 Apr 2002 10:25:12 -0000	1.4
  +++ ChangeLogWriter.java	14 Apr 2002 11:16:15 -0000	1.5
  @@ -61,26 +61,28 @@
    * Class used to generate an XML changelog.
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.4 $ $Date: 2002/04/04 10:25:12 $
  + * @version $Revision: 1.5 $ $Date: 2002/04/14 11:16:15 $
    */
  -class ChangeLogWriter
  -{
  +class ChangeLogWriter {
       /** output format for dates writtn to xml file */
       private static final SimpleDateFormat c_outputDate = new SimpleDateFormat( "yyyy-MM-dd" );
       /** output format for times writtn to xml file */
       private static final SimpleDateFormat c_outputTime = new SimpleDateFormat( "hh:mm" );
   
  +
       /**
        * Print out the specifed entrys.
  +     *
  +     * @param output writer to which to send output.
  +     * @param entries the entries to be written.
        */
       public void printChangeLog( final PrintWriter output,
  -                                final CVSEntry[] entries )
  -    {
  +                               final CVSEntry[] entries) {
           output.println( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" );
           output.println( "<changelog>" );
  -        for( int i = 0; i < entries.length; i++ )
  -        {
  +        for (int i = 0; i < entries.length; i++) {
               final CVSEntry entry = entries[ i ];
  +
               printEntry( output, entry );
           }
           output.println( "</changelog>" );
  @@ -88,29 +90,31 @@
           output.close();
       }
   
  +
       /**
        * Print out an individual entry in changelog.
        *
        * @param entry the entry to print
  +     * @param output writer to which to send output.
        */
  -    private void printEntry( final PrintWriter output, final CVSEntry entry )
  -    {
  +    private void printEntry(final PrintWriter output, final CVSEntry entry) {
           output.println( "\t<entry>" );
           output.println( "\t\t<date>" + c_outputDate.format( entry.getDate() ) + "</date>" );
           output.println( "\t\t<time>" + c_outputTime.format( entry.getDate() ) + "</time>" );
           output.println( "\t\t<author><![CDATA[" + entry.getAuthor() + "]]></author>" );
   
           final Enumeration enumeration = entry.getFiles().elements();
  -        while( enumeration.hasMoreElements() )
  -        {
  +
  +        while (enumeration.hasMoreElements()) {
               final RCSFile file = (RCSFile)enumeration.nextElement();
  +
               output.println( "\t\t<file>" );
               output.println( "\t\t\t<name>" + file.getName() + "</name>" );
               output.println( "\t\t\t<revision>" + file.getRevision() + "</revision>" );
   
               final String previousRevision = file.getPreviousRevision();
  -            if( previousRevision != null )
  -            {
  +
  +            if (previousRevision != null) {
                   output.println( "\t\t\t<prevrevision>" + previousRevision + "</prevrevision>" );
               }
   
  @@ -120,3 +124,4 @@
           output.println( "\t</entry>" );
       }
   }
  +
  
  
  
  1.2       +47 -20    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsUser.java
  
  Index: CvsUser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsUser.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -u -r1.1 -r1.2
  --- CvsUser.java	28 Mar 2002 22:58:21 -0000	1.1
  +++ CvsUser.java	14 Apr 2002 11:16:15 -0000	1.2
  @@ -60,46 +60,73 @@
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
    * @author <a href="mailto:jeff.martin@synamic.co.uk">Jeff Martin</a>
  - * @version $Revision: 1.1 $ $Date: 2002/03/28 22:58:21 $
  + * @version $Revision: 1.2 $ $Date: 2002/04/14 11:16:15 $
    */
  -public class CvsUser
  -{
  +public class CvsUser {
  +    /** The user's Id */
       private String m_userID;
  +    /** The user's full name */
       private String m_displayName;
   
  -    public void setDisplayname( final String displayName )
  -    {
  +
  +    /**
  +     * Set the user's fullname
  +     *
  +     * @param displayName the user's full name
  +     */
  +    public void setDisplayname(final String displayName) {
           m_displayName = displayName;
       }
   
  -    public void setUserid( final String userID )
  -    {
  +
  +    /**
  +     * Set the user's id
  +     *
  +     * @param userID the user's new id value.
  +     */
  +    public void setUserid(final String userID) {
           m_userID = userID;
       }
   
  -    String getUserID()
  -    {
  +
  +    /**
  +     * Get the user's id.
  +     *
  +     * @return The userID value
  +     */
  +    String getUserID() {
           return m_userID;
       }
   
  -    String getDisplayname()
  -    {
  +
  +    /**
  +     * Get the user's full name
  +     *
  +     * @return the usre's full name
  +     */
  +    String getDisplayname() {
           return m_displayName;
       }
   
  -    void validate()
  -        throws BuildException
  -    {
  -        if( null == m_userID )
  -        {
  +
  +    /**
  +     * validate that this objetc is configured.
  +     *
  +     * @exception BuildException if the instance has not be correctly 
  +     *            configured.
  +     */
  +    void validate() throws BuildException {
  +        if (null == m_userID) {
               final String message = "Username attribute must be set.";
  +
               throw new BuildException( message );
           }
  -        if( null == m_displayName )
  -        {
  +        if (null == m_displayName) {
               final String message =
                   "Displayname attribute must be set for userID " + m_userID;
  +
               throw new BuildException( message );
           }
       }
   }
  +
  
  
  
  1.3       +17 -18    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/RCSFile.java
  
  Index: RCSFile.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/RCSFile.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- RCSFile.java	2 Apr 2002 08:42:44 -0000	1.2
  +++ RCSFile.java	14 Apr 2002 11:16:15 -0000	1.3
  @@ -58,43 +58,42 @@
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
    * @author <a href="mailto:jeff.martin@synamic.co.uk">Jeff Martin</a>
  - * @version $Revision: 1.2 $ $Date: 2002/04/02 08:42:44 $
  + * @version $Revision: 1.3 $ $Date: 2002/04/14 11:16:15 $
    */
  -class RCSFile
  -{
  +class RCSFile {
       private String m_name;
       private String m_revision;
       private String m_previousRevision;
   
  -    RCSFile( final String name, final String rev )
  -    {
  +
  +    RCSFile(final String name, final String rev) {
           this( name, rev, null );
       }
   
  +
       RCSFile( final String name,
                final String revision,
  -             final String previousRevision )
  -    {
  +                  final String previousRevision) {
           m_name = name;
           m_revision = revision;
  -        if( !revision.equals( previousRevision ) )
  -        {
  +        if (!revision.equals(previousRevision)) {
               m_previousRevision = previousRevision;
           }
       }
   
  -    String getName()
  -    {
  +
  +    String getName() {
           return m_name;
       }
   
  -    String getRevision()
  -    {
  +
  +    String getRevision() {
           return m_revision;
       }
   
  -    String getPreviousRevision()
  -    {
  +
  +    String getPreviousRevision() {
           return m_previousRevision;
       }
   }
  +
  
  
  
  1.4       +11 -11    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/RedirectingOutputStream.java
  
  Index: RedirectingOutputStream.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/RedirectingOutputStream.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  --- RedirectingOutputStream.java	10 Apr 2002 00:19:54 -0000	1.3
  +++ RedirectingOutputStream.java	14 Apr 2002 11:16:15 -0000	1.4
  @@ -51,7 +51,6 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  -
   package org.apache.tools.ant.taskdefs.cvslib;
   
   import org.apache.tools.ant.taskdefs.LogOutputStream;
  @@ -60,30 +59,31 @@
    * A dummy stream that just passes stuff to the parser.
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.3 $ $Date: 2002/04/10 00:19:54 $
  + * @version $Revision: 1.4 $ $Date: 2002/04/14 11:16:15 $
    */
   class RedirectingOutputStream 
  -    extends LogOutputStream
  -{
  +     extends LogOutputStream {
       private final ChangeLogParser m_parser;
   
  +
       /**
        * Creates a new instance of this class.
        *
  +     * @param parser the parser to which output is sent.
        */
  -    public RedirectingOutputStream( final ChangeLogParser parser ) 
  -    {
  +    public RedirectingOutputStream(final ChangeLogParser parser) {
           super( null, 0 );
           m_parser = parser;
       }
   
  +
       /**
        * Logs a line to the log system of ant.
        *
        * @param line the line to log.
        */
  -    protected void processLine( final String line )
  -    {
  +    protected void processLine(final String line) {
           m_parser.stdout( line );
       }
   }
  +
  
  
  
  1.9       +17 -24    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/RedirectingStreamHandler.java
  
  Index: RedirectingStreamHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/cvslib/RedirectingStreamHandler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  --- RedirectingStreamHandler.java	10 Apr 2002 00:19:54 -0000	1.8
  +++ RedirectingStreamHandler.java	14 Apr 2002 11:16:15 -0000	1.9
  @@ -62,43 +62,36 @@
    * A dummy stream handler that just passes stuff to the parser.
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.8 $ $Date: 2002/04/10 00:19:54 $
  + * @version $Revision: 1.9 $ $Date: 2002/04/14 11:16:15 $
    */
   class RedirectingStreamHandler
  -    extends PumpStreamHandler
  -{
  -    RedirectingStreamHandler( final ChangeLogParser parser )
  -    {
  +     extends PumpStreamHandler {
  +    RedirectingStreamHandler(final ChangeLogParser parser) {
           super( new RedirectingOutputStream( parser ),
                  new ByteArrayOutputStream() );
       }
   
  -    String getErrors()
  -    {
  -        try
  -        {
  +
  +    String getErrors() {
  +        try {
               final ByteArrayOutputStream error = (ByteArrayOutputStream)getErr();
  +
               return error.toString( "ASCII" );
  -        }
  -        catch( final Exception e )
  -        {
  +        } catch (final Exception e) {
               return null;
           }
       }
   
   
  -    public void stop() 
  -    {
  +    public void stop() {
           super.stop();
  -        try
  -        {
  +        try {
               getErr().close();
               getOut().close();
  -        } 
  -        catch( final IOException e )
  -        {
  +        } catch (final IOException e) {
               // plain impossible
               throw new BuildException( e );
           }
       }
   }
  +
  
  
  
  1.3       +31 -29    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/EmailAddress.java
  
  Index: EmailAddress.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/EmailAddress.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- EmailAddress.java	12 Apr 2002 07:27:45 -0000	1.2
  +++ EmailAddress.java	14 Apr 2002 11:16:15 -0000	1.3
  @@ -59,75 +59,77 @@
    * @author roxspring@yahoo.com Rob Oxspring
    * @since Ant 1.5
    */
  -public class EmailAddress
  -{
  +public class EmailAddress {
       private String name;
       private String address;
   
  -    /** Creates an empty email address
  -     */
  -    public EmailAddress()
  -    {
  +
  +    /** Creates an empty email address  */
  +    public EmailAddress() {
       }
   
  +
       /** 
        * Creates a new email address based on the given string
  +     *
        * @param address the email address
        */
  -    public EmailAddress( String address )
  -    {
  +    public EmailAddress(String address) {
           this.address = address;
       }
   
  +
       /** 
        * Sets the personal / display name of the address
  +     *
        * @param name the display name
        */
  -    public void setName( String name )
  -    {
  +    public void setName(String name) {
           this.name = name;
       }
   
  +
       /** 
        * Sets the email address
  +     *
        * @param address the actual email address
        */
  -    public void setAddress( String address )
  -    {
  +    public void setAddress(String address) {
           this.address = address;
       }
   
  +
       /** 
        * Constructs a string "name &lt;address&gt;" or "address"
  +     *
        * @return a string representation of the address
        */
  -    public String toString()
  -    {
  -        if( name == null )
  -        {
  +    public String toString() {
  +        if (name == null) {
               return address;
  -        }
  -        else
  -        {
  +        } else {
               return name + " <" + address + ">";
           }
       }
   
  +
       /** 
        * Returns the address
  +     *
        * @return the address part
        */
  -    public String getAddress()
  -    {
  +    public String getAddress() {
           return address;
       }
   
  +
       /** 
        * Returns the display name
  +     *
        * @return the display name part
        */
  -    public String getName()
  -    {
  +    public String getName() {
           return name;
       }
   }
  +
  
  
  
  1.11      +210 -247  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/EmailTask.java
  
  Index: EmailTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/EmailTask.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -w -u -r1.10 -r1.11
  --- EmailTask.java	12 Apr 2002 07:27:45 -0000	1.10
  +++ EmailTask.java	14 Apr 2002 11:16:15 -0000	1.11
  @@ -67,8 +67,8 @@
   import org.apache.tools.ant.types.FileSet;
   
   /**
  - * A task to send SMTP email. This is a refactoring of the SendMail
  - * and MimeMail tasks such that both are within a single task.
  + * A task to send SMTP email. This is a refactoring of the SendMail and
  + * MimeMail tasks such that both are within a single task.
    *
    * @author <a href="mailto:umagesh@apache.org">Magesh Umasankar</a>
    * @author glenn_twiggs@bmc.com
  @@ -77,126 +77,110 @@
    * @author paulo.gaspar@krankikom.de Paulo Gaspar
    * @author roxspring@yahoo.com Rob Oxspring
    * @since Ant 1.5
  - *
    * @ant.task name="mail" category="network"
    */
   public class EmailTask
  -    extends Task
  -{
  -    /** Constant to show that the best available mailer should be used.
  -     */
  +     extends Task {
  +    /** Constant to show that the best available mailer should be used.  */
       public final static String AUTO = "auto";
  -    /** Constant to allow the Mime mailer to be requested
  -     */
  +    /** Constant to allow the Mime mailer to be requested  */
       public final static String MIME = "mime";
  -    /** Constant to allow the UU mailer to be requested
  -     */
  +    /** Constant to allow the UU mailer to be requested  */
       public final static String UU = "uu";
  -    /** Constant to allow the plaintext mailer to be requested
  -     */
  +    /** Constant to allow the plaintext mailer to be requested  */
       public final static String PLAIN = "plain";
   
  -    /** Enumerates the encoding constants
  +
  +    /**
  +     * Enumerates the encoding constants
        */
  -    public static class Encoding extends EnumeratedAttribute
  -    {
  -        /** finds the valid encoding values
  +    public static class Encoding extends EnumeratedAttribute {
  +        /**
  +         * finds the valid encoding values
  +         *
            * @return a list of valid entries
            */
  -        public String[] getValues()
  -        {
  +        public String[] getValues() {
               return new String[]
               {AUTO, MIME, UU, PLAIN};
           }
       }
   
  +
       private String encoding = AUTO;
  -    /**
  -     * host running SMTP
  -     */
  +    /** host running SMTP  */
       private String host = "localhost";
       private int port = 25;
  -    /**
  -     * subject field
  -     */
  +    /** subject field  */
       private String subject = null;
  -    /**
  -     * any text
  -     */
  +    /** any text  */
       private Message message = null;
       /** failure flag */
       private boolean failOnError = true;
       private boolean includeFileNames = false;
       private String messageMimeType = null;
   
  -    /**
  -     * sender
  -     */
  +    /** sender  */
       private EmailAddress from = null;
  -    /**
  -     * TO recipients
  -     */
  +    /** TO recipients  */
       private Vector toList = new Vector();
  -    /**
  -     * CC (Carbon Copy) recipients
  -     */
  +    /** CC (Carbon Copy) recipients  */
       private Vector ccList = new Vector();
  -    /**
  -     * BCC (Blind Carbon Copy) recipients
  -     */
  +    /** BCC (Blind Carbon Copy) recipients  */
       private Vector bccList = new Vector();
   
  -    /**
  -     * file list
  -     */
  +    /** file list  */
       private Vector files = new Vector();
       private Vector filesets = new Vector();
   
  +
       /** 
        * Allows the build writer to choose the preferred encoding method
  +     *
        * @param encoding The encoding (one of AUTO,MIME,UU,PLAIN)
        */
  -    public void setEncoding( Encoding encoding )
  -    {
  +    public void setEncoding(Encoding encoding) {
           this.encoding = encoding.getValue();
       }
   
  +
       /** 
        * Sets the mail server port
  +     *
        * @param port The port to use
        */
  -    public void setMailport( int port )
  -    {
  +    public void setMailport(int port) {
           this.port = port;
       }
   
  +
       /** 
        * Sets the host
  +     *
        * @param host The host to connect to
        */
  -    public void setMailhost( String host )
  -    {
  +    public void setMailhost(String host) {
           this.host = host;
       }
   
  +
       /** 
        * Sets the subject line of the email
        *
        * @param subject Subject of this email.
        */
  -    public void setSubject( String subject )
  -    {
  +    public void setSubject(String subject) {
           this.subject = subject;
       }
   
  +
       /** 
        * Shorthand method to set the message
  +     *
        * @param message Message body of this email.
        */
  -    public void setMessage( String message )
  -    {
  -        if( this.message != null )
  -        {
  +    public void setMessage(String message) {
  +        if (this.message != null) {
               throw new BuildException( "Only one message can be sent in an "
                                         + "email" );
           }
  @@ -204,14 +188,14 @@
           this.message = new Message( message );
       }
   
  +
       /** 
        * Shorthand method to set the message from a file
  +     *
        * @param file The file from which to take the message
        */
  -    public void setMessageFile( File file )
  -    {
  -        if( this.message != null )
  -        {
  +    public void setMessageFile(File file) {
  +        if (this.message != null) {
               throw new BuildException( "Only one message can be sent in an "
                                         + "email" );
           }
  @@ -219,27 +203,27 @@
           this.message = new Message( file );
       }
   
  +
       /** 
  -     * Shorthand method to set type of the text message, text/plain by
  -     * default but text/html or text/xml is quite feasible.
  +     * Shorthand method to set type of the text message, text/plain by default
  +     * but text/html or text/xml is quite feasible.
        *
        * @param type The new MessageMimeType value
        */
  -    public void setMessageMimeType( String type )
  -    {
  +    public void setMessageMimeType(String type) {
           this.messageMimeType = type;
       }
   
  +
       /** 
        * Add a message elemnt
  +     *
        * @param message The message object
        * @throws BuildException if a message has already been added
        */
       public void addMessage( Message message )
  -        throws BuildException
  -    {
  -        if( this.message != null )
  -        {
  +         throws BuildException {
  +        if (this.message != null) {
               throw new BuildException( "Only one message can be sent in an "
                                         + "email" );
           }
  @@ -247,170 +231,168 @@
           this.message = message;
       }
   
  +
       /** 
        * Adds a from address element
  +     *
        * @param address The address to send from
        */
  -    public void addFrom( EmailAddress address )
  -    {
  -        if( this.from != null )
  -        {
  +    public void addFrom(EmailAddress address) {
  +        if (this.from != null) {
               throw new BuildException( "Emails can only be from one address" );
           }
   
           this.from = address;
       }
   
  +
       /** 
        * Shorthand to set the from address element
        *
        * @param address The address to send mail from
        */
  -    public void setFrom( String address )
  -    {
  -        if( this.from != null )
  -        {
  +    public void setFrom(String address) {
  +        if (this.from != null) {
               throw new BuildException( "Emails can only be from one address" );
           }
   
           this.from = new EmailAddress( address );
       }
   
  +
       /** 
        * Adds a to address element
  +     *
        * @param address An email address
        */
  -    public void addTo( EmailAddress address )
  -    {
  +    public void addTo(EmailAddress address) {
           toList.addElement( address );
       }
   
  +
       /** 
        * Adds "to" address elements
        *
        * @param list Comma separated list of addresses
        */
  -    public void setToList( String list )
  -    {
  +    public void setToList(String list) {
           StringTokenizer tokens = new StringTokenizer( list, "," );
   
  -        while( tokens.hasMoreTokens() )
  -        {
  +        while (tokens.hasMoreTokens()) {
               toList.addElement( new EmailAddress( tokens.nextToken() ) );
           }
       }
   
  +
       /** 
        * Adds "cc" address element
  +     *
        * @param address The email address
        */
  -    public void addCc( EmailAddress address )
  -    {
  +    public void addCc(EmailAddress address) {
           ccList.addElement( address );
       }
   
  +
       /** 
        * Adds "cc" address elements
        *
        * @param list Comma separated list of addresses
        */
  -    public void setCcList( String list )
  -    {
  +    public void setCcList(String list) {
           StringTokenizer tokens = new StringTokenizer( list, "," );
   
  -        while( tokens.hasMoreTokens() )
  -        {
  +        while (tokens.hasMoreTokens()) {
               ccList.addElement( new EmailAddress( tokens.nextToken() ) );
           }
       }
   
  +
       /** 
        * Adds "bcc" address elements
  +     *
        * @param address The email address
        */
  -    public void addBcc( EmailAddress address )
  -    {
  +    public void addBcc(EmailAddress address) {
           bccList.addElement( address );
       }
   
  +
       /** 
        * Adds "bcc" address elements
        *
        * @param list comma separated list of addresses
        */
  -    public void setBccList( String list )
  -    {
  +    public void setBccList(String list) {
           StringTokenizer tokens = new StringTokenizer( list, "," );
   
  -        while( tokens.hasMoreTokens() )
  -        {
  +        while (tokens.hasMoreTokens()) {
               bccList.addElement( new EmailAddress( tokens.nextToken() ) );
           }
       }
   
  +
       /** 
        * Indicates whether BuildExceptions should be passed back to the core
        *
        * @param failOnError The new FailOnError value
        */
  -    public void setFailOnError( boolean failOnError )
  -    {
  +    public void setFailOnError(boolean failOnError) {
           this.failOnError = failOnError;
       }
   
  +
       /** 
        * Adds a list of files to be attached
        *
        * @param filenames Comma separated list of files
        */
  -    public void setFiles( String filenames )
  -    {
  +    public void setFiles(String filenames) {
           StringTokenizer t = new StringTokenizer( filenames, ", " );
   
  -        while( t.hasMoreTokens() )
  -        {
  +        while (t.hasMoreTokens()) {
               files.addElement( project.resolveFile( t.nextToken() ) );
           }
       }
   
  +
       /** 
        * Adds a set of files (nested fileset attribute).
  +     *
        * @param fs The fileset
        */
  -    public void addFileset( FileSet fs )
  -    {
  +    public void addFileset(FileSet fs) {
           filesets.addElement( fs );
       }
   
  +
       /** 
        * Sets Includefilenames attribute
        *
  -     * @param includeFileNames Whether to include filenames in the
  -     * text of the message
  +     * @param includeFileNames Whether to include filenames in the text of the
  +     *      message
        */
  -    public void setIncludefilenames( boolean includeFileNames )
  -    {
  +    public void setIncludefilenames(boolean includeFileNames) {
           this.includeFileNames = includeFileNames;
       }
   
  +
       /** 
        * Identifies whether file names should be included
  +     *
        * @return Identifies whether file names should be included
        */
  -    public boolean getIncludeFileNames()
  -    {
  +    public boolean getIncludeFileNames() {
           return includeFileNames;
       }
   
  -    /** 
  -     * Sends an email
  -     */
  -    public void execute()
  -    {
  +
  +    /** Sends an email  */
  +    public void execute() {
           Message savedMessage = message;
           Vector savedFiles = (Vector) files.clone();
  -        try
  -        {
  +
  +        try {
               Mailer mailer = null;
   
               // prepare for the auto select mechanism
  @@ -418,102 +400,85 @@
   
               // try MIME format
               if( encoding.equals( MIME ) 
  -                || ( encoding.equals( AUTO ) && !autoFound ) )
  -            {
  -                try
  -                {
  +                 || (encoding.equals(AUTO) && !autoFound)) {
  +                try {
                       mailer = 
                           (Mailer) Class.forName( "org.apache.tools.ant.taskdefs.email.MimeMailer" )
                           .newInstance();
                       autoFound = true;
                       log( "Using MIME mail", Project.MSG_VERBOSE );
  -                }
  -                catch( Throwable e )
  -                {
  +                } catch (Throwable e) {
                       log( "Failed to initialise MIME mail", Project.MSG_WARN );
                   }
               }
   
               // try UU format
               if( encoding.equals( UU ) 
  -                || ( encoding.equals( AUTO ) && !autoFound ) )
  -            {
  -                try
  -                {
  +                 || (encoding.equals(AUTO) && !autoFound)) {
  +                try {
                       mailer = 
                           (Mailer)Class.forName( "org.apache.tools.ant.taskdefs.email.UUMailer" )
                           .newInstance();
                       autoFound = true;
                       log( "Using UU mail", Project.MSG_VERBOSE );
  -                }
  -                catch( Throwable e )
  -                {
  +                } catch (Throwable e) {
                       log( "Failed to initialise UU mail", Project.MSG_WARN );
                   }
               }
   
               // try plain format
               if( encoding.equals( PLAIN ) 
  -                || ( encoding.equals( AUTO ) && !autoFound ) )
  -            {
  +                 || (encoding.equals(AUTO) && !autoFound)) {
                   mailer = new PlainMailer();
                   autoFound = true;
                   log( "Using plain mail", Project.MSG_VERBOSE );
               }
   
               // a valid mailer must be present by now
  -            if( mailer == null )
  -            {
  +            if (mailer == null) {
                   throw new BuildException( "Failed to initialise encoding: " 
                                             + encoding );
               }
   
               // a valid message is required
  -            if( message == null )
  -            {
  +            if (message == null) {
                   message = new Message();
               }
   
               // an address to send from is required
  -            if( from == null || from.getAddress() == null )
  -            {
  +            if (from == null || from.getAddress() == null) {
                   throw new BuildException( "A from element is required" );
               }
   
               // at least one address to send to/cc/bcc is required
  -            if( toList.isEmpty() && ccList.isEmpty() && bccList.isEmpty() )
  -            {
  +            if (toList.isEmpty() && ccList.isEmpty() && bccList.isEmpty()) {
                   throw new BuildException( "At least one of to,cc or bcc must "
                                             + "be supplied" );
               }
   
               // set the mimetype if not done already (and required)
  -            if( messageMimeType != null )
  -            {
  -                if( message.isMimeTypeSpecified() )
  -                {
  +            if (messageMimeType != null) {
  +                if (message.isMimeTypeSpecified()) {
                       throw new BuildException( "The mime type can only be "
                                                 + "specified in one location" );
  -                }
  -                else
  -                {
  +                } else {
                       message.setMimeType( messageMimeType );
                   }
               }
   
               // identify which files should be attached
               Enumeration e = filesets.elements();
  -            while( e.hasMoreElements() )
  -            {
  +
  +            while (e.hasMoreElements()) {
                   FileSet fs = (FileSet)e.nextElement();
   
                   DirectoryScanner ds = fs.getDirectoryScanner( project );
                   String[] includedFiles = ds.getIncludedFiles();
                   File baseDir = ds.getBasedir();
   
  -                for( int j = 0; j < includedFiles.length; ++j )
  -                {
  +                for (int j = 0; j < includedFiles.length; ++j) {
                       File file = new File( baseDir, includedFiles[ j ] );
  +
                       files.addElement( file );
                   }
               }
  @@ -543,14 +508,12 @@
   
               // let the user know what happened
               int count = files.size();
  +
               log( "Sent email with " + count + " attachment" 
                    + ( count == 1?"":"s" ), Project.MSG_INFO );
  -        }
  -        catch( BuildException e )
  -        {
  +        } catch (BuildException e) {
               log( "Failed to send email", Project.MSG_WARN );
  -            if( failOnError )
  -            {
  +            if (failOnError) {
                   throw e;
               }
           } finally {
  
  
  
  1.4       +50 -37    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java
  
  Index: Mailer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  --- Mailer.java	12 Apr 2002 07:27:45 -0000	1.3
  +++ Mailer.java	14 Apr 2002 11:16:15 -0000	1.4
  @@ -63,8 +63,7 @@
    * @author roxspring@yahoo.com Rob Oxspring
    * @since Ant 1.5
    */
  -abstract class Mailer
  -{
  +abstract class Mailer {
       protected String host = null;
       protected int port = -1;
       protected Message message;
  @@ -77,109 +76,123 @@
       protected Task task;
       protected boolean includeFileNames = false;
   
  +
       /** 
        * Sets the mail server
  +     *
        * @param host
        */
  -    public void setHost( String host )
  -    {
  +    public void setHost(String host) {
           this.host = host;
       }
   
  +
       /** 
        * Sets the smtp port
  +     *
        * @param port
        */
  -    public void setPort( int port )
  -    {
  +    public void setPort(int port) {
           this.port = port;
       }
   
  +
       /** 
        * Sets the message
  +     *
        * @param m
        */
  -    public void setMessage( Message m )
  -    {
  +    public void setMessage(Message m) {
           this.message = m;
       }
   
  +
       /** 
        * Sets the address to send from
  +     *
        * @param from
        */
  -    public void setFrom( EmailAddress from )
  -    {
  +    public void setFrom(EmailAddress from) {
           this.from = from;
       }
   
  +
       /** 
        * Set the to addresses
  +     *
        * @param list
        */
  -    public void setToList( Vector list )
  -    {
  +    public void setToList(Vector list) {
           this.toList = list;
       }
   
  +
       /** 
        * Sets the cc addresses
  +     *
        * @param list
        */
  -    public void setCcList( Vector list )
  -    {
  +    public void setCcList(Vector list) {
           this.ccList = list;
       }
   
  +
       /** 
        * Sets the bcc addresses
  +     *
        * @param list
        */
  -    public void setBccList( Vector list )
  -    {
  +    public void setBccList(Vector list) {
           this.bccList = list;
       }
   
  +
       /** 
        * Sets the files to attach
  +     *
        * @param files
        */
  -    public void setFiles( Vector files )
  -    {
  +    public void setFiles(Vector files) {
           this.files = files;
       }
   
  +
       /** 
        * Sets the subject
  +     *
        * @param subject
        */
  -    public void setSubject( String subject )
  -    {
  +    public void setSubject(String subject) {
           this.subject = subject;
       }
   
  +
       /** 
        * Sets the owning task
  +     *
        * @param task
        */
  -    public void setTask( Task task )
  -    {
  +    public void setTask(Task task) {
           this.task = task;
       }
   
  +
       /** 
        * Indicates whether filenames should be listed in the body
  +     *
        * @param b
        */
  -    public void setIncludeFileNames( boolean b )
  -    {
  +    public void setIncludeFileNames(boolean b) {
           this.includeFileNames = b;
       }
   
  +
       /** 
        * This method should send the email
  +     *
        * @throws BuildException
        */
       public abstract void send()
           throws BuildException;
   }
  +
  
  
  
  1.3       +50 -49    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/Message.java
  
  Index: Message.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/Message.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- Message.java	12 Apr 2002 07:27:45 -0000	1.2
  +++ Message.java	14 Apr 2002 11:16:15 -0000	1.3
  @@ -65,113 +65,114 @@
    * @author roxspring@yahoo.com Rob Oxspring
    * @since Ant 1.5
    */
  -public class Message
  -{
  +public class Message {
       private File messageSource = null;
       private StringBuffer buffer = new StringBuffer();
       private String mimeType = "text/plain";
       private boolean specified = false;
   
  -    /** 
  -     * Creates a new empty message
  -     */
  -    public Message()
  -    {
  +
  +    /** Creates a new empty message  */
  +    public Message() {
       }
   
  +
       /** 
        * Creates a new message based on the given string
  +     *
        * @param text the message
        */
  -    public Message( String text )
  -    {
  +    public Message(String text) {
           addText( text );
       }
   
  +
       /** 
        * Creates a new message using the contents of the given file.
  +     *
        * @param file the source of the message
        */
  -    public Message( File file )
  -    {
  +    public Message(File file) {
           messageSource = file;
       }
   
  +
       /** 
        * Adds a textual part of the message
  +     *
        * @param text some text to add
        */
  -    public void addText( String text )
  -    {
  +    public void addText(String text) {
           buffer.append( text );
       }
   
  +
       /** 
        * Sets the source file of the message
  +     *
        * @param src the source of the message
        */
  -    public void setSrc( File src )
  -    {
  +    public void setSrc(File src) {
           this.messageSource = src;
       }
   
  +
       /** 
        * Sets the content type for the message
  +     *
        * @param mimeType a mime type e.g. "text/plain"
        */
  -    public void setMimeType( String mimeType )
  -    {
  +    public void setMimeType(String mimeType) {
           this.mimeType = mimeType;
           specified = true;
       }
   
  +
       /** 
        * Returns the content type
  +     *
        * @return the mime type
        */
  -    public String getMimeType()
  -    {
  +    public String getMimeType() {
           return mimeType;
       }
   
  +
       /** 
        * Prints the message onto an output stream
  +     *
        * @param out The print stream to write to
        * @throws IOException if an error occurs
        */
       public void print( PrintStream out )
  -        throws IOException
  -    {
  -        if( messageSource != null )
  -        {
  +         throws IOException {
  +        if (messageSource != null) {
               // Read message from a file
               FileReader freader = new FileReader( messageSource );
  -            try
  -            {
  +
  +            try {
                   BufferedReader in = new BufferedReader( freader );
                   String line = null;
   
  -                while( ( line = in.readLine() ) != null )
  -                {
  +                while ((line = in.readLine()) != null) {
                       out.println( line );
                   }
  -            }
  -            finally {
  +            } finally {
                   freader.close();
               }
  -        }
  -        else
  -        {
  +        } else {
               out.println( buffer );
           }
       }
   
  +
       /** 
        * Returns true iff the mimeType has been set.
  +     *
        * @return false if the default value is in use
        */
  -    public boolean isMimeTypeSpecified()
  -    {
  +    public boolean isMimeTypeSpecified() {
           return specified;
       }
   }
  +
  
  
  
  1.5       +64 -75    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java
  
  Index: MimeMailer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  --- MimeMailer.java	12 Apr 2002 07:27:45 -0000	1.4
  +++ MimeMailer.java	14 Apr 2002 11:16:15 -0000	1.5
  @@ -80,16 +80,12 @@
    * @author roxspring@yahoo.com Rob Oxspring
    * @since Ant 1.5
    */
  -class MimeMailer
  -    extends Mailer
  -{
  -    /** Sends the email
  -     */
  -    public void send()
  -    {
  -        try
  -        {
  +class MimeMailer extends Mailer {
  +    /** Sends the email  */
  +    public void send() {
  +        try {
               Properties props = new Properties();
  +
               props.put( "mail.smtp.host", host );
               props.put( "mail.smtp.port", String.valueOf( port ) );
   
  @@ -103,12 +99,9 @@
               MimeMultipart attachments = new MimeMultipart();
   
               //set the sender
  -            if( from.getName() == null )
  -            {
  +            if (from.getName() == null) {
                   msg.setFrom( new InternetAddress( from.getAddress() ) );
  -            }
  -            else
  -            {
  +            } else {
                   msg.setFrom( new InternetAddress( from.getAddress(), 
                                                     from.getName() ) );
               }
  @@ -120,35 +113,37 @@
               msg.setRecipients( Message.RecipientType.BCC, 
                                  internetAddresses( bccList ) );
   
  -            if( subject != null )
  -            {
  +            if (subject != null) {
                   msg.setSubject( subject );
               }
   
               ByteArrayOutputStream baos = new ByteArrayOutputStream();
               PrintStream out = new PrintStream( baos );
  +
               message.print( out );
               out.close();
   
               MimeBodyPart textbody = new MimeBodyPart();
  +
               textbody.setContent( baos.toString(), message.getMimeType() );
               attachments.addBodyPart( textbody );
   
               Enumeration e = files.elements();
  -            while( e.hasMoreElements() )
  -            {
  +
  +            while (e.hasMoreElements()) {
                   File file = (File)e.nextElement();
   
                   MimeBodyPart body;
  +
                   body = new MimeBodyPart();
  -                if( !file.exists() || !file.canRead() )
  -                {
  +                if (!file.exists() || !file.canRead()) {
                       throw new BuildException( "File \"" + file.getAbsolutePath()
                                                 + "\" does not exist or is not "
                                                 + "readable." );
                   }
                   FileDataSource fileData = new FileDataSource( file );
                   DataHandler fileDataHandler = new DataHandler( fileData );
  +
                   body.setDataHandler( fileDataHandler );
                   body.setFileName( file.getName() );
                   attachments.addBodyPart( body );
  @@ -156,31 +151,24 @@
   
               msg.setContent( attachments );
               Transport.send( msg );
  -        }
  -        catch( MessagingException e )
  -        {
  +        } catch (MessagingException e) {
               throw new BuildException( "Problem while sending mime mail:", e );
  -        }
  -        catch( IOException e )
  -        {
  +        } catch (IOException e) {
               throw new BuildException( "Problem while sending mime mail:", e );
           }
       }
   
  +
       private static InternetAddress[] internetAddresses( Vector list )
  -        throws AddressException, UnsupportedEncodingException
  -    {
  +         throws AddressException, UnsupportedEncodingException {
           InternetAddress[] addrs = new InternetAddress[ list.size() ];
  -        for( int i = 0; i < list.size(); ++i )
  -        {
  +
  +        for (int i = 0; i < list.size(); ++i) {
               EmailAddress addr = (EmailAddress)list.elementAt( i );
   
  -            if( addr.getName() == null )
  -            {
  +            if (addr.getName() == null) {
                   addrs[ i ] = new InternetAddress( addr.getAddress() );
  -            }
  -            else
  -            {
  +            } else {
                   addrs[ i ] = new InternetAddress( addr.getAddress(), 
                                                     addr.getName() );
               }
  @@ -189,3 +177,4 @@
           return addrs;
       }
   }
  +
  
  
  
  1.4       +50 -59    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/PlainMailer.java
  
  Index: PlainMailer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/PlainMailer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  --- PlainMailer.java	12 Apr 2002 07:27:45 -0000	1.3
  +++ PlainMailer.java	14 Apr 2002 11:16:15 -0000	1.4
  @@ -68,18 +68,16 @@
    * @author roxspring@yahoo.com Rob Oxspring
    * @since Ant 1.5
    */
  -class PlainMailer
  -    extends Mailer
  -{
  +class PlainMailer extends Mailer {
       /** 
        * Sends the email using the apache MailMessage class.
  +     *
        * @see org.apache.tools.mail.MailMessage
        */
  -    public void send()
  -    {
  -        try
  -        {
  +    public void send() {
  +        try {
               MailMessage mailMessage = new MailMessage( host );
  +
               mailMessage.setPort( port );
   
               mailMessage.from( from.toString() );
  @@ -87,25 +85,21 @@
               Enumeration e;
   
               e = toList.elements();
  -            while( e.hasMoreElements() )
  -            {
  +            while (e.hasMoreElements()) {
                   mailMessage.to( e.nextElement().toString() );
               }
   
               e = ccList.elements();
  -            while( e.hasMoreElements() )
  -            {
  +            while (e.hasMoreElements()) {
                   mailMessage.cc( e.nextElement().toString() );
               }
   
               e = bccList.elements();
  -            while( e.hasMoreElements() )
  -            {
  +            while (e.hasMoreElements()) {
                   mailMessage.bcc( e.nextElement().toString() );
               }
   
  -            if( subject != null )
  -            {
  +            if (subject != null) {
                   mailMessage.setSubject( subject );
               }
   
  @@ -116,45 +110,43 @@
               message.print( out );
   
               e = files.elements();
  -            while( e.hasMoreElements() )
  -            {
  +            while (e.hasMoreElements()) {
                   File file = (File)e.nextElement();
  +
                   attach( file, out );
               }
   
               mailMessage.sendAndClose();
  -        }
  -        catch( IOException ioe )
  -        {
  +        } catch (IOException ioe) {
               throw new BuildException( "IO error sending mail", ioe );
           }
   
       }
   
  +
       /** 
        * Attaches a file to this email
  +     *
        * @param file The file to attache
        * @param out The message stream to add to
        * @throws IOException if errors occur
        */
       protected void attach( File file, PrintStream out )
  -        throws IOException
  -    {
  -        if( !file.exists() || !file.canRead() )
  -        {
  +         throws IOException {
  +        if (!file.exists() || !file.canRead()) {
               throw new BuildException( "File \"" + file.getName()
                                         + "\" does not exist or is not "
                                         + "readable." );
           }
   
  -        if( includeFileNames )
  -        {
  +        if (includeFileNames) {
               out.println();
  +
               String filename = file.getName();
               int filenamelength = filename.length();
  +
               out.println( filename );
  -            for( int star = 0; star < filenamelength; star++ )
  -            {
  +            for (int star = 0; star < filenamelength; star++) {
                   out.print( '=' );
               }
               out.println();
  @@ -163,17 +155,16 @@
           int length;
           byte[] buf = new byte[ 1024 ];
           FileInputStream finstr = new FileInputStream( file );
  -        try
  -        {
  +
  +        try {
               BufferedInputStream in = new BufferedInputStream( finstr, buf.length );
  -            while( ( length = in.read( buf ) ) != -1 )
  -            {
  +
  +            while ((length = in.read(buf)) != -1) {
                   out.write( buf, 0, length );
               }
  -        }
  -        finally
  -        {
  +        } finally {
               finstr.close();
           }
       }
   }
  +
  
  
  
  1.3       +16 -20    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/UUMailer.java
  
  Index: UUMailer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/UUMailer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- UUMailer.java	12 Apr 2002 07:27:45 -0000	1.2
  +++ UUMailer.java	14 Apr 2002 11:16:15 -0000	1.3
  @@ -67,30 +67,26 @@
    * @author roxspring@yahoo.com Rob Oxspring
    * @since Ant 1.5
    */
  -class UUMailer
  -    extends PlainMailer
  -{
  +class UUMailer extends PlainMailer {
       protected void attach( File file, PrintStream out )
  -        throws IOException
  -    {
  -        if( !file.exists() || !file.canRead() )
  -        {
  +         throws IOException {
  +        if (!file.exists() || !file.canRead()) {
               throw new BuildException( "File \"" + file.getName()
                                         + "\" does not exist or is not "
                                         + "readable." );
           }
   
           FileInputStream finstr = new FileInputStream( file );
  -        try
  -        {
  +
  +        try {
               BufferedInputStream in = new BufferedInputStream( finstr );
               UUEncoder encoder = new UUEncoder( file.getName() );
  +
               encoder.encode( in, out );
   
  -        }
  -        finally
  -        {
  +        } finally {
               finstr.close();
           }
       }
   }
  +
  
  
  
  1.18      +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java
  
  Index: Cab.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -w -u -r1.17 -r1.18
  
  
  
  1.7       +13 -14    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java
  
  Index: EchoProperties.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  --- EchoProperties.java	12 Apr 2002 13:26:51 -0000	1.6
  +++ EchoProperties.java	14 Apr 2002 11:16:15 -0000	1.7
  @@ -238,8 +238,7 @@
        *      for JDK 1.2+.
        */
       protected void jdkSaveProperties( Properties props, OutputStream os,
  -            String header )
  -            throws IOException {
  +                                     String header) throws IOException {
           try {
               java.lang.reflect.Method m = props.getClass().getMethod(
                   "store", new Class[] { OutputStream.class, String.class } );
  
  
  
  1.8       +262 -192  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/IContract.java
  
  Index: IContract.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/IContract.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -u -r1.7 -r1.8
  --- IContract.java	25 Feb 2002 17:38:15 -0000	1.7
  +++ IContract.java	14 Apr 2002 11:16:15 -0000	1.8
  @@ -55,9 +55,6 @@
   
   
   
  -
  -
  -
   import java.io.File;
   import java.io.FileInputStream;
   import java.io.FileOutputStream;
  @@ -89,7 +86,7 @@
    * <p/>
    * Thanks to Rainer Schmitz for enhancements and comments.
    *
  - * @author <a href="mailto:aslak.hellesoy@bekk.no">Aslak Helles°y</a>
  + * @author <a href="mailto:aslak.hellesoy@bekk.no">Aslak Helles´┐Ża>
    *
    * <p/>
    * <table border="1" cellpadding="2" cellspacing="0">
  @@ -241,7 +238,10 @@
       /** temporary file with file names of all java files to be instrumented */
       private File targets = null;
   
  -    /** will be set to true if any of the sourca files are newer than the instrumented files */
  +    /**
  +     * will be set to true if any of the sourca files are newer than the
  +     * instrumented files
  +     */
       private boolean dirty = false;
   
       /** set to true if the iContract jar is missing */
  @@ -297,16 +297,15 @@
       private boolean instrumentall = false;
   
       /**
  -     * Indicates the name of a properties file (intentionally for iControl) where the classpath
  -     * property should be updated.
  +     * Indicates the name of a properties file (intentionally for iControl)
  +     * where the classpath property should be updated.
        */
       private boolean updateIcontrol = false;
   
  -    /**
  -     * Regular compilation class root
  -     */
  +    /** Regular compilation class root  */
       private File classDir = null;
   
  +
       /**
        * Sets the source directory
        *
  @@ -316,6 +315,7 @@
           this.srcDir = srcDir;
       }
   
  +
       /**
        * Sets the class directory (uninstrumented classes)
        *
  @@ -325,6 +325,7 @@
           this.classDir = classDir;
       }
   
  +
       /**
        * Sets the instrumentation directory
        *
  @@ -337,6 +338,7 @@
           }
       }
   
  +
       /**
        * Sets the build directory for instrumented classes
        *
  @@ -346,6 +348,7 @@
           this.buildDir = buildDir;
       }
   
  +
       /**
        * Sets the build directory for repository classes
        *
  @@ -358,6 +361,7 @@
           }
       }
   
  +
       /**
        * Sets the build directory for instrumented classes
        *
  @@ -367,6 +371,7 @@
           this.repBuildDir = repBuildDir;
       }
   
  +
       /**
        * Turns on/off precondition instrumentation
        *
  @@ -377,6 +382,7 @@
           preModified = true;
       }
   
  +
       /**
        * Turns on/off postcondition instrumentation
        *
  @@ -387,6 +393,7 @@
           postModified = true;
       }
   
  +
       /**
        * Turns on/off invariant instrumentation
        *
  @@ -397,6 +404,7 @@
           invariantModified = true;
       }
   
  +
       /**
        * Sets the Throwable (Exception) to be thrown on assertion violation
        *
  @@ -406,10 +414,11 @@
           this.failThrowable = clazz;
       }
   
  +
       /**
        * Sets the verbosity level of iContract. Any combination of
  -     * error*,warning*,note*,info*,progress*,debug* (comma separated)
  -     * can be used. Defaults to error*,warning*
  +     * error*,warning*,note*,info*,progress*,debug* (comma separated) can be
  +     * used. Defaults to error*,warning*
        *
        * @param verbosity verbosity level
        */
  @@ -417,6 +426,7 @@
           this.verbosity = verbosity;
       }
   
  +
       /**
        * Tells iContract to be quiet.
        *
  @@ -426,9 +436,10 @@
           this.quiet = quiet;
       }
   
  +
       /**
  -     * Sets the name of the file where targets will be written.
  -     * That is the file that tells iContract what files to process.
  +     * Sets the name of the file where targets will be written. That is the
  +     * file that tells iContract what files to process.
        *
        * @param targets the targets file name
        */
  @@ -436,6 +447,7 @@
           this.targets = targets;
       }
   
  +
       /**
        * Sets the control file to pass to iContract.
        *
  @@ -443,11 +455,14 @@
        */
       public void setControlfile( File controlFile ) {
           if( !controlFile.exists() ) {
  -            log( "WARNING: Control file " + controlFile.getAbsolutePath() + " doesn't exist. iContract will be run without control file." );
  +            log("WARNING: Control file " + controlFile.getAbsolutePath()
  +                 + " doesn't exist. iContract will be run "
  +                 + "without control file.");
           }
           this.controlFile = controlFile;
       }
   
  +
       /**
        * Sets the classpath to be used for invocation of iContract.
        *
  @@ -457,6 +472,7 @@
           createClasspath().append( path );
       }
   
  +
       /**
        * Creates a nested classpath element
        *
  @@ -469,6 +485,7 @@
           return classpath;
       }
   
  +
       /**
        * Adds a reference to a classpath defined elsewhere.
        *
  @@ -478,15 +495,18 @@
           createClasspath().setRefid( reference );
       }
   
  +
       /**
        * Decides whether or not to update iControl properties file
        *
  -     * @param updateIcontrol true if iControl properties file should be updated
  +     * @param updateIcontrol true if iControl properties file should be
  +     *      updated
        */
       public void setUpdateicontrol( boolean updateIcontrol ) {
           this.updateIcontrol = updateIcontrol;
       }
   
  +
       /**
        * Executes the task
        *
  @@ -499,6 +519,7 @@
   
               // turn off assertions if we're using controlfile, unless they are not explicitly set.
               boolean useControlFile = (controlFile != null) && controlFile.exists();
  +
               if( useControlFile && !preModified ) {
                   pre = false;
               }
  @@ -510,11 +531,11 @@
               }
               // issue warning if pre,post or invariant is used together with controlfile
               if( ( pre || post || invariant ) && controlFile != null ) {
  -                log( "WARNING: specifying pre,post or invariant will override control file settings" );
  +                log("WARNING: specifying pre,post or invariant will "
  +                     + "override control file settings");
               }
   
   
  -
               // We want to be notified if iContract jar is missing. This makes life easier for the user
               // who didn't understand that iContract is a separate library (duh!)
               getProject().addBuildListener( new IContractPresenceDetector() );
  @@ -523,6 +544,7 @@
               // don't exist, but for some reason I don't know, it will complain about the REP files
               // afterwards
               Mkdir mkdir = (Mkdir) project.createTask( "mkdir" );
  +
               mkdir.setDir( instrumentDir );
               mkdir.execute();
               mkdir.setDir( buildDir );
  @@ -536,14 +558,18 @@
               // Might need to add the core classes if we're not using Sun's Javac (like Jikes)
               String compiler = project.getProperty("build.compiler");
               ClasspathHelper classpathHelper = new ClasspathHelper( compiler );
  +
               classpathHelper.modify( baseClasspath );
   
               // Create the classpath required to compile the sourcefiles BEFORE instrumentation
               Path beforeInstrumentationClasspath = ((Path) baseClasspath.clone());
  -            beforeInstrumentationClasspath.append( new Path( getProject(), srcDir.getAbsolutePath() ) );
  +
  +            beforeInstrumentationClasspath.append(new Path(getProject(),
  +                srcDir.getAbsolutePath()));
   
               // Create the classpath required to compile the sourcefiles AFTER instrumentation
               Path afterInstrumentationClasspath = ((Path) baseClasspath.clone());
  +
               afterInstrumentationClasspath.append( new Path( getProject(), instrumentDir.getAbsolutePath() ) );
               afterInstrumentationClasspath.append( new Path( getProject(), repositoryDir.getAbsolutePath() ) );
               afterInstrumentationClasspath.append( new Path( getProject(), srcDir.getAbsolutePath() ) );
  @@ -551,6 +577,7 @@
   
               // Create the classpath required to automatically compile the repository files
               Path repositoryClasspath = ((Path) baseClasspath.clone());
  +
               repositoryClasspath.append( new Path( getProject(), instrumentDir.getAbsolutePath() ) );
               repositoryClasspath.append( new Path( getProject(), srcDir.getAbsolutePath() ) );
               repositoryClasspath.append( new Path( getProject(), repositoryDir.getAbsolutePath() ) );
  @@ -558,6 +585,7 @@
   
               // Create the classpath required for iContract itself
               Path iContractClasspath = ((Path) baseClasspath.clone());
  +
               iContractClasspath.append( new Path( getProject(), System.getProperty( "java.home" ) + File.separator + ".." + File.separator + "lib" + File.separator + "tools.jar" ) );
               iContractClasspath.append( new Path( getProject(), srcDir.getAbsolutePath() ) );
               iContractClasspath.append( new Path( getProject(), repositoryDir.getAbsolutePath() ) );
  @@ -566,6 +594,7 @@
   
               // Create a forked java process
               Java iContract = (Java) project.createTask( "java" );
  +
               iContract.setTaskName( getTaskName() );
               iContract.setFork( true );
               iContract.setClassname( "com.reliablesystems.iContract.Tool" );
  @@ -573,6 +602,7 @@
   
               // Build the arguments to iContract
               StringBuffer args = new StringBuffer();
  +
               args.append( directiveString() );
               args.append( "-v" ).append( verbosity ).append( " " );
               args.append( "-b" ).append( "\"" ).append( icCompiler ).append( " -classpath " ).append( beforeInstrumentationClasspath ).append( "\" " );
  @@ -591,6 +621,7 @@
               // update iControlProperties if it's set.
               if( updateIcontrol ) {
                   Properties iControlProps = new Properties();
  +
                   try { // to read existing propertiesfile
                       iControlProps.load( new FileInputStream( "icontrol.properties" ) );
                   } catch( IOException e ) {
  @@ -612,6 +643,7 @@
   
               // do it!
               int result = iContract.executeJava();
  +
               if( result != 0 ) {
                   if( iContractMissing ) {
                       log( "iContract can't be found on your classpath. Your classpath is:" );
  @@ -620,15 +652,13 @@
                   }
                   throw new BuildException( "iContract instrumentation failed. Code=" + result );
               }
  -
           } else { // not dirty
               //log( "Nothing to do. Everything up to date." );
           }
       }
   
  -    /**
  -     * Checks that the required attributes are set.
  -     */
  +
  +    /** Checks that the required attributes are set.  */
       private void preconditions() throws BuildException {
           if (srcDir == null) {
               throw new BuildException( "srcdir attribute must be set!", location );
  @@ -650,12 +680,14 @@
           }
       }
   
  +
       /**
  -     * Verifies whether any of the source files have changed. Done by comparing date of source/class files.
  -     * The whole lot is "dirty" if at least one source file or the control file is newer than the instrumented
  -     * files. If not dirty, iContract will not be executed.
  -     * <br/>
  -     * Also creates a temporary file with a list of the source files, that will be deleted upon exit.
  +     * Verifies whether any of the source files have changed. Done by
  +     * comparing date of source/class files. The whole lot is "dirty" if at
  +     * least one source file or the control file is newer than the
  +     * instrumented files. If not dirty, iContract will not be executed. <br/>
  +     * Also creates a temporary file with a list of the source files, that
  +     * will be deleted upon exit.
        */
       private void scan() throws BuildException {
           long now = (new Date()).getTime();
  @@ -663,11 +695,13 @@
           DirectoryScanner ds = null;
   
           ds = getDirectoryScanner( srcDir );
  +
           String[] files = ds.getIncludedFiles();
   
           FileOutputStream targetOutputStream = null;
           PrintStream targetPrinter = null;
           boolean writeTargets = false;
  +
           try {
               if( targets == null ) {
                   targets = new File( "targets" );
  @@ -684,6 +718,7 @@
               }
               for (int i = 0; i < files.length; i++ ) {
                   File srcFile = new File(srcDir, files[i]);
  +
                   if (files[i].endsWith(".java")) {
                       // print the target, while we're at here. (Only if generatetarget=true).
                       if( targetPrinter != null ) {
  @@ -712,6 +747,7 @@
   
           // also, check controlFile timestamp
           long controlFileTime = -1;
  +
           try {
               if( controlFile != null ) {
                   if( controlFile.exists() && buildDir.exists() ) {
  @@ -720,6 +756,7 @@
                       files = ds.getIncludedFiles();
                       for( int i = 0; i < files.length; i++ ) {
                           File srcFile = new File( srcDir, files[i] );
  +
                           if( files[i].endsWith( ".class" ) ) {
                               if( controlFileTime > srcFile.lastModified() ) {
                                   if( !dirty ) {
  @@ -739,13 +776,15 @@
   
   
       /**
  -     * Creates the -m option based on the values of controlFile, pre, post and invariant.
  +     * Creates the -m option based on the values of controlFile, pre, post and
  +     * invariant.
        */
       private final String directiveString() {
           StringBuffer sb = new StringBuffer();
           boolean comma = false;
   
           boolean useControlFile = (controlFile != null) && controlFile.exists();
  +
           if( useControlFile || pre || post || invariant ) {
               sb.append( "-m" );
           }
  @@ -777,33 +816,58 @@
           return sb.toString();
       }
   
  +
       /**
  -     * BuildListener that sets the iContractMissing flag to true if a
  -     * message about missing iContract is missing. Used to indicate
  -     * a more verbose error to the user, with advice about how to solve
  -     * the problem
  +     * BuildListener that sets the iContractMissing flag to true if a message
  +     * about missing iContract is missing. Used to indicate a more verbose
  +     * error to the user, with advice about how to solve the problem
  +     *
  +     * @author Conor MacNeill
        */
       private class IContractPresenceDetector implements BuildListener {
  -        public void buildFinished(BuildEvent event) {}
  -        public void buildStarted(BuildEvent event) {}
  +        public void buildFinished(BuildEvent event) {
  +        }
  +
  +
  +        public void buildStarted(BuildEvent event) {
  +        }
  +
  +
           public void messageLogged(BuildEvent event) {
               if( "java.lang.NoClassDefFoundError: com/reliablesystems/iContract/Tool".equals( event.getMessage() ) ) {
                   iContractMissing = true;
               }
           }
  -        public void targetFinished(BuildEvent event) {}
  -        public void targetStarted(BuildEvent event) {}
  -        public void taskFinished(BuildEvent event) {}
  -        public void taskStarted(BuildEvent event) {}
  +
  +
  +        public void targetFinished(BuildEvent event) {
       }
   
  +
  +        public void targetStarted(BuildEvent event) {
  +        }
  +
  +
  +        public void taskFinished(BuildEvent event) {
  +        }
  +
  +
  +        public void taskStarted(BuildEvent event) {
  +        }
  +    }
  +
  +
       /**
  -     * This class is a helper to set correct classpath for other compilers, like Jikes.
  -     * It reuses the logic from DefaultCompilerAdapter, which is protected, so we have
  -     * to subclass it.
  +     * This class is a helper to set correct classpath for other compilers,
  +     * like Jikes. It reuses the logic from DefaultCompilerAdapter, which is
  +     * protected, so we have to subclass it.
  +     *
  +     * @author Conor MacNeill
        */
       private class ClasspathHelper extends DefaultCompilerAdapter {
           private final String compiler;
  +
  +
           public ClasspathHelper( String compiler ) {
               super();
               this.compiler = compiler;
  @@ -820,7 +884,13 @@
           }
   
           // dummy implementation. Never called
  -        public void setJavac( Javac javac ) {}
  -        public boolean execute() { return true; }
  +        public void setJavac(Javac javac) {
  +        }
  +
  +
  +        public boolean execute() {
  +            return true;
       }
   }
  +}
  +
  
  
  
  1.9       +4 -3      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java
  
  Index: Javah.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  --- Javah.java	10 Jan 2002 13:59:34 -0000	1.8
  +++ Javah.java	14 Apr 2002 11:16:15 -0000	1.9
  @@ -318,7 +318,8 @@
               // dynamically. However, javah has a different interface and this
               // makes it harder, so here's a simple alternative.
               //------------------------------------------------------------------
  -            com.sun.tools.javah.Main main = new com.sun.tools.javah.Main( cmd.getArguments() );
  +            com.sun.tools.javah.Main main 
  +                = new com.sun.tools.javah.Main(cmd.getArguments());
               main.run();
           }
           //catch (ClassNotFoundException ex) {
  
  
  
  1.7       +3 -3      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java
  
  Index: Native2Ascii.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.18      +263 -220  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/NetRexxC.java
  
  Index: NetRexxC.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/NetRexxC.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -w -u -r1.17 -r1.18
  --- NetRexxC.java	4 Apr 2002 08:17:34 -0000	1.17
  +++ NetRexxC.java	14 Apr 2002 11:16:15 -0000	1.18
  @@ -124,7 +124,6 @@
    *
    * @author dIon Gillard <a href="mailto:dion@multitask.com.au">dion@multitask.com.au</a>
    */
  -
   public class NetRexxC extends MatchingTask {
   
       // variables to hold arguments
  @@ -165,17 +164,18 @@
       private boolean suppressDeprecation = false;
   
       // constants for the messages to suppress by flags and their corresponding properties
  -    static final String MSG_METHOD_ARGUMENT_NOT_USED = "Warning: Method argument is not used";
  -    static final String MSG_PRIVATE_PROPERTY_NOT_USED = "Warning: Private property is defined but not used";
  -    static final String MSG_VARIABLE_NOT_USED = "Warning: Variable is set but not used";
  -    static final String MSG_EXCEPTION_NOT_SIGNALLED = "is in SIGNALS list but is not signalled within the method";
  -    static final String MSG_DEPRECATION = "has been deprecated";
  +    final static String MSG_METHOD_ARGUMENT_NOT_USED = "Warning: Method argument is not used";
  +    final static String MSG_PRIVATE_PROPERTY_NOT_USED = "Warning: Private property is defined but not used";
  +    final static String MSG_VARIABLE_NOT_USED = "Warning: Variable is set but not used";
  +    final static String MSG_EXCEPTION_NOT_SIGNALLED = "is in SIGNALS list but is not signalled within the method";
  +    final static String MSG_DEPRECATION = "has been deprecated";
   
       // other implementation variables
       private Vector compileList = new Vector();
       private Hashtable filecopyList = new Hashtable();
       private String oldClasspath = System.getProperty("java.class.path");
   
  +
       /**
        * Set whether literals are treated as binary, rather than NetRexx types
        */
  @@ -183,36 +183,38 @@
           this.binary = binary;
       }
   
  -    /**
  -     * Set the classpath used for NetRexx compilation
  -     */
  +
  +    /** Set the classpath used for NetRexx compilation  */
       public void setClasspath(String classpath) {
           this.classpath = classpath;
       }
   
  +
       /**
        * Set whether comments are passed through to the generated java source.
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false
  +     * Valid true values are "on" or "true". Anything else sets the flag to
  +     * false. The default value is false
        */
       public void setComments(boolean comments) {
           this.comments = comments;
       }
   
  +
       /**
  -     * Set whether error messages come out in compact or verbose format.
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  +     * Set whether error messages come out in compact or verbose format. Valid
  +     * true values are "on" or "true". Anything else sets the flag to false.
        * The default value is false
        */
       public void setCompact(boolean compact) {
           this.compact = compact;
       }
   
  +
       /**
        * Set whether the NetRexx compiler should compile the generated java code
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is true.
  -     * Setting this flag to false, will automatically set the keep flag to true.
  +     * Valid true values are "on" or "true". Anything else sets the flag to
  +     * false. The default value is true. Setting this flag to false, will
  +     * automatically set the keep flag to true.
        */
       public void setCompile(boolean compile) {
           this.compile = compile;
  @@ -221,40 +223,43 @@
           }
       }
   
  +
       /**
  -     * Set whether or not messages should be displayed on the 'console'
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  +     * Set whether or not messages should be displayed on the 'console' Valid
  +     * true values are "on" or "true". Anything else sets the flag to false.
        * The default value is true.
        */
       public void setConsole(boolean console) {
           this.console = console;
       }
   
  -    /**
  -     * Whether variable cross references are generated
  -     */
  +
  +    /** Whether variable cross references are generated  */
       public void setCrossref(boolean crossref) {
           this.crossref = crossref;
       }
   
  +
       /**
        * Set whether decimal arithmetic should be used for the netrexx code.
  -     * Binary arithmetic is used when this flag is turned off.
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is true.
  +     * Binary arithmetic is used when this flag is turned off. Valid true
  +     * values are "on" or "true". Anything else sets the flag to false. The
  +     * default value is true.
        */
       public void setDecimal(boolean decimal) {
           this.decimal = decimal;
       }
   
  +
       /**
  -     * Set the destination directory into which the NetRexx source
  -     * files should be copied and then compiled.
  +     * Set the destination directory into which the NetRexx source files
  +     * should be copied and then compiled.
        */
       public void setDestDir(File destDirName) {
           destDir = destDirName;
       }
   
  +
       /**
        * Whether diagnostic information about the compile is generated
        */
  @@ -262,27 +267,30 @@
           this.diag = diag;
       }
   
  +
       /**
  -     * Sets whether variables must be declared explicitly before use.
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  +     * Sets whether variables must be declared explicitly before use. Valid
  +     * true values are "on" or "true". Anything else sets the flag to false.
        * The default value is false.
        */
       public void setExplicit(boolean explicit) {
           this.explicit = explicit;
       }
   
  +
       /**
  -     * Whether the generated java code is formatted nicely or left to match NetRexx
  -     * line numbers for call stack debugging
  +     * Whether the generated java code is formatted nicely or left to match
  +     * NetRexx line numbers for call stack debugging
        */
       public void setFormat(boolean format) {
           this.format = format;
       }
   
  +
       /**
  -     * Whether the generated java code is produced
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Whether the generated java code is produced Valid true values are "on"
  +     * or "true". Anything else sets the flag to false. The default value is
  +     * false.
        */
       public void setJava(boolean java) {
           this.java = java;
  @@ -290,69 +298,71 @@
   
   
       /**
  -     * Sets whether the generated java source file should be kept after compilation.
  -     * The generated files will have an extension of .java.keep, <b>not</b> .java
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Sets whether the generated java source file should be kept after
  +     * compilation. The generated files will have an extension of .java.keep,
  +     * <b>not</b> .java Valid true values are "on" or "true". Anything else
  +     * sets the flag to false. The default value is false.
        */
       public void setKeep(boolean keep) {
           this.keep = keep;
       }
   
  -    /**
  -     * Whether the compiler text logo is displayed when compiling
  -     */
  +
  +    /** Whether the compiler text logo is displayed when compiling  */
       public void setLogo(boolean logo) {
           this.logo = logo;
       }
   
  +
       /**
        * Whether the generated .java file should be replaced when compiling
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Valid true values are "on" or "true". Anything else sets the flag to
  +     * false. The default value is false.
        */
       public void setReplace(boolean replace) {
           this.replace = replace;
       }
   
  +
       /**
        * Sets whether the compiler messages will be written to NetRexxC.log as
  -     * well as to the console
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * well as to the console Valid true values are "on" or "true". Anything
  +     * else sets the flag to false. The default value is false.
        */
       public void setSavelog(boolean savelog) {
           this.savelog = savelog;
       }
   
  +
       /**
  -     * Tells the NetRexx compiler to store the class files in the same directory
  -     * as the source files. The alternative is the working directory
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is true.
  +     * Tells the NetRexx compiler to store the class files in the same
  +     * directory as the source files. The alternative is the working directory
  +     * Valid true values are "on" or "true". Anything else sets the flag to
  +     * false. The default value is true.
        */
       public void setSourcedir(boolean sourcedir) {
           this.sourcedir = sourcedir;
       }
   
  -    /**
  -     * Set the source dir to find the source Java files.
  -     */
  +
  +    /** Set the source dir to find the source Java files.  */
       public void setSrcDir(File srcDirName) {
           srcDir = srcDirName;
       }
   
  +
       /**
        * Tells the NetRexx compiler that method calls always need parentheses,
        * even if no arguments are needed, e.g. <code>aStringVar.getBytes</code>
  -     * vs. <code>aStringVar.getBytes()</code>
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * vs. <code>aStringVar.getBytes()</code> Valid true values are "on" or
  +     * "true". Anything else sets the flag to false. The default value is
  +     * false.
        */
       public void setStrictargs(boolean strictargs) {
           this.strictargs = strictargs;
       }
   
  +
       /**
        * Tells the NetRexx compile that assignments must match exactly on type
        */
  @@ -360,6 +370,7 @@
           this.strictassign = strictassign;
       }
   
  +
       /**
        * Specifies whether the NetRexx compiler should be case sensitive or not
        */
  @@ -367,21 +378,22 @@
           this.strictcase = strictcase;
       }
   
  +
       /**
  -     * Sets whether classes need to be imported explicitly using an
  -     * <code>import</code> statement. By default the NetRexx compiler will import
  -     * certain packages automatically
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Sets whether classes need to be imported explicitly using an <code>import</code>
  +     * statement. By default the NetRexx compiler will import certain packages
  +     * automatically Valid true values are "on" or "true". Anything else sets
  +     * the flag to false. The default value is false.
        */
       public void setStrictimport(boolean strictimport) {
           this.strictimport = strictimport;
       }
   
  +
       /**
  -     * Sets whether local properties need to be qualified explicitly using <code>this</code>
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Sets whether local properties need to be qualified explicitly using
  +     * <code>this</code> Valid true values are "on" or "true". Anything else
  +     * sets the flag to false. The default value is false.
        */
       public void setStrictprops(boolean strictprops) {
           this.strictprops = strictprops;
  @@ -389,54 +401,62 @@
   
   
       /**
  -     * Whether the compiler should force catching of exceptions by explicitly named types
  +     * Whether the compiler should force catching of exceptions by explicitly
  +     * named types
        */
       public void setStrictsignal(boolean strictsignal) {
           this.strictsignal = strictsignal;
       }
   
  +
       /**
        * Sets whether debug symbols should be generated into the class file
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Valid true values are "on" or "true". Anything else sets the flag to
  +     * false. The default value is false.
        */
       public void setSymbols(boolean symbols) {
           this.symbols = symbols;
       }
   
  +
       /**
        * Asks the NetRexx compiler to print compilation times to the console
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Valid true values are "on" or "true". Anything else sets the flag to
  +     * false. The default value is false.
        */
       public void setTime(boolean time) {
           this.time = time;
       }
   
  +
       public void setTrace(TraceAttr trace) {
           this.trace = trace.getValue();
       }
   
  +
       /**
  -     * Turns on or off tracing and directs the resultant trace output
  -     * Valid values are: "trace", "trace1", "trace2" and "notrace".
  -     * "trace" and "trace2"
  +     * Turns on or off tracing and directs the resultant trace output Valid
  +     * values are: "trace", "trace1", "trace2" and "notrace". "trace" and
  +     * "trace2"
        */
       public void setTrace(String trace) {
           TraceAttr t = new TraceAttr();
  +
           t.setValue(trace);
           setTrace(t);
       }
   
  +
       /**
  -     * Tells the NetRexx compiler that the source is in UTF8
  -     * Valid true values are "on" or "true". Anything else sets the flag to false.
  -     * The default value is false.
  +     * Tells the NetRexx compiler that the source is in UTF8 Valid true values
  +     * are "on" or "true". Anything else sets the flag to false. The default
  +     * value is false.
        */
       public void setUtf8(boolean utf8) {
           this.utf8 = utf8;
       }
   
  +
       /**
        * Whether lots of warnings and error messages should be generated
        */
  @@ -450,62 +470,71 @@
        */
       public void setVerbose(String verbose) {
           VerboseAttr v = new VerboseAttr();
  +
           v.setValue(verbose);
           setVerbose(v);
       }
   
  +
       /**
  -     * Whether the task should suppress the "Method argument is not used"
  -     * in strictargs-Mode, which can not be suppressed by the compiler itself.
  +     * Whether the task should suppress the "Method argument is not used" in
  +     * strictargs-Mode, which can not be suppressed by the compiler itself.
        * The warning is logged as verbose message, though.
        */
       public void setSuppressMethodArgumentNotUsed(boolean suppressMethodArgumentNotUsed) {
           this.suppressMethodArgumentNotUsed = suppressMethodArgumentNotUsed;
       }
   
  +
       /**
        * Whether the task should suppress the "Private property is defined but
  -     * not used" in strictargs-Mode, which can be quite annoying while developing.
  -     * The warning is logged as verbose message, though.
  +     * not used" in strictargs-Mode, which can be quite annoying while
  +     * developing. The warning is logged as verbose message, though.
        */
       public void setSuppressPrivatePropertyNotUsed(boolean suppressPrivatePropertyNotUsed) {
           this.suppressPrivatePropertyNotUsed = suppressPrivatePropertyNotUsed;
       }
   
  +
       /**
  -     * Whether the task should suppress the "Variable is set but not used"
  -     * in strictargs-Mode. Be careful with this one!
  -     * The warning is logged as verbose message, though.
  +     * Whether the task should suppress the "Variable is set but not used" in
  +     * strictargs-Mode. Be careful with this one! The warning is logged as
  +     * verbose message, though.
        */
       public void setSuppressVariableNotUsed(boolean suppressVariableNotUsed) {
           this.suppressVariableNotUsed = suppressVariableNotUsed;
       }
   
  +
       /**
  -     * Whether the task should suppress the "FooException is in SIGNALS list but
  -     * is not signalled within the method", which is sometimes rather useless.
  -     * The warning is logged as verbose message, though.
  +     * Whether the task should suppress the "FooException is in SIGNALS list
  +     * but is not signalled within the method", which is sometimes rather
  +     * useless. The warning is logged as verbose message, though.
        */
       public void setSuppressExceptionNotSignalled(boolean suppressExceptionNotSignalled) {
           this.suppressExceptionNotSignalled = suppressExceptionNotSignalled;
       }
   
  +
       /**
  -     * Whether the task should suppress the "FooException is in SIGNALS list but
  -     * is not signalled within the method", which is sometimes rather useless.
  -     * The warning is logged as verbose message, though.
  +     * Whether the task should suppress the "FooException is in SIGNALS list
  +     * but is not signalled within the method", which is sometimes rather
  +     * useless. The warning is logged as verbose message, though.
        */
       public void setSuppressDeprecation(boolean suppressDeprecation) {
           this.suppressDeprecation = suppressDeprecation;
       }
   
  +
       /**
  -     * init-Method sets defaults from Properties. That way, when ant is called with arguments
  -     * like -Dant.netrexxc.verbose=verbose5 one can easily take control of all netrexxc-tasks.
  +     * init-Method sets defaults from Properties. That way, when ant is called
  +     * with arguments like -Dant.netrexxc.verbose=verbose5 one can easily take
  +     * control of all netrexxc-tasks.
        */
       // Sorry for the formatting, but that way it's easier to keep in sync with the private properties (line by line).
       public void init() {
           String p;
  +
           if ((p=project.getProperty("ant.netrexxc.binary"))!=null) {
               this.binary=Project.toBoolean(p);
           }
  @@ -607,9 +636,8 @@
           }
       }
   
  -    /**
  -     * Executes the task - performs the actual compiler call.
  -     */
  +
  +    /** Executes the task - performs the actual compiler call.  */
       public void execute() throws BuildException {
   
           // first off, make sure that we've got a srcdir and destdir
  @@ -638,9 +666,10 @@
           }
       }
   
  +
       /**
  -     * Scans the directory looking for source files to be compiled and
  -     * support files to be copied.
  +     * Scans the directory looking for source files to be compiled and support
  +     * files to be copied.
        */
       private void scanDir(File srcDir, File destDir, String[] files) {
           for (int i = 0; i < files.length; i++) {
  @@ -668,34 +697,37 @@
           }
       }
   
  -    /**
  -     * Copy eligible files from the srcDir to destDir
  -     */
  +
  +    /** Copy eligible files from the srcDir to destDir  */
       private void copyFilesToDestination() {
           if (filecopyList.size() > 0) {
               log("Copying " + filecopyList.size() + " file"
                   + (filecopyList.size() == 1 ? "" : "s")
                   + " to " + destDir.getAbsolutePath());
  +
               Enumeration enum = filecopyList.keys();
  +
               while (enum.hasMoreElements()) {
                   String fromFile = (String)enum.nextElement();
                   String toFile = (String)filecopyList.get(fromFile);
  +
                   try {
                       project.copyFile(fromFile, toFile);
                   } catch (IOException ioe) {
                       String msg = "Failed to copy " + fromFile + " to " + toFile
                           + " due to " + ioe.getMessage();
  +
                       throw new BuildException(msg, ioe);
                   }
               }
           }
       }
   
  -    /**
  -     * Peforms a copmile using the NetRexx 1.1.x compiler
  -     */
  +
  +    /** Peforms a copmile using the NetRexx 1.1.x compiler  */
       private void doNetRexxCompile() throws BuildException {
           log("Using NetRexx compiler", Project.MSG_VERBOSE);
  +
           String classpath = getCompileClasspath();
           StringBuffer compileOptions = new StringBuffer();
           StringBuffer fileList = new StringBuffer();
  @@ -706,12 +738,14 @@
           String[] fileListArray = new String[compileList.size()];
           Enumeration e = compileList.elements();
           int j = 0;
  +
           while (e.hasMoreElements()) {
               fileListArray[j] = (String)e.nextElement();
               j++;
           }
           // create a single array of arguments for the compiler
           String compileArgs[] = new String[compileOptionsArray.length + fileListArray.length];
  +
           for (int i = 0; i < compileOptionsArray.length; i++) {
               compileArgs[i] = compileOptionsArray[i];
           }
  @@ -742,21 +776,24 @@
           // since the NetRexx compiler has no option for the classpath
           String currentClassPath = System.getProperty("java.class.path");
           Properties currentProperties = System.getProperties();
  +
           currentProperties.put("java.class.path", classpath);
   
           try {
               StringWriter out = new StringWriter();
  -            int rc = COM.ibm.netrexx.process.NetRexxC.
  -                main(new Rexx(compileArgs), new PrintWriter(out));
  +            int rc =
  +                COM.ibm.netrexx.process.NetRexxC.main(new Rexx(compileArgs), new PrintWriter(out));
               String sdir=srcDir.getAbsolutePath();
               String ddir=destDir.getAbsolutePath();
               boolean doReplace=!(sdir.equals(ddir));
               int dlen=ddir.length();
               String l;
               BufferedReader in=new BufferedReader(new StringReader(out.toString()));
  +
               log("replacing destdir '"+ddir+"' through sourcedir '"+sdir+"'", Project.MSG_VERBOSE);
               while ((l=in.readLine())!=null) {
                   int idx;
  +
                   while (doReplace && ((idx=l.indexOf(ddir))!=-1)) { // path is mentioned in the message
                       l=(new StringBuffer(l)).replace(idx,idx+dlen,sdir).toString();
                   }
  @@ -794,9 +831,8 @@
   
       }
   
  -    /**
  -     * Builds the compilation classpath.
  -     */
  +
  +    /** Builds the compilation classpath.  */
       private String getCompileClasspath() {
           StringBuffer classpath = new StringBuffer();
   
  @@ -814,11 +850,11 @@
           return classpath.toString();
       }
   
  -    /**
  -     * This
  -     */
  +
  +    /** This  */
       private String[] getCompileOptionsAsArray() {
           Vector options = new Vector();
  +
           options.addElement(binary ? "-binary" : "-nobinary");
           options.addElement(comments ? "-comments" : "-nocomments");
           options.addElement(compile ? "-compile" : "-nocompile");
  @@ -845,24 +881,28 @@
           options.addElement("-" + trace);
           options.addElement(utf8 ? "-utf8" : "-noutf8");
           options.addElement("-" + verbose);
  +
           String[] results = new String[options.size()];
  +
           options.copyInto(results);
           return results;
       }
  +
  +
       /**
  -     * Takes a classpath-like string, and adds each element of
  -     * this string to a new classpath, if the components exist.
  -     * Components that don't exist, aren't added.
  -     * We do this, because jikes issues warnings for non-existant
  -     * files/dirs in his classpath, and these warnings are pretty
  +     * Takes a classpath-like string, and adds each element of this string to
  +     * a new classpath, if the components exist. Components that don't exist,
  +     * aren't added. We do this, because jikes issues warnings for
  +     * non-existant files/dirs in his classpath, and these warnings are pretty
        * annoying.
  +     *
        * @param target - target classpath
  -     * @param source - source classpath
  -     * to get file objects.
  +     * @param source - source classpath to get file objects.
        */
       private void addExistingToClasspath(StringBuffer target,String source) {
           StringTokenizer tok = new StringTokenizer(source,
                                                     System.getProperty("path.separator"), false);
  +
           while (tok.hasMoreTokens()) {
               File f = project.resolveFile(tok.nextToken());
   
  @@ -877,12 +917,14 @@
   
       }
   
  +
       public static class TraceAttr extends EnumeratedAttribute {
           public String[] getValues() {
               return new String[] {"trace", "trace1", "trace2", "notrace"};
           }
       }
   
  +
       public static class VerboseAttr extends EnumeratedAttribute {
           public String[] getValues() {
               return new String[] {"verbose", "verbose0", "verbose1",
  @@ -891,3 +933,4 @@
           }
       }
   }
  +
  
  
  
  1.19      +12 -15    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/PropertyFile.java
  
  Index: PropertyFile.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/PropertyFile.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -w -u -r1.18 -r1.19
  --- PropertyFile.java	12 Apr 2002 13:26:51 -0000	1.18
  +++ PropertyFile.java	14 Apr 2002 11:16:15 -0000	1.19
  @@ -212,7 +212,8 @@
           {
               if (propertyfile.exists())
               {
  -                log("Updating property file: "+propertyfile.getAbsolutePath());
  +                log("Updating property file: " 
  +                    + propertyfile.getAbsolutePath());
                   FileInputStream fis = null;
                   try {
                       fis = new FileInputStream(propertyfile);
  @@ -226,8 +227,8 @@
               }
               else
               {
  -                log("Creating new property file: "+
  -                    propertyfile.getAbsolutePath());
  +                log("Creating new property file: " 
  +                    + propertyfile.getAbsolutePath());
                   FileOutputStream out = null;
                   try {
                       out = new FileOutputStream(propertyfile.getAbsolutePath());
  @@ -238,9 +239,7 @@
                       }
                   }
               }
  -        }
  -        catch(IOException ioe)
  -        {
  +        } catch (IOException ioe) {
               throw new BuildException(ioe.toString());
           }
       }
  @@ -275,8 +274,7 @@
                   Properties.class.getMethod("store",
                                              new Class[] {
                                                  OutputStream.class,
  -                                               String.class}
  -                                           );
  +                                               String.class});
               m.invoke(properties, new Object[] {bos, comment});
   
           } catch (NoSuchMethodException nsme) {
  @@ -287,9 +285,7 @@
           } catch (IllegalAccessException iae) {
               // impossible
               throw new BuildException(iae, location);
  -        }
  -        catch (IOException ioe)
  -        {
  +        } catch (IOException ioe) {
               throw new BuildException(ioe, location);
           }
           finally {
  @@ -385,7 +381,8 @@
                   }
                   else
                   {
  -                    throw new BuildException("Unknown operation type: "+type+"");
  +                    throw new BuildException("Unknown operation type: "
  +                        + type);
                   }
               } catch (NullPointerException npe) {
                   // Default to string type
  
  
  
  1.15      +9 -9      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/RenameExtensions.java
  
  Index: RenameExtensions.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/RenameExtensions.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -w -u -r1.14 -r1.15
  --- RenameExtensions.java	12 Apr 2002 13:26:51 -0000	1.14
  +++ RenameExtensions.java	14 Apr 2002 11:16:16 -0000	1.15
  @@ -129,8 +129,8 @@
   
           // first off, make sure that we've got a from and to extension
           if (fromExtension == null || toExtension == null || srcDir == null) {
  -            throw new BuildException( "srcDir, fromExtension and toExtension " +
  -                                      "attributes must be set!" );
  +            throw new BuildException("srcDir, fromExtension and toExtension " 
  +                + "attributes must be set!");
           }
   
           log("DEPRECATED - The renameext task is deprecated.  Use move instead.",
  
  
  
  1.9       +78 -100   jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java
  
  Index: ReplaceRegExp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  --- ReplaceRegExp.java	12 Apr 2002 13:26:51 -0000	1.8
  +++ ReplaceRegExp.java	14 Apr 2002 11:16:16 -0000	1.9
  @@ -73,7 +73,7 @@
   
   import java.util.Vector;
   
  -/***
  +/**
    * <pre>
    * Task to do regular expression string replacements in a text
    * file.  The input file(s) must be able to be properly processed by
  @@ -85,7 +85,6 @@
    * is <code>org.apache.tools.ant.util.regexp.JakartaOroRegexp</code> and
    * requires the Jakarta Oro Package).
    *
  - * <pre>
    * For jdk  &lt;= 1.3, there are two available implementations:
    *   org.apache.tools.ant.util.regexp.JakartaOroRegexp (the default)
    *        Requires  the jakarta-oro package
  @@ -96,7 +95,6 @@
    * For jdk &gt;= 1.4 an additional implementation is available:
    *   org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp
    *        Requires the jdk 1.4 built in regular expression package.
  - * </pre>
    *
    * Usage:
    *
  @@ -146,8 +144,7 @@
    *
    * @author <a href="mailto:mattinger@mindless.com">Matthew Inger</a>
    */
  -public class ReplaceRegExp extends Task
  -{
  +public class ReplaceRegExp extends Task {
   
       private File file;
       private String flags;
  @@ -158,11 +155,9 @@
   
       private FileUtils fileUtils = FileUtils.newFileUtils();
   
  -    /***
  -     * Default Constructor
  -     */
  -    public ReplaceRegExp()
  -    {
  +
  +    /** Default Constructor  */
  +    public ReplaceRegExp() {
           super();
           this.file = null;
           this.filesets = new Vector();
  @@ -173,13 +168,13 @@
           this.subs = null;
       }
   
  -    public void setFile(File file)
  -    {
  +
  +    public void setFile(File file) {
           this.file = file;
       }
   
  -    public void setMatch(String match)
  -    {
  +
  +    public void setMatch(String match) {
           if (regex != null) {
               throw new BuildException("Only one regular expression is allowed");
           }
  @@ -188,8 +183,8 @@
           regex.setPattern(match);
       }
   
  -    public void setReplace(String replace)
  -    {
  +
  +    public void setReplace(String replace) {
           if (subs != null) {
               throw new BuildException("Only one substitution expression is allowed");
           }
  @@ -198,27 +193,28 @@
           subs.setExpression(replace);
       }
   
  -    public void setFlags(String flags)
  -    {
  +
  +    public void setFlags(String flags) {
           this.flags = flags;
       }
   
  -    public void setByLine(String byline)
  -    {
  +
  +    public void setByLine(String byline) {
           Boolean res = Boolean.valueOf(byline);
  +
           if (res == null) {
               res = Boolean.FALSE;
           }
           this.byline = res.booleanValue();
       }
   
  -    public void addFileset(FileSet set)
  -    {
  +
  +    public void addFileset(FileSet set) {
           filesets.addElement(set);
       }
   
  -    public RegularExpression createRegexp()
  -    {
  +
  +    public RegularExpression createRegexp() {
           if (regex != null) {
               throw new BuildException("Only one regular expression is allowed.");
           }
  @@ -227,8 +223,8 @@
           return regex;
       }
   
  -    public Substitution createSubstitution()
  -    {
  +
  +    public Substitution createSubstitution() {
           if (subs != null) {
               throw new BuildException("Only one substitution expression is allowed");
           }
  @@ -241,33 +237,28 @@
       protected String doReplace(RegularExpression r,
                                  Substitution s,
                                  String input,
  -                               int options)
  -    {
  +                               int options) {
           String res = input;
           Regexp regexp = r.getRegexp(project);
   
  -        if (regexp.matches(input, options))
  -        {
  +        if (regexp.matches(input, options)) {
               res = regexp.substitute(input, s.getExpression(project), options);
           }
   
           return res;
       }
   
  -    /***
  -     * Perform the replace on the entire file
  -     */
  +
  +    /** Perform the replace on the entire file  */
       protected void doReplace(File f, int options)
  -        throws IOException
  -    {
  +         throws IOException {
           File parentDir = new File(new File(f.getAbsolutePath()).getParent());
           File temp = fileUtils.createTempFile("replace", ".txt", parentDir);
   
           FileReader r = null;
           FileWriter w = null;
   
  -        try
  -        {
  +        try {
               r = new FileReader(f);
               w = new FileWriter(temp);
   
  @@ -284,14 +275,13 @@
                   ".",
                   Project.MSG_WARN);
   
  -            if (byline)
  -            {
  +            if (byline) {
                   LineNumberReader lnr = new LineNumberReader(br);
                   String line = null;
                   
  -                while ((line = lnr.readLine()) != null)
  -                {
  +                while ((line = lnr.readLine()) != null) {
                       String res = doReplace(regex, subs, line, options);
  +
                       if (! res.equals(line)) {
                           changes = true;
                       }
  @@ -299,15 +289,13 @@
                       pw.println(res);
                   }
                   pw.flush();
  -            }
  -            else
  -            {
  -                int flen = (int)(f.length());
  +            } else {
  +                int flen = (int) f.length();
                   char tmpBuf[] = new char[flen];
                   int numread = 0;
                   int totread = 0;
  -                while (numread != -1 && totread < flen)
  -                {
  +
  +                while (numread != -1 && totread < flen) {
                       numread = br.read(tmpBuf, totread, flen);
                       totread += numread;
                   }
  @@ -315,6 +303,7 @@
                   String buf = new String(tmpBuf);
                   
                   String res = doReplace(regex, subs, buf, options);
  +
                   if (! res.equals(buf)) {
                       changes = true;
                   }
  @@ -328,33 +317,34 @@
               w.close();
               w = null;
   
  -            if (changes)
  -            {
  +            if (changes) {
                   f.delete();
                   temp.renameTo(f);
  -            }
  -            else
  -            {
  +            } else {
                   temp.delete();
               }
  -        }
  -        finally
  -        {
  -            try { if (r != null) {
  +        } finally {
  +            try {
  +                if (r != null) {
                       r.close();
  -                  } }
  -            catch (Exception e) { };
  +                }
  +            } catch (Exception e) {
  +            }
  +            ;
   
  -            try { if (w != null) {
  +            try {
  +                if (w != null) {
                       r.close();
  -                  } }
  -            catch (Exception e) { };
           }
  +            } catch (Exception e) {
  +            }
  +            ;
       }
  +    }
  +
   
       public void execute()
  -        throws BuildException
  -    {
  +         throws BuildException {
           if (regex == null) {
               throw new BuildException("No expression to match.");
           }
  @@ -366,7 +356,6 @@
               throw new BuildException("You cannot supply the 'file' attribute and filesets at the same time.");
           }
   
  -
           int options = 0;
           
           if (flags.indexOf('g') != -1) {
  @@ -385,48 +374,37 @@
               options |= Regexp.MATCH_SINGLELINE;
           }
   
  -        if (file != null && file.exists())
  -        {
  -            try
  -            {
  +        if (file != null && file.exists()) {
  +            try {
                   doReplace(file, options);
  -            }
  -            catch (IOException e)
  -            {
  +            } catch (IOException e) {
                   log("An error occurred processing file: '" + file.getAbsolutePath() + "': " + e.toString(),
                       Project.MSG_ERR);
               }
  -        }
  -        else if (file != null)
  -        {
  +        } else if (file != null) {
               log("The following file is missing: '" + file.getAbsolutePath() + "'",
                   Project.MSG_ERR);
           }
   
           int sz = filesets.size();
  -        for (int i=0;i<sz;i++)
  -        {
  +
  +        for (int i = 0; i < sz; i++) {
               FileSet fs = (FileSet)(filesets.elementAt(i));
               DirectoryScanner ds = fs.getDirectoryScanner(getProject());
               
               String files[] = ds.getIncludedFiles();
  -            for (int j=0;j<files.length;j++)
  -            {
  +
  +            for (int j = 0; j < files.length; j++) {
                   File f = new File(files[j]);
  -                if (f.exists())
  -                {
  -                    try
  -                    {
  +
  +                if (f.exists()) {
  +                    try {
                           doReplace(f, options);
  -                    }
  -                    catch (Exception e)
  -                    {
  +                    } catch (Exception e) {
                           log("An error occurred processing file: '" + f.getAbsolutePath() + "': " + e.toString(),
                               Project.MSG_ERR);
                       }
  -                }
  -                else
  -                {
  +                } else {
                       log("The following file is missing: '" + file.getAbsolutePath() + "'",
                           Project.MSG_ERR);
                   }
  
  
  
  1.5       +5 -5      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java
  
  Index: Rpm.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  
  
  
  1.14      +6 -6      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Script.java
  
  Index: Script.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Script.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  
  
  
  1.6       +32 -27    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/StyleBook.java
  
  Index: StyleBook.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/StyleBook.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -u -r1.5 -r1.6
  --- StyleBook.java	10 Jan 2002 13:59:34 -0000	1.5
  +++ StyleBook.java	14 Apr 2002 11:16:16 -0000	1.6
  @@ -57,45 +57,50 @@
   import org.apache.tools.ant.BuildException;
   
   
  -
   import org.apache.tools.ant.taskdefs.Java;
   
   /**
    * Basic task for apache stylebook.
    *
    * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
  - * @author <a href="mailto:marcus.boerger@post.rwth-aachen.de">Marcus B&ouml;rger</a>
  + * @author <a href="mailto:marcus.boerger@post.rwth-aachen.de">Marcus
  + *      B&ouml;rger</a>
    */
   public class StyleBook
  -    extends Java
  -{
  +     extends Java {
       protected File                   m_targetDirectory;
       protected File                   m_skinDirectory;
       protected String                 m_loaderConfig;
       protected File                   m_book;
   
  +
       public StyleBook() {
           setClassname( "org.apache.stylebook.StyleBook" );
           setFork( true );
           setFailonerror( true );
       }
   
  +
       public void setBook( final File book ) {
           m_book = book;
       }
   
  +
       public void setSkinDirectory( final File skinDirectory ) {
           m_skinDirectory = skinDirectory;
       }
   
  +
       public void setTargetDirectory( final File targetDirectory ) {
           m_targetDirectory = targetDirectory;
       }
   
  +
       public void setLoaderConfig( final String loaderConfig ) {
           m_loaderConfig = loaderConfig;
       }
   
  +
       public void execute()
           throws BuildException  {
   
  
  
  
  1.6       +50 -41    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Test.java
  
  Index: Test.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Test.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -u -r1.5 -r1.6
  --- Test.java	28 Oct 2001 21:30:18 -0000	1.5
  +++ Test.java	14 Apr 2002 11:16:16 -0000	1.6
  @@ -58,53 +58,62 @@
   import java.util.Vector; 
    
   /** 
  - * 
    * @author <a href="mailto:donaldp@apache.org">Peter Donald</a> 
    */ 
  -public class Test 
  -    extends Java {
  +public class Test extends Java {
    
       protected Vector                          m_tests            = new Vector();
   
  +
       protected final static class TestletEntry {
   
           protected String m_testname = "";
   
  +
           public void addText( final String testname ) {
               m_testname += testname;
           }
   
  +
           public String toString() {
               return m_testname;
           }
       }
   
  +
       public Test() {
           setClassname( "org.apache.testlet.engine.TextTestEngine" );
       }
   
  +
       public TestletEntry createTestlet() {
           final TestletEntry entry = new TestletEntry();
  +
           m_tests.addElement( entry );
           return entry;
       }
    
  +
       public void setShowSuccess( final boolean showSuccess ) {
           createArg().setValue( "-s=" + showSuccess );
       } 
    
  +
       public void setShowBanner( final String showBanner ) { 
           createArg().setValue( "-b=" + showBanner );
       } 
    
  +
       public void setShowTrace( final boolean showTrace ) {
            createArg().setValue( "-t=" + showTrace );
       } 
    
  +
       public void setForceShowTrace( final boolean forceShowTrace ) { 
           createArg().setValue( "-f=" + forceShowTrace );
       } 
    
  +
       public void execute() 
           throws BuildException  { 
   
  
  
  
  1.13      +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java
  
  Index: XslpLiaison.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -w -u -r1.12 -r1.13
  
  
  
  1.3       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckin.java
  
  Index: CCCheckin.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckin.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.3       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckout.java
  
  Index: CCCheckout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckout.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.3       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUnCheckout.java
  
  Index: CCUnCheckout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUnCheckout.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.3       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUpdate.java
  
  Index: CCUpdate.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUpdate.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.3       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java
  
  Index: ClearCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.3       +10 -10    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java
  
  Index: AntAnalyzer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.8       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/ClassFile.java
  
  Index: ClassFile.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/ClassFile.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -u -r1.7 -r1.8
  
  
  
  1.26      +36 -32    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
  
  Index: Depend.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -w -u -r1.25 -r1.26
  --- Depend.java	11 Apr 2002 16:09:37 -0000	1.25
  +++ Depend.java	14 Apr 2002 11:16:16 -0000	1.26
  @@ -608,12 +608,14 @@
               if (outOfDateClasses.containsKey(className)) {
                   continue;
               }
  -            ClassFileInfo info = (ClassFileInfo)classFileInfoMap.get(className);
  +            ClassFileInfo info 
  +                = (ClassFileInfo) classFileInfoMap.get(className);
   
               // if we have no info about the class - it may have been deleted already and we
               // are using cached info.
               if (info != null) {
  -                Hashtable dependencies = (Hashtable)classpathDependencies.get(className);
  +                Hashtable dependencies 
  +                    = (Hashtable) classpathDependencies.get(className);
                   for (Enumeration e2 = dependencies.elements(); e2.hasMoreElements(); ) {
                       File classpathFile = (File)e2.nextElement();
                       if (classpathFile.lastModified() 
  @@ -692,10 +694,12 @@
               File srcFile = new File(srcDir, files[i]);
               if (files[i].endsWith(".java")) {
                   String filePath = srcFile.getPath();
  -                String className = filePath.substring(srcDir.getPath().length() + 1,
  +                String className 
  +                    = filePath.substring(srcDir.getPath().length() + 1,
                       filePath.length() - ".java".length());
                   className = ClassFileUtils.convertSlashName(className);
  -                ClassFileInfo info = (ClassFileInfo)classFileInfoMap.get(className);
  +                ClassFileInfo info 
  +                    = (ClassFileInfo) classFileInfoMap.get(className);
                   if (info == null) {
                       // there was no class file. add this class to the list
                       outOfDateClasses.put(className, className);
  
  
  
  1.8       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/DirectoryIterator.java
  
  Index: DirectoryIterator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/DirectoryIterator.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -u -r1.7 -r1.8
  
  
  
  1.7       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ClassCPInfo.java
  
  Index: ClassCPInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ClassCPInfo.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.7       +13 -12    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPool.java
  
  Index: ConstantPool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPool.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  --- ConstantPool.java	3 Feb 2002 21:53:05 -0000	1.6
  +++ ConstantPool.java	14 Apr 2002 11:16:17 -0000	1.7
  @@ -358,7 +358,8 @@
               Object element = entries.elementAt(i);
   
               if (element instanceof NameAndTypeCPInfo) {
  -                NameAndTypeCPInfo nameAndTypeEntry = (NameAndTypeCPInfo)element;
  +                NameAndTypeCPInfo nameAndTypeEntry 
  +                    = (NameAndTypeCPInfo) element;
   
                   if (nameAndTypeEntry.getName().equals(name)
                        && nameAndTypeEntry.getType().equals(type)) {
  
  
  
  1.7       +3 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/FieldRefCPInfo.java
  
  Index: FieldRefCPInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/FieldRefCPInfo.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  --- FieldRefCPInfo.java	3 Feb 2002 21:53:05 -0000	1.6
  +++ FieldRefCPInfo.java	14 Apr 2002 11:16:17 -0000	1.7
  @@ -99,7 +99,8 @@
        *      and against which this entry is to be resolved.
        */
       public void resolve(ConstantPool constantPool) {
  -        ClassCPInfo fieldClass = (ClassCPInfo)constantPool.getEntry(classIndex);
  +        ClassCPInfo fieldClass 
  +            = (ClassCPInfo) constantPool.getEntry(classIndex);
   
           fieldClass.resolve(constantPool);
   
  
  
  
  1.7       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/InterfaceMethodRefCPInfo.java
  
  Index: InterfaceMethodRefCPInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/InterfaceMethodRefCPInfo.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.7       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/MethodRefCPInfo.java
  
  Index: MethodRefCPInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/MethodRefCPInfo.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.7       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/NameAndTypeCPInfo.java
  
  Index: NameAndTypeCPInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/NameAndTypeCPInfo.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.7       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/StringCPInfo.java
  
  Index: StringCPInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/StringCPInfo.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.22      +13 -13    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/CSharp.java
  
  Index: CSharp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/CSharp.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -w -u -r1.21 -r1.22
  
  
  
  1.14      +4 -4      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java
  
  Index: NetCommand.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  
  
  
  1.5       +24 -24    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/WsdlToDotnet.java
  
  Index: WsdlToDotnet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/WsdlToDotnet.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  
  
  
  1.12      +46 -43    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandDeploymentTool.java
  
  Index: BorlandDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandDeploymentTool.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -w -u -r1.11 -r1.12
  --- BorlandDeploymentTool.java	22 Nov 2001 08:46:55 -0000	1.11
  +++ BorlandDeploymentTool.java	14 Apr 2002 11:16:17 -0000	1.12
  @@ -202,7 +202,8 @@
                               // Get the filename of vendor specific descriptor
                               String fileNameWithMETA = currentText;
                               //trim the META_INF\ off of the file name
  -                            String fileName = fileNameWithMETA.substring(META_DIR.length(), 
  +                            String fileName 
  +                                = fileNameWithMETA.substring(META_DIR.length(), 
                                                                            fileNameWithMETA.length() );
                               File descriptorFile = new File(srcDir, fileName);
                          
  @@ -270,12 +271,14 @@
                   javaTask.setFork(true);
               }
               
  -            log("Calling "+VERIFY+" for " + sourceJar.toString(), Project.MSG_VERBOSE);
  +            log("Calling " + VERIFY + " for " + sourceJar.toString(), 
  +                Project.MSG_VERBOSE);
               javaTask.execute();
           }
           catch (Exception e) {
               //TO DO : delete the file if it is not a valid file.
  -            String msg = "Exception while calling "+VERIFY+" Details: " + e.toString();
  +            String msg = "Exception while calling " + VERIFY + " Details: " 
  +                + e.toString();
               throw new BuildException(msg, e);
           }
       }
  @@ -307,7 +310,8 @@
           }
           catch (Exception e) {
               //TO DO : delete the file if it is not a valid file.
  -            String msg = "Exception while calling "+VERIFY+" Details: " + e.toString();
  +            String msg = "Exception while calling " + VERIFY + " Details: " 
  +                + e.toString();
               throw new BuildException(msg, e);
           }
       }
  @@ -355,7 +359,8 @@
               execTask.setCommandline(commandline.getCommandline());
               int result = execTask.execute();
               if ( result != 0 ) {
  -                String msg = "Failed executing java2iiop (ret code is "+result+")";
  +                String msg = "Failed executing java2iiop (ret code is "
  +                    + result + ")";
                   throw new BuildException(msg, getTask().getLocation());
               }                       
           }
  @@ -465,10 +470,8 @@
       {
           BufferedReader reader = new BufferedReader(new InputStreamReader(is));
           String s = reader.readLine();
  -        if ( s != null) 
  -        {
  +        if (s != null) {
               log("[java2iiop] "+s,Project.MSG_DEBUG);
           } // end of if ()        
       }
  -    
   }
  
  
  
  1.7       +12 -13    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandGenerateClient.java
  
  Index: BorlandGenerateClient.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandGenerateClient.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  --- BorlandGenerateClient.java	4 Mar 2002 08:49:35 -0000	1.6
  +++ BorlandGenerateClient.java	14 Apr 2002 11:16:17 -0000	1.7
  @@ -144,13 +144,11 @@
        * @exception BuildException if someting goes wrong with the build
        */
       public void execute() throws BuildException {
  -        if ( ejbjarfile == null ||
  -             ejbjarfile.isDirectory()) {
  +        if (ejbjarfile == null || ejbjarfile.isDirectory()) {
               throw new BuildException("invalid ejb jar file.");
           } // end of if ()
   
  -        if ( clientjarfile == null ||
  -             clientjarfile.isDirectory()) {
  +        if (clientjarfile == null || clientjarfile.isDirectory()) {
               log("invalid or missing client jar file.",Project.MSG_VERBOSE);
               String ejbjarname = ejbjarfile.getAbsolutePath();
               //clientname = ejbjarfile+client.jar
  @@ -247,7 +245,8 @@
           }
           catch (Exception e) {
               // Have to catch this because of the semantics of calling main()
  -            String msg = "Exception while calling generateclient Details: " + e.toString();
  +            String msg = "Exception while calling generateclient Details: " 
  +                + e.toString();
               throw new BuildException(msg, e);
           }
   
  
  
  
  1.14      +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java
  
  Index: DDCreator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  
  
  
  1.20      +8 -8      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
  
  Index: DescriptorHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -w -u -r1.19 -r1.20
  
  
  
  1.34      +4 -4      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbJar.java
  
  Index: EjbJar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbJar.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -w -u -r1.33 -r1.34
  
  
  
  1.16      +1 -1      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.15
  retrieving revision 1.16
  diff -u -w -u -r1.15 -r1.16
  
  
  
  1.15      +3 -3      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.14
  retrieving revision 1.15
  diff -u -w -u -r1.14 -r1.15
  
  
  
  1.37      +11 -10    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java
  
  Index: GenericDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -w -u -r1.36 -r1.37
  --- GenericDeploymentTool.java	10 Apr 2002 00:19:54 -0000	1.36
  +++ GenericDeploymentTool.java	14 Apr 2002 11:16:18 -0000	1.37
  @@ -309,7 +309,8 @@
           
           try {
               Class analyzerClass = Class.forName(analyzerClassName);
  -            dependencyAnalyzer = (DependencyAnalyzer)analyzerClass.newInstance();
  +            dependencyAnalyzer 
  +                = (DependencyAnalyzer) analyzerClass.newInstance();
               dependencyAnalyzer.addClassPath(new Path(task.getProject(),
                   config.srcDir.getPath()));
               dependencyAnalyzer.addClassPath(config.classpath);
  
  
  
  1.7       +7 -7      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java
  
  Index: IPlanetEjbc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  
  
  
  1.5       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/InnerClassFilenameFilter.java
  
  Index: InnerClassFilenameFilter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/InnerClassFilenameFilter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  
  
  
  1.3       +409 -363  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JonasDeploymentTool.java
  
  Index: JonasDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JonasDeploymentTool.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- JonasDeploymentTool.java	25 Feb 2002 15:09:43 -0000	1.2
  +++ JonasDeploymentTool.java	14 Apr 2002 11:16:18 -0000	1.3
  @@ -63,13 +63,12 @@
   import java.io.IOException;
   import java.util.Hashtable;
   
  -
   /**
  - * The deployment tool to add the jonas specific deployment descriptors to 
  - * the ejb jar file. JONAS only requires one additional file jonas-ejb-jar.xml.
  + * The deployment tool to add the jonas specific deployment descriptors to the
  + * ejb jar file. JONAS only requires one additional file jonas-ejb-jar.xml.
    *
  - * @author <a href="cmorvan@ingenosya.com">Cyrille Morvan</a>,
  - *       <a href="http://www.ingenosya.com">Ingenosya France</a>
  + * @author <a href="cmorvan@ingenosya.com">Cyrille Morvan</a> , <a
  + *      href="http://www.ingenosya.com">Ingenosya France</a>
    * @version 1.0
    * @see EjbJar#createJonas
    */
  @@ -89,14 +88,17 @@
       private String jarSuffix = ".jar";
   
       /**
  -     * Instance variable that stores the fully qualified classname
  -     * of the JOnAS GenIC compiler.
  -     **/
  +     * Instance variable that stores the fully qualified classname of the
  +     * JOnAS GenIC compiler.
  +     */
       private String genicClass;
   
       private String additionalArgs = "";
   
  -    /** Instance variable that determines do not delete intermediate generated source files */
  +    /**
  +     * Instance variable that determines do not delete intermediate generated
  +     * source files
  +     */
       private boolean keepgenerated = false;
       
       /** as websphere and WebLogic taskes */
  @@ -125,9 +127,8 @@
   
       private boolean noGENIC = false;
   
  -    /**
  -     * set the name of the GenIC compiler class.
  -     **/
  +
  +    /** set the name of the GenIC compiler class.  */
       public void setGenicClass(final String inGenicClass) {
          genicClass = inGenicClass;
       }
  @@ -135,157 +136,178 @@
   
       /**
        * Set the ORB to construct classpath.
  +     *
        * @param inValue RMI, JEREMIE, DAVID,...
  -     **/
  +     */
       public void setOrb(final String inValue) {
          orb = inValue;
       }
   
  -    /**
  -     * The compiler (switch <code>-javac</code>) to use.
  -     **/
  +
  +    /** The compiler (switch <code>-javac</code>) to use.  */
       public void setCompiler(final String inCompiler) {
           compiler = inCompiler;
       }  
       
  +
       /**
        * Setter used to store the value of keepGeneric
  +     *
        * @param inValue a string, either 'true' or 'false'.
        */
       public void setKeepgeneric(boolean inValue) {
           this.keepGeneric = inValue;
       }
       
  +
       /**
        * GenIC verbose or not
  +     *
        * @param inValue either 'true' or 'false'
  -     **/
  +     */
       public void setVerbose(final boolean inValue) {
           verbose = inValue;
       }
   
  +
       /**
        * GenIC run or not.
  +     *
        * @param inValue run or not
  -     **/
  +     */
       public void setNoGENIC(final boolean inValue) {
           noGENIC = inValue;
       }
   
  +
       /**
  -     * Sets whether -keepgenerated is passed to GenIC (that is,
  -     * the .java source files are kept).
  +     * Sets whether -keepgenerated is passed to GenIC (that is, the .java
  +     * source files are kept).
  +     *
        * @param inValue either 'true' or 'false'
  -     **/
  +     */
       public void setKeepgenerated(final boolean inValue) {
           keepgenerated = inValue;
       }
   
  +
       /**
        * set the jonas root directory (-Dinstall.root=).
        * 
        * @throws BuildException if the file doesn't exist.
  -     **/
  +     */
       public void setJonasroot(final File inValue) {
         jonasroot = inValue;
       }
   
  +
       /**
  -     * Modify the RMI Skeleton and Stub to implement
  -     * the implicit propagation of the transactionnal
  -     * context and security context.
  -     * For JOnAS 2.4 and next.
  +     * Modify the RMI Skeleton and Stub to implement the implicit propagation
  +     * of the transactionnal context and security context. For JOnAS 2.4 and
  +     * next.
        */
       public void setSecpropag(final boolean inValue) {
         secpropag = inValue;
       }
       
  +
       /**
  -     * set the output directory (-d ...).
  -     * <br>
  -     *  
  -     * It's the GenIC working directory. It's not the
  -     * DestDir, which is the 'jar' destination directory. 
  +     * set the output directory (-d ...). <br>
  +     * It's the GenIC working directory. It's not the DestDir, which is the
  +     * 'jar' destination directory.
        * 
        * @param inValue a file 
  -     **/
  +     */
       public void setOuputdir(final File inValue) {
           ouputdirectory = inValue;
       }
       
       
       /**
  -     * set the output directory (-d ...).
  -     * Same as setOuputdir().
  -     * <br>
  +     * set the output directory (-d ...). Same as setOuputdir(). <br>
        * But do not override setDestDir()
  -     **/
  +     */
       public void setWorkdir(final File inValue) {
           setOuputdir(inValue);
       }
   
  +
       /**
        * Clean the specified Work dir after work.
  +     *
        * @param inValue true : clean ; false : not clean
  -     **/
  +     */
       public void setCleanworkdir(final boolean inValue) {
           cleanWorkDir = inValue;
       }
       
  +
       /**
        * Setter used to store the suffix for the generated JOnAS jar file.
  +     *
        * @param inString the string to use as the suffix.
  -     **/
  +     */
       public void setSuffix(String inString) {
           this.jarSuffix = inString;
       }
   
  -    /**
  -     * sets some additional args to send to GenIC.
  -     **/
  +
  +    /** sets some additional args to send to GenIC.  */
       public void setArgs(final String inArgs) {
           additionalArgs = inArgs;
       }
   
  +
       /**
  -     * Add any vendor specific files which should be included in the
  -     * EJB Jar.
  +     * Add any vendor specific files which should be included in the EJB Jar.
  +     *
        * @param aDdPrefix MyDirectories/MyEjb- or MyDirectories/ 
  -     **/
  -    protected void addVendorFiles(final Hashtable someEjbFiles,final String aDdPrefix) {
  +     */
  +    protected void addVendorFiles(final Hashtable someEjbFiles,
  +                                        final String aDdPrefix) {
           // Use Ant Naming convention
  -        File aJonasDD = new File(getConfig().descriptorDir,aDdPrefix + JONAS_DD);
  +        File aJonasDD
  +             = new File(getConfig().descriptorDir, aDdPrefix + JONAS_DD);
  +
           if ( aJonasDD.exists() ) {
               someEjbFiles.put(META_DIR + JONAS_DD, aJonasDD);
           } else {
               // try with JOnAS Naming convention
               if( ! addJonasVendorFiles(someEjbFiles,aDdPrefix) ) {            
  -               log("Unable to locate JOnAS deployment descriptor. It was expected to be in "
  -                  + aJonasDD.getPath() + ". Or please use JOnAS naming convention.",
  +                log("Unable to locate JOnAS deployment descriptor. It was "
  +                     + "expected to be in " + aJonasDD.getPath()
  +                     + ". Alternatively, please use JOnAS naming convention.",
                     Project.MSG_WARN);
               }
           }
       }
   
  +
       /**
  -     * try to add JOnAS specific file, using JOnAS naming convention.
  -     * For example : jonas-Account.xml or jonas-ejb-jar.xml
  +     * try to add JOnAS specific file, using JOnAS naming convention. For
  +     * example : jonas-Account.xml or jonas-ejb-jar.xml
  +     *
        * @param aDdPrefix MyDirectories/MyEjb- or MyDirectories/ 
        * @return true if Ok
        */
  -    private boolean addJonasVendorFiles(final Hashtable someEjbFiles,final String aDdPrefix) {
  +    private boolean addJonasVendorFiles(final Hashtable someEjbFiles,
  +                                              final String aDdPrefix) {
         // replace \ by /, remove the last letter ( a dash - )
  -      final String aCanonicalDD = aDdPrefix.replace('\\', '/').substring(0,aDdPrefix.length()-1);
  +        final String aCanonicalDD
  +             = aDdPrefix.replace('\\', '/').substring(0, aDdPrefix.length() - 1);
         final int index = aCanonicalDD.lastIndexOf('/') + 1;
         String anEjbJarName = aCanonicalDD.substring(index);
  +
         if( "ejb".equals( anEjbJarName ) ) {
            anEjbJarName = "ejb-jar";
         } 
         final String aNewDdPrefix = 
               aDdPrefix.substring(0,index) + "jonas-" + anEjbJarName + ".xml";
  -      File aConventionNamingJonasDD = new File(getConfig().descriptorDir,aNewDdPrefix);
  +        File aConventionNamingJonasDD
  +             = new File(getConfig().descriptorDir, aNewDdPrefix);
         
  -      log("look for jonas specific file using jonas naming convention " + aConventionNamingJonasDD,
  +        log("look for jonas specific file using jonas naming convention "
  +             + aConventionNamingJonasDD,
                              Project.MSG_VERBOSE);
   
         if( aConventionNamingJonasDD.exists() ) {
  @@ -301,6 +323,7 @@
       protected String getJarBaseName(String aDescriptorFileName) {
         String aBaseName = null;
         EjbJar.Config aConfig = super.getConfig();
  +
         if (aConfig.namingScheme.getValue().equals(EjbJar.NamingScheme.DESCRIPTOR)) {
            // try to find JOnAS specific convention name
            // ??/MyEJB.xml ( I will find later the ??/jonas-MyEJB.xml file )
  @@ -308,6 +331,7 @@
               String aCanonicalDescriptor = aDescriptorFileName.replace('\\','/');
               int lastSeparatorIndex = aCanonicalDescriptor.lastIndexOf('/');
               int endBaseName;
  +
               if (lastSeparatorIndex != -1) {
                   endBaseName = aDescriptorFileName.indexOf(".xml", lastSeparatorIndex);
               } else {
  @@ -327,15 +351,17 @@
         return aBaseName;
       }
   
  +
       /**
  -     * 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.
  -     **/
  +     * 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.
  +     */
       protected void writeJar(String baseName, File jarFile, Hashtable files,
                               String publicId) throws BuildException {
           // need to create a generic jar first.
           File genericJarFile = super.getVendorOutputJarFile(baseName);
  +
           super.writeJar(baseName, genericJarFile, files, publicId);
   
           // todo ? if (alwaysRebuild || isRebuildRequired(genericJarFile, jarFile))
  @@ -348,16 +374,19 @@
           }
       }
   
  +
       /**
        * Helper method invoked by execute() for each JOnAS jar to be built.
  -     * Encapsulates the logic of constructing a java task for calling
  -     * GenIC and executing it.
  +     * Encapsulates the logic of constructing a java task for calling GenIC
  +     * and executing it.
  +     *
        * @param inBaseName the base name of the jar
  -     * @param inSourceJar java.io.File representing the source (EJB1.1) jarfile.
  +     * @param inSourceJar java.io.File representing the source (EJB1.1)
  +     *      jarfile.
        * @param someFiles list of files in the jar. Add all the new genererated
        *   files.
        * @param inPublicId the link to DTD (to rewrite JAR).
  -     **/
  +     */
       private void buildJOnASJar(final String inBaseName,
                                  final File inSourceJar,final File inDestJar,
                                  final Hashtable someFiles,String inPublicId) {
  @@ -398,7 +427,9 @@
                        Project.MSG_ERR);
            }
            aJavaTask.createJvmarg().setValue("-Dinstall.root=" + jonasroot);
  +
            File aJavaPolicyFile = new File(jonasroot,"config/java.policy");
  +
            if( aJavaPolicyFile.exists() ) {
               aJavaTask.createJvmarg().setValue("-Djava.security.policy=" 
                                           + aJavaPolicyFile.toString() );
  @@ -440,6 +471,7 @@
                // try to use the compiler specified by build.compiler. Right now we are just going
                // to allow Jikes
                String aBuildCompiler = getTask().getProject().getProperty("build.compiler");
  +
                if ("jikes".equals(aBuildCompiler) ) {
                    aJavaTask.createArg().setValue("-javac");
                    aJavaTask.createArg().setValue("jikes");
  @@ -460,6 +492,7 @@
   
            // try to create the classpath for the correct ORB
            Path aClasspath = getCombinedClasspath();
  +
            if( aClasspath == null ) {
               aClasspath = new Path(getTask().getProject());
            }
  @@ -468,6 +501,7 @@
               String aConfigDir = new File(jonasroot,"config/").toString();
               Path aJOnASOrbPath = new Path(aClasspath.getProject(),
                                          aOrbJar + File.pathSeparator + aConfigDir );
  +
               aClasspath.append( aJOnASOrbPath );
            } else {
               log("No ORB propertie setup (RMI, JEREMIE, DAVID).", Project.MSG_WARN);
  @@ -477,7 +511,6 @@
            aClasspath.append( new Path(aClasspath.getProject(), anOutputDirectoryFile.getPath()));
            aJavaTask.setClasspath(aClasspath);
   
  -
            aJavaTask.setFork(true);
   
            log("Calling " + aGenIcClassName + " for " + inSourceJar.toString(),
  @@ -496,6 +529,7 @@
        } catch (Exception e) {
            // Have to catch this because of the semantics of calling main()
            String msg = "Exception while calling " + aGenIcClassName + ". Details: " + e.toString();
  +
            throw new BuildException(msg, e);
        } finally {
           if( isTempDirectory && anOutputDirectoryFile != null) {
  @@ -506,20 +540,23 @@
        }
      }
   
  +
       /**
        * Get the vendor specific name of the Jar that will be output. The
        * modification date of this jar will be checked against the dependent
        * bean classes.
  -     **/
  +     */
       File getVendorOutputJarFile(final String aBaseName) {
           return new File(getDestDir(), aBaseName + jarSuffix);
       }
   
  +
      /**
       * Create a free tempory directory for GenIC output.
  +     *
       * @return directory file
       * @throws BuildException if impossible to find a tempory directory
  -    **/
  +     */
      private File createTempDir() {
         String theTempDir = System.getProperty("java.io.tmpdir");
         int anIndice = 0;
  @@ -544,20 +581,24 @@
   
   
      /**
  -    * add all files in anOutputDir + ' / ' + aRootDir to the HashTable someFiles.
  +     * add all files in anOutputDir + ' / ' + aRootDir to the HashTable
  +     * someFiles.
       *
       * @param anOutputDir - start directory
       * @param aCurrentDirOrFile - a sub-directory to scan or a file to add.
       * @param someFiles - where to add the files
  -    **/
  +     */
      private void addAllFiles(final File anOutputDir, String aCurrentDirOrFile, Hashtable someFiles) {
         File aFile = new File(anOutputDir,aCurrentDirOrFile);
  +
         if( aFile.isDirectory() ) {
            String aCurrentDir = "";
  +
            if( aCurrentDirOrFile.length() > 0 ) {
               aCurrentDir = aCurrentDirOrFile + '/';
            }
            File theFiles[] = aFile.listFiles();
  +
            for(int i=0;i<theFiles.length;i++) {
               addAllFiles(anOutputDir,aCurrentDir + theFiles[i].getName(),someFiles);
            }
  @@ -567,13 +608,16 @@
         }
      }
   
  +
      /**
       * Delete all the files in a directory
  +     *
       * @param aFile file to delete recursivly
  -    **/
  +     */
      private void dellAllFiles(File aFile) {
        if(aFile.isDirectory()) {
          File someFiles[] = aFile.listFiles();
  +
          for(int i=0;i<someFiles.length;i++) {
             dellAllFiles(someFiles[i]);
          }
  @@ -581,14 +625,16 @@
        aFile.delete();
      }
      
  +
      /**
  -    * Delete all the files in a directory, but don't delete
  -    * the directory
  +     * Delete all the files in a directory, but don't delete the directory
  +     *
       * @param aFile file to delete recursivly
  -    **/   
  +     */
      private void dellAllFilesInside(File aFile) {
        if(aFile.isDirectory()) {
          File someFiles[] = aFile.listFiles();
  +
          for(int i=0;i<someFiles.length;i++) {
             dellAllFiles(someFiles[i]);
          }
  @@ -596,4 +642,4 @@
      }
      
   }
  -// eof.
  +
  
  
  
  1.18      +11 -7     jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java
  
  Index: WLRun.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -w -u -r1.17 -r1.18
  --- WLRun.java	9 Apr 2002 07:38:03 -0000	1.17
  +++ WLRun.java	14 Apr 2002 11:16:18 -0000	1.18
  @@ -210,15 +210,18 @@
       }
       
       private void executeWLS6() {
  -        File securityPolicyFile = findSecurityPolicyFile( DEFAULT_WL60_POLICY_FILE );
  +        File securityPolicyFile 
  +            = findSecurityPolicyFile(DEFAULT_WL60_POLICY_FILE);
           if (!beaHome.isDirectory()) {
               throw new BuildException("BEA home " + beaHome.getPath() + 
                                        " is not valid");
           }
           
  -        File configFile = new File(weblogicSystemHome, "config/" + weblogicDomainName + "/config.xml");
  +        File configFile = new File(weblogicSystemHome, "config/" 
  +            + weblogicDomainName + "/config.xml");
           if (!configFile.exists()) {
  -            throw new BuildException("Server config file " + configFile + " not found.");
  +            throw new BuildException("Server config file " + configFile 
  +                + " not found.");
           }
           
           if (managementPassword == null) {
  @@ -260,7 +263,8 @@
        }
       
       private void executeWLS() {
  -        File securityPolicyFile = findSecurityPolicyFile( DEFAULT_WL51_POLICY_FILE );
  +        File securityPolicyFile 
  +            = findSecurityPolicyFile(DEFAULT_WL51_POLICY_FILE);
           File propertiesFile = null;
           
   
  
  
  
  1.35      +220 -217  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java
  
  Index: WeblogicDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -w -u -r1.34 -r1.35
  --- WeblogicDeploymentTool.java	30 Jan 2002 09:45:26 -0000	1.34
  +++ WeblogicDeploymentTool.java	14 Apr 2002 11:16:18 -0000	1.35
  @@ -51,7 +51,6 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  -
   package org.apache.tools.ant.taskdefs.optional.ejb;
   
   import java.io.File;
  @@ -66,7 +65,6 @@
   import java.util.Iterator;
   import java.util.Enumeration;
   
  -
   import javax.xml.parsers.SAXParserFactory;
   import javax.xml.parsers.SAXParser;
   import org.xml.sax.InputSource;
  @@ -122,7 +120,10 @@
       /** Instance variable that determines whether generic ejb jars are kept. */
       private boolean keepgenerated = false;
   
  -    /** Instance variable that stores the fully qualified classname of the weblogic EJBC compiler */
  +    /**
  +     * Instance variable that stores the fully qualified classname of the
  +     * weblogic EJBC compiler
  +     */
       private String ejbcClass = null;
   
       private String additionalArgs = "";
  @@ -136,26 +137,24 @@
       /** controls whether ejbc is run on the generated jar */
       private boolean noEJBC = false;
   
  -    /**
  -     * Indicates if the old CMP location convention is to be used.
  -     */
  +    /** Indicates if the old CMP location convention is to be used.  */
       private boolean newCMP = false;
   
       /** The classpath to the weblogic classes. */
       private Path wlClasspath = null;
   
       /**
  -     * The weblogic.StdoutSeverityLevel to use when running the JVM that executes ejbc.
  -     * Set to 16 to avoid the warnings about EJB Home and Remotes being in the classpath
  +     * The weblogic.StdoutSeverityLevel to use when running the JVM that
  +     * executes ejbc. Set to 16 to avoid the warnings about EJB Home and
  +     * Remotes being in the classpath
        */
       private Integer jvmDebugLevel = null;
   
       /** File utilities instance for copying jars */
       private FileUtils fileUtils = FileUtils.newFileUtils();
       
  -    /**
  -     * Get the classpath to the weblogic classpaths
  -     */
  +
  +    /** Get the classpath to the weblogic classpaths  */
       public Path createWLClasspath() {
           if (wlClasspath == null) {
               wlClasspath = new Path(getTask().getProject());
  @@ -163,36 +162,38 @@
           return wlClasspath.createPath();
       }
   
  +
       public void setWLClasspath(Path wlClasspath) {
           this.wlClasspath = wlClasspath;
       }
   
  -    /**
  -     * The compiler (switch <code>-compiler</code>) to use
  -     */
  +
  +    /** The compiler (switch <code>-compiler</code>) to use  */
       public void setCompiler(String compiler) {
           this.compiler = compiler;
       }
   
  +
       /**
  -     * Set the rebuild flag to false to only update changes in the
  -     * jar rather than rerunning ejbc
  +     * Set the rebuild flag to false to only update changes in the jar rather
  +     * than rerunning ejbc
        */
       public void setRebuild(boolean rebuild) {
           this.alwaysRebuild = rebuild;
       }
   
  +
       /**
  -     * Sets the weblogic.StdoutSeverityLevel to use when running the JVM that executes ejbc.
  -     * Set to 16 to avoid the warnings about EJB Home and Remotes being in the classpath
  +     * Sets the weblogic.StdoutSeverityLevel to use when running the JVM that
  +     * executes ejbc. Set to 16 to avoid the warnings about EJB Home and
  +     * Remotes being in the classpath
        */
  -    public void setJvmDebugLevel(Integer jvmDebugLevel)
  -    {
  +    public void setJvmDebugLevel(Integer jvmDebugLevel) {
           this.jvmDebugLevel = jvmDebugLevel;
       }
   
  -    public Integer getJvmDebugLevel()
  -    {
  +
  +    public Integer getJvmDebugLevel() {
           return jvmDebugLevel;
       }
   
  @@ -200,110 +201,113 @@
   
       /**
        * Setter used to store the suffix for the generated weblogic jar file.
  +     *
        * @param inString the string to use as the suffix.
        */
       public void setSuffix(String inString) {
           this.jarSuffix = inString;
       }
   
  +
       /**
        * Setter used to store the value of keepGeneric
  +     *
        * @param inValue a string, either 'true' or 'false'.
        */
       public void setKeepgeneric(boolean inValue) {
           this.keepGeneric = inValue;
       }
   
  +
       /**
  -     * Sets whether -keepgenerated is passed to ejbc (that is,
  -     * the .java source files are kept).
  +     * Sets whether -keepgenerated is passed to ejbc (that is, the .java
  +     * source files are kept).
  +     *
        * @param inValue either 'true' or 'false'
        */
       public void setKeepgenerated(String inValue) {
           this.keepgenerated = Boolean.valueOf(inValue).booleanValue();
       }
   
  -    /**
  -     * sets some additional args to send to ejbc.
  -     */
  +
  +    /** sets some additional args to send to ejbc.  */
       public void setArgs(String args) {
           this.additionalArgs = args;
       }
   
  -    /**
  -     * Set the classname of the ejbc compiler
  -     */
  -    public void setEjbcClass(String ejbcClass)
  -    {
  +
  +    /** Set the classname of the ejbc compiler  */
  +    public void setEjbcClass(String ejbcClass) {
           this.ejbcClass = ejbcClass;
       }
   
  -    /**
  -     * Get the ejbc compiler class
  -     */
  -    public String getEjbcClass()
  -    {
  +
  +    /** Get the ejbc compiler class  */
  +    public String getEjbcClass() {
           return ejbcClass;
       }
   
   
       /**
  -     * Setter used to store the location of the ejb-jar DTD. This can be a file on the system
  -     * or a resource on the classpath.
  +     * Setter used to store the location of the ejb-jar DTD. This can be a
  +     * file on the system or a resource on the classpath.
  +     *
        * @param inString the string to use as the DTD location.
        */
       public void setWeblogicdtd(String inString) {
           setEJBdtd(inString);
       }
   
  +
       /**
  -     * Setter used to store the location of the weblogic DTD. This can be a file on the system
  -     * or a resource on the classpath.
  +     * Setter used to store the location of the weblogic DTD. This can be a
  +     * file on the system or a resource on the classpath.
  +     *
        * @param inString the string to use as the DTD location.
        */
       public void setWLdtd(String inString) {
           this.weblogicDTD = inString;
       }
   
  +
       /**
  -     * Setter used to store the location of the Sun's Generic EJB DTD.
  -     * This can be a file on the system or a resource on the classpath.
  +     * Setter used to store the location of the Sun's Generic EJB DTD. This
  +     * can be a file on the system or a resource on the classpath.
  +     *
        * @param inString the string to use as the DTD location.
        */
       public void setEJBdtd(String inString) {
           this.ejb11DTD = inString;
       }
   
  +
       /**
  -     * Set the value of the oldCMP scheme. This is an antonym for
  -     * newCMP
  +     * Set the value of the oldCMP scheme. This is an antonym for newCMP
        */
       public void setOldCMP(boolean oldCMP) {
           this.newCMP = !oldCMP;
       }
   
  +
       /**
        * Set the value of the newCMP scheme. The old CMP scheme locates the
        * weblogic CMP descriptor based on the naming convention where the
  -     * weblogic CMP file is expected to be named with the bean name as the prefix.
  -     *
  -     * Under this scheme the name of the CMP descriptor does not match the name
  -     * actually used in the main weblogic EJB descriptor. Also, descriptors which
  -     * contain multiple CMP references could not be used.
  -     *
  +     * weblogic CMP file is expected to be named with the bean name as the
  +     * prefix. Under this scheme the name of the CMP descriptor does not match
  +     * the name actually used in the main weblogic EJB descriptor. Also,
  +     * descriptors which contain multiple CMP references could not be used.
        */
       public void setNewCMP(boolean newCMP) {
           this.newCMP = newCMP;
       }
   
  -    /**
  -     * Do not EJBC the jar after it has been put together.
  -     *
  -     */
  +
  +    /** Do not EJBC the jar after it has been put together.  */
       public void setNoEJBC(boolean noEJBC) {
           this.noEJBC = noEJBC;
       }
   
  +
       protected void registerKnownDTDs(DescriptorHandler handler) {
           // register all the known DTDs
           handler.registerDTD(PUBLICID_EJB11, DEFAULT_WL51_EJB11_DTD_LOCATION);
  @@ -312,6 +316,7 @@
           handler.registerDTD(PUBLICID_EJB20, DEFAULT_WL60_EJB20_DTD_LOCATION);
       }
   
  +
       protected DescriptorHandler getWeblogicDescriptorHandler(final File srcDir) {
           DescriptorHandler handler =
               new DescriptorHandler(getTask(), srcDir) {
  @@ -320,7 +325,8 @@
                           // Get the filename of vendor specific descriptor
                           String fileNameWithMETA = currentText;
                           //trim the META_INF\ off of the file name
  -                        String fileName = fileNameWithMETA.substring(META_DIR.length(),
  +                        String fileName
  +                             = fileNameWithMETA.substring(META_DIR.length(),
                                                                        fileNameWithMETA.length() );
                           File descriptorFile = new File(srcDir, fileName);
   
  @@ -337,14 +343,15 @@
   
           for (Iterator i = getConfig().dtdLocations.iterator(); i.hasNext();) {
               EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
  +
               handler.registerDTD(dtdLocation.getPublicId(), dtdLocation.getLocation());
           }
           return handler;
       }
   
  +
       /**
  -     * Add any vendor specific files which should be included in the
  -     * EJB Jar.
  +     * Add any vendor specific files which should be included in the EJB Jar.
        */
       protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) {
           File weblogicDD = new File(getConfig().descriptorDir, ddPrefix + WL_DD);
  @@ -352,8 +359,7 @@
           if (weblogicDD.exists()) {
               ejbFiles.put(META_DIR + WL_DD,
                            weblogicDD);
  -        }
  -        else {
  +        } else {
               log("Unable to locate weblogic deployment descriptor. It was expected to be in " +
                   weblogicDD.getPath(), Project.MSG_WARN);
               return;
  @@ -370,19 +376,20 @@
                   ejbFiles.put(META_DIR + WL_CMP_DD,
                                weblogicCMPDD);
               }
  -        }
  -        else {
  +        } else {
               // now that we have the weblogic descriptor, we parse the file
               // to find other descriptors needed to deploy the bean.
               // this could be the weblogic-cmp-rdbms.xml or any other O/R
               // mapping tool descriptors.
  -            try
  -            {
  +            try {
                   File ejbDescriptor = (File)ejbFiles.get(META_DIR + EJB_DD);
                   SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
  +
                   saxParserFactory.setValidating(true);
  +
                   SAXParser saxParser = saxParserFactory.newSAXParser();
                   DescriptorHandler handler = getWeblogicDescriptorHandler(ejbDescriptor.getParentFile());
  +
                   saxParser.parse(new InputSource
                                   (new FileInputStream
                                   (weblogicDD)),
  @@ -390,31 +397,36 @@
   
                   Hashtable ht = handler.getFiles();
                   Enumeration e = ht.keys();
  +
                   while(e.hasMoreElements()){
                       String key = (String)e.nextElement();
  +
                       ejbFiles.put(key, ht.get(key));
                   }
  -            }
  -            catch(Exception e)
  -            {
  +            } catch (Exception e) {
                   String msg = "Exception while adding Vendor specific files: " + e.toString();
  +
                   throw new BuildException(msg, e);
               }
           }
       }
   
  +
       /**
  -     * Get the vendor specific name of the Jar that will be output. The modification date
  -     * of this jar will be checked against the dependent bean classes.
  +     * Get the vendor specific name of the Jar that will be output. The
  +     * modification date of this jar will be checked against the dependent
  +     * bean classes.
        */
       File getVendorOutputJarFile(String baseName) {
           return new File(getDestDir(), baseName + jarSuffix);
       }
   
  +
       /**
        * Helper method invoked by execute() for each WebLogic jar to be built.
        * Encapsulates the logic of constructing a java task for calling
        * weblogic.ejbc and executing it.
  +     *
        * @param sourceJar java.io.File representing the source (EJB1.1) jarfile.
        * @param destJar java.io.File representing the destination, WebLogic
        *        jarfile.
  @@ -429,8 +441,7 @@
                       sourceJar.delete();
                   }
                   return;
  -            }
  -            catch (IOException e) {
  +            } catch (IOException e) {
                   throw new BuildException("Unable to write EJB jar", e);
               }
           }
  @@ -441,8 +452,7 @@
               javaTask = (Java) getTask().getProject().createTask("java");
               javaTask.setTaskName("ejbc");
   
  -            if (getJvmDebugLevel() != null)
  -            {
  +            if (getJvmDebugLevel() != null) {
                  javaTask.createJvmarg().setLine(" -Dweblogic.StdoutSeverityLevel=" + jvmDebugLevel);
               }
   
  @@ -450,11 +460,9 @@
                   // try to determine it from publicId
                   if (PUBLICID_EJB11.equals(publicId)) {
                       ejbcClassName = COMPILER_EJB11;
  -                }
  -                else if (PUBLICID_EJB20.equals(publicId)) {
  +                } else if (PUBLICID_EJB20.equals(publicId)) {
                       ejbcClassName = COMPILER_EJB20;
  -                }
  -                else {
  +                } else {
                       log("Unrecognized publicId " + publicId + " - using EJB 1.1 compiler", Project.MSG_WARN);
                       ejbcClassName = COMPILER_EJB11;
                   }
  @@ -469,12 +477,12 @@
                   // try to use the compiler specified by build.compiler. Right now we are just going
                   // to allow Jikes
                   String buildCompiler = getTask().getProject().getProperty("build.compiler");
  +
                   if (buildCompiler != null && buildCompiler.equals("jikes")) {
                       javaTask.createArg().setValue("-compiler");
                       javaTask.createArg().setValue("jikes");
                   }
  -            }
  -            else {
  +            } else {
                   if (!compiler.equals(DEFAULT_COMPILER)) {
                       javaTask.createArg().setValue("-compiler");
                       javaTask.createArg().setLine(compiler);
  @@ -484,6 +492,7 @@
               javaTask.createArg().setValue(destJar.getPath());
   
               Path classpath = wlClasspath;
  +
               if (classpath == null) {
                   classpath = getCombinedClasspath();
               }
  @@ -499,27 +508,28 @@
               if (javaTask.executeJava() != 0) {
                   throw new BuildException("Ejbc reported an error");
               }
  -        }
  -        catch (Exception e) {
  +        } catch (Exception e) {
               // Have to catch this because of the semantics of calling main()
               String msg = "Exception while calling " + ejbcClassName + ". Details: " + e.toString();
  +
               throw new BuildException(msg, e);
           }
       }
   
  +
       /**
  -     * 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.
  +     * 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.
        */
       protected void writeJar(String baseName, File jarFile, Hashtable files,
                               String publicId) throws BuildException {
           // need to create a generic jar first.
           File genericJarFile = super.getVendorOutputJarFile(baseName);
  +
           super.writeJar(baseName, genericJarFile, files, publicId);
   
  -        if (alwaysRebuild || isRebuildRequired(genericJarFile, jarFile))
  -        {
  +        if (alwaysRebuild || isRebuildRequired(genericJarFile, jarFile)) {
               buildWeblogicJar(genericJarFile, jarFile, publicId);
           }
           if (!keepGeneric) {
  @@ -529,9 +539,9 @@
           }
       }
   
  +
       /**
        * Called to validate that the tool parameters have been configured.
  -     *
        */
       public void validateConfigured() throws BuildException {
           super.validateConfigured();
  @@ -539,26 +549,30 @@
   
   
       /**
  -     * Helper method to check to see if a weblogic EBJ1.1 jar needs to be rebuilt using
  -     * ejbc.  Called from writeJar it sees if the "Bean" classes  are the only thing that needs
  -     * to be updated and either updates the Jar with the Bean classfile or returns true,
  -     * saying that the whole weblogic jar needs to be regened with ejbc.  This allows faster
  -     * build times for working developers.
  -     * <p>
  -     * The way weblogic ejbc works is it creates wrappers for the publicly defined methods as
  -     * they are exposed in the remote interface.  If the actual bean changes without changing the
  -     * the method signatures then only the bean classfile needs to be updated and the rest of the
  -     * weblogic jar file can remain the same.  If the Interfaces, ie. the method signatures change
  -     * or if the xml deployment dicriptors changed, the whole jar needs to be rebuilt with ejbc.
  -     * This is not strictly true for the xml files.  If the JNDI name changes then the jar doesnt
  -     * have to be rebuild, but if the resources references change then it does.  At this point the
  -     * weblogic jar gets rebuilt if the xml files change at all.
  +     * Helper method to check to see if a weblogic EBJ1.1 jar needs to be
  +     * rebuilt using ejbc. Called from writeJar it sees if the "Bean" classes
  +     * are the only thing that needs to be updated and either updates the Jar
  +     * with the Bean classfile or returns true, saying that the whole weblogic
  +     * jar needs to be regened with ejbc. This allows faster build times for
  +     * working developers. <p>
  +     *
  +     * The way weblogic ejbc works is it creates wrappers for the publicly
  +     * defined methods as they are exposed in the remote interface. If the
  +     * actual bean changes without changing the the method signatures then
  +     * only the bean classfile needs to be updated and the rest of the
  +     * weblogic jar file can remain the same. If the Interfaces, ie. the
  +     * method signatures change or if the xml deployment dicriptors changed,
  +     * the whole jar needs to be rebuilt with ejbc. This is not strictly true
  +     * for the xml files. If the JNDI name changes then the jar doesnt have to
  +     * be rebuild, but if the resources references change then it does. At
  +     * this point the weblogic jar gets rebuilt if the xml files change at
  +     * all.
        *
        * @param genericJarFile java.io.File The generic jar file.
  -     * @param weblogicJarFile java.io.File The weblogic jar file to check to see if it needs to be rebuilt.
  +     * @param weblogicJarFile java.io.File The weblogic jar file to check to
  +     *      see if it needs to be rebuilt.
        */
  -    protected boolean isRebuildRequired(File genericJarFile, File weblogicJarFile)
  -    {
  +    protected boolean isRebuildRequired(File genericJarFile, File weblogicJarFile) {
           boolean rebuild = false;
   
           JarFile genericJar = null;
  @@ -566,14 +580,12 @@
           File newWLJarFile = null;
           JarOutputStream newJarStream = null;
   
  -        try
  -        {
  +        try {
               log("Checking if weblogic Jar needs to be rebuilt for jar " + weblogicJarFile.getName(),
                   Project.MSG_VERBOSE);
               // Only go forward if the generic and the weblogic file both exist
               if (genericJarFile.exists() && genericJarFile.isFile()
  -                && weblogicJarFile.exists() && weblogicJarFile.isFile())
  -            {
  +                 && weblogicJarFile.exists() && weblogicJarFile.isFile()) {
                   //open jar files
                   genericJar = new JarFile(genericJarFile);
                   wlJar = new JarFile(weblogicJarFile);
  @@ -583,52 +595,51 @@
                   Hashtable replaceEntries = new Hashtable();
   
                   //get the list of generic jar entries
  -                for (Enumeration e = genericJar.entries(); e.hasMoreElements();)
  -                {
  +                for (Enumeration e = genericJar.entries(); e.hasMoreElements();) {
                       JarEntry je = (JarEntry)e.nextElement();
  +
                       genericEntries.put(je.getName().replace('\\', '/'), je);
                   }
                   //get the list of weblogic jar entries
  -                for (Enumeration e = wlJar.entries() ; e.hasMoreElements();)
  -                {
  +                for (Enumeration e = wlJar.entries(); e.hasMoreElements();) {
                       JarEntry je = (JarEntry)e.nextElement();
  +
                       wlEntries.put(je.getName(), je);
                   }
   
                   //Cycle Through generic and make sure its in weblogic
                   ClassLoader genericLoader = getClassLoaderFromJar(genericJarFile);
  -                for (Enumeration e = genericEntries.keys(); e.hasMoreElements();)
  -                {
  +
  +                for (Enumeration e = genericEntries.keys(); e.hasMoreElements();) {
                       String filepath = (String)e.nextElement();
  -                    if (wlEntries.containsKey(filepath))    // File name/path match
  -                    {
  +
  +                    if (wlEntries.containsKey(filepath)) {// File name/path match
  +
                           // Check files see if same
                           JarEntry genericEntry = (JarEntry)genericEntries.get(filepath);
                           JarEntry wlEntry = (JarEntry)wlEntries.get(filepath);
  +
                           if ((genericEntry.getCrc() !=  wlEntry.getCrc())  || // Crc's Match
  -                            (genericEntry.getSize() != wlEntry.getSize()) ) // Size Match
  -                        {
  -                            if (genericEntry.getName().endsWith(".class"))
  -                            {
  +                        (genericEntry.getSize() != wlEntry.getSize())) {// Size Match
  +
  +                            if (genericEntry.getName().endsWith(".class")) {
                                   //File are different see if its an object or an interface
                                   String classname = genericEntry.getName().replace(File.separatorChar,'.');
  +
                                   classname = classname.substring(0,classname.lastIndexOf(".class"));
  +
                                   Class genclass = genericLoader.loadClass(classname);
  -                                if (genclass.isInterface())
  -                                {
  +
  +                                if (genclass.isInterface()) {
                                       //Interface changed   rebuild jar.
                                       log("Interface " + genclass.getName() + " has changed",Project.MSG_VERBOSE);
                                       rebuild = true;
                                       break;
  -                                }
  -                                else
  -                                {
  +                                } else {
                                       //Object class Changed   update it.
                                       replaceEntries.put(filepath, genericEntry);
                                   }
  -                            }
  -                            else
  -                            {
  +                            } else {
                                   // is it the manifest. If so ignore it
                                   if (!genericEntry.getName().equals("META-INF/MANIFEST.MF")) {
                                       //File other then class changed   rebuild
  @@ -638,17 +649,15 @@
                                   }
                               }
                           }
  -                    }
  -                    else // a file doesnt exist rebuild
  -                    {
  +                    } else {// a file doesnt exist rebuild
  +
                           log("File " + filepath + " not present in weblogic jar",Project.MSG_VERBOSE);
                           rebuild =  true;
                           break;
                       }
                   }
   
  -                if (!rebuild)
  -                {
  +                if (!rebuild) {
                       log("No rebuild needed - updating jar",Project.MSG_VERBOSE);
                       newWLJarFile = new File(weblogicJarFile.getAbsolutePath() + ".temp");
                       if (newWLJarFile.exists()) {
  @@ -659,85 +668,76 @@
                       newJarStream.setLevel(0);
   
                       //Copy files from old weblogic jar
  -                    for (Enumeration e = wlEntries.elements() ; e.hasMoreElements();)
  -                    {
  +                    for (Enumeration e = wlEntries.elements(); e.hasMoreElements();) {
                           byte[] buffer = new byte[1024];
                           int bytesRead;
                           InputStream is;
                           JarEntry je = (JarEntry)e.nextElement();
  +
                           if (je.getCompressedSize() == -1 ||
                                   je.getCompressedSize() == je.getSize()) {
                               newJarStream.setLevel(0);
  -                        }
  -                        else {
  +                        } else {
                               newJarStream.setLevel(9);
                           }
   
                           // Update with changed Bean class
  -                        if (replaceEntries.containsKey(je.getName()))
  -                        {
  +                        if (replaceEntries.containsKey(je.getName())) {
                               log("Updating Bean class from generic Jar " + je.getName(),Project.MSG_VERBOSE);
                               // Use the entry from the generic jar
                               je = (JarEntry)replaceEntries.get(je.getName());
                               is = genericJar.getInputStream(je);
  -                        }
  -                        else  //use fle from original weblogic jar
  -                        {
  +                        } else {//use fle from original weblogic jar
  +
                               is = wlJar.getInputStream(je);
                           }
                           newJarStream.putNextEntry(new JarEntry(je.getName()));
   
  -                        while ((bytesRead = is.read(buffer)) != -1)
  -                        {
  +                        while ((bytesRead = is.read(buffer)) != -1) {
                               newJarStream.write(buffer,0,bytesRead);
                           }
                           is.close();
                       }
  +                } else {
  +                    log("Weblogic Jar rebuild needed due to changed "
  +                         + "interface or XML", Project.MSG_VERBOSE);
                   }
  -                else
  -                {
  -                    log("Weblogic Jar rebuild needed due to changed interface or XML",Project.MSG_VERBOSE);
  -                }
  -            }
  -            else
  -            {
  +            } else {
                   rebuild = true;
               }
  -        }
  -        catch(ClassNotFoundException cnfe)
  -        {
  +        } catch (ClassNotFoundException cnfe) {
               String cnfmsg = "ClassNotFoundException while processing ejb-jar file"
                   + ". Details: "
                   + cnfe.getMessage();
  +
               throw new BuildException(cnfmsg, cnfe);
  -        }
  -        catch(IOException ioe) {
  +        } catch (IOException ioe) {
               String msg = "IOException while processing ejb-jar file "
                   + ". Details: "
                   + ioe.getMessage();
  +
               throw new BuildException(msg, ioe);
  -        }
  -        finally {
  +        } finally {
               // need to close files and perhaps rename output
               if (genericJar != null) {
                   try {
                       genericJar.close();
  +                } catch (IOException closeException) {
                   }
  -                catch (IOException closeException) {}
               }
   
               if (wlJar != null) {
                   try {
                       wlJar.close();
  +                } catch (IOException closeException) {
                   }
  -                catch (IOException closeException) {}
               }
   
               if (newJarStream != null) {
                   try {
                       newJarStream.close();
  +                } catch (IOException closeException) {
                   }
  -                catch (IOException closeException) {}
   
                   weblogicJarFile.delete();
                   newWLJarFile.renameTo(weblogicJarFile);
  @@ -750,18 +750,20 @@
           return rebuild;
       }
   
  +
       /**
  -    * Helper method invoked by isRebuildRequired to get a ClassLoader for
  -    * a Jar File passed to it.
  +     * Helper method invoked by isRebuildRequired to get a ClassLoader for a
  +     * Jar File passed to it.
       *
       * @param classjar java.io.File representing jar file to get classes from.
       */
  -    protected ClassLoader getClassLoaderFromJar(File classjar) throws IOException
  -    {
  +    protected ClassLoader getClassLoaderFromJar(File classjar) throws IOException {
           Path lookupPath = new Path(getTask().getProject());
  +
           lookupPath.setLocation(classjar);
   
           Path classpath = getCombinedClasspath();
  +
           if (classpath != null) {
               lookupPath.append(classpath);
           }
  @@ -769,3 +771,4 @@
           return new AntClassLoader(getTask().getProject(), lookupPath);
       }
   }
  +
  
  
  
  1.10      +2 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicTOPLinkDeploymentTool.java
  
  Index: WeblogicTOPLinkDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicTOPLinkDeploymentTool.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -u -r1.9 -r1.10
  --- WeblogicTOPLinkDeploymentTool.java	10 Jan 2002 13:59:35 -0000	1.9
  +++ WeblogicTOPLinkDeploymentTool.java	14 Apr 2002 11:16:18 -0000	1.10
  @@ -128,7 +128,8 @@
       public void validateConfigured() throws BuildException {
           super.validateConfigured();
           if (toplinkDescriptor == null) {
  -            throw new BuildException( "The toplinkdescriptor attribute must be specified" );
  +            throw new BuildException("The toplinkdescriptor attribute must " 
  +                + "be specified");
           }
       }
   }
  
  
  
  1.10      +380 -365  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java
  
  Index: WebsphereDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -u -r1.9 -r1.10
  --- WebsphereDeploymentTool.java	12 Apr 2002 13:44:35 -0000	1.9
  +++ WebsphereDeploymentTool.java	14 Apr 2002 11:16:18 -0000	1.10
  @@ -51,7 +51,6 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  -
   package org.apache.tools.ant.taskdefs.optional.ejb;
   
   import java.io.File;
  @@ -73,9 +72,6 @@
   import java.util.Enumeration;
   
   
  -
  -
  -
   import org.apache.tools.ant.Project;
   
   import org.apache.tools.ant.BuildException;
  @@ -92,11 +88,14 @@
   
   /**
    * Websphere deployment tool that augments the ejbjar task.
  + *
    * @author <a href="mailto:msahu@interkeel.com">Maneesh Sahu</a>
    */
   public class WebsphereDeploymentTool extends GenericDeploymentTool {
       /**
        * Enumerated attribute with the values for the database vendor types
  +     *
  +     * @author Conor MacNeill
        */
       public static class DBVendor extends EnumeratedAttribute {
           public String[] getValues() {
  @@ -107,6 +106,7 @@
           }
       }
           
  +
       public final static String PUBLICID_EJB11
           = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN";
       public final static String PUBLICID_EJB20
  @@ -138,9 +138,7 @@
   
       private boolean ejbdeploy = true;
   
  -    /**
  -     * Indicates if the old CMP location convention is to be used.
  -     */
  +    /** Indicates if the old CMP location convention is to be used. */
       private boolean newCMP = false;
   
       /** The classpath to the websphere classes. */
  @@ -182,9 +180,8 @@
       /** the scratchdir for the ejbdeploy operation */
       private String tempdir = "_ejbdeploy_temp";
           
  -    /**
  -     * Get the classpath to the websphere classpaths
  -     */
  +
  +    /** Get the classpath to the websphere classpaths */
       public Path createWASClasspath() {
           if (wasClasspath == null) {
               wasClasspath = new Path(getTask().getProject());
  @@ -192,99 +189,117 @@
           return wasClasspath.createPath();
       }
           
  +
       public void setWASClasspath(Path wasClasspath) {
           this.wasClasspath = wasClasspath;
       }
           
  -    /**
  -     * Sets the DB Vendor for the Entity Bean mapping
  -     */
  +
  +    /** Sets the DB Vendor for the Entity Bean mapping */
       public void setDbvendor(DBVendor dbvendor) {
           this.dbVendor = dbvendor.getValue();
       }
           
  +
       /**
        * Sets the name of the Database to create
  +     *
        * @param String
        */
       public void setDbname(String dbName) {
           this.dbName = dbName;
       }
           
  +
       /**
        * Sets the name of the schema to create
  +     *
        * @param String
        */
       public void setDbschema(String dbSchema) {
           this.dbSchema = dbSchema;
       }
           
  +
       /**
        * (true) Only generate the deployment code, do not run RMIC or Javac
  +     *
        * @param boolean
        */
       public void setCodegen(boolean codegen) {
           this.codegen = codegen;
       }
           
  +
       /**
        * (true) Only output error messages, suppress informational messages
  +     *
        * @param boolean
        */
       public void setQuiet(boolean quiet) {
           this.quiet = quiet;
       }
           
  +
       /**
        * (true) Disable the validation steps
  +     *
        * @param boolean
        */
       public void setNovalidate(boolean novalidate) {
           this.novalidate = novalidate;
       }
           
  +
       /**
        * (true) Disable warning and informational messages
  +     *
        * @param boolean
        */
       public void setNowarn(boolean nowarn) {
           this.nowarn = nowarn;
       }
           
  +
       /**
        * (true) Disable informational messages
  +     *
        * @param boolean
        */
       public void setNoinform(boolean noinfom) {
           this.noinform = noinform;
       }
           
  +
       /**
        * (true)  Enable internal tracing
  +     *
        * @param boolean
        */
       public void setTrace(boolean trace) {
           this.trace = trace;
       }
           
  +
       /**
        * (true) Use the WebSphere 3.5 compatible mapping rules
  +     *
        * @param boolean
        */
       public void setUse35(boolean attr) {
           use35MappingRules = attr;
       }
           
  -    /**
  -     * The compiler (switch <code>-compiler</code>) to use
  -     */
  +
  +    /** The compiler (switch <code>-compiler</code>) to use */
       public void setCompiler(String compiler) {
           this.compiler = compiler;
       }
           
  +
       /**
  -     * Set the rebuild flag to false to only update changes in the
  -     * jar rather than rerunning ejbdeploy
  +     * Set the rebuild flag to false to only update changes in the jar rather
  +     * than rerunning ejbdeploy
        */
       public void setRebuild(boolean rebuild) {
           this.alwaysRebuild = rebuild;
  @@ -293,82 +308,89 @@
           
       /**
        * Setter used to store the suffix for the generated websphere jar file.
  +     *
        * @param inString the string to use as the suffix.
        */
       public void setSuffix(String inString) {
           this.jarSuffix = inString;
       }
           
  +
       /**
        * Setter used to store the value of keepGeneric
  +     *
        * @param inValue a string, either 'true' or 'false'.
        */
       public void setKeepgeneric(boolean inValue) {
           this.keepGeneric = inValue;
       }
           
  +
       /**
  -     * Sets whether -keepgenerated is passed to ejbdeploy (that is,
  -     * the .java source files are kept).
  +     * Sets whether -keepgenerated is passed to ejbdeploy (that is, the .java
  +     * source files are kept).
  +     *
        * @param inValue either 'true' or 'false'
        */
       public void setKeepgenerated(String inValue) {
           this.keepgenerated = Boolean.valueOf(inValue).booleanValue();
       }
           
  +
       /**
        * Decide, wether ejbdeploy should be called or not
  +     *
        * @param ejbdeploy 
        */
       public void setEjbdeploy(boolean ejbdeploy) {
           this.ejbdeploy = ejbdeploy;
       }
   
  -    /**
  -     * sets some additional args to send to ejbdeploy.
  -     */
  +
  +    /** sets some additional args to send to ejbdeploy. */
       public void setArgs(String args) {
           this.additionalArgs = args;
       }
           
  +
       /**
  -     * Setter used to store the location of the Sun's Generic EJB DTD.
  -     * This can be a file on the system or a resource on the classpath.
  +     * Setter used to store the location of the Sun's Generic EJB DTD. This
  +     * can be a file on the system or a resource on the classpath.
  +     *
        * @param inString the string to use as the DTD location.
        */
       public void setEJBdtd(String inString) {
           this.ejb11DTD = inString;
       }
           
  +
       /**
  -     * Set the value of the oldCMP scheme. This is an antonym for
  -     * newCMP
  +     * Set the value of the oldCMP scheme. This is an antonym for newCMP
        */
       public void setOldCMP(boolean oldCMP) {
           this.newCMP = !oldCMP;
       }
           
  +
       /**
        * Set the value of the newCMP scheme. The old CMP scheme locates the
        * websphere CMP descriptor based on the naming convention where the
  -     * websphere CMP file is expected to be named with the bean name as the prefix.
  -     *
  -     * Under this scheme the name of the CMP descriptor does not match the name
  -     * actually used in the main websphere EJB descriptor. Also, descriptors which
  -     * contain multiple CMP references could not be used.
  -     *
  +     * websphere CMP file is expected to be named with the bean name as the
  +     * prefix. Under this scheme the name of the CMP descriptor does not match
  +     * the name actually used in the main websphere EJB descriptor. Also,
  +     * descriptors which contain multiple CMP references could not be used.
        */
       public void setNewCMP(boolean newCMP) {
           this.newCMP = newCMP;
       }
           
  -    /**
  -     * Sets the temporary directory for the ejbdeploy task
  -     */
  +
  +    /** Sets the temporary directory for the ejbdeploy task */
       public void setTempdir(String tempdir) {
           this.tempdir = tempdir;
       }
           
  +
       protected DescriptorHandler getDescriptorHandler(File srcDir) {
           DescriptorHandler handler = new DescriptorHandler(getTask(), srcDir);
           // register all the DTDs, both the ones that are known and
  @@ -377,28 +399,32 @@
                   
           for (Iterator i = getConfig().dtdLocations.iterator(); i.hasNext();) {
               EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
  +
               handler.registerDTD(dtdLocation.getPublicId(), dtdLocation.getLocation());
           }
                   
           return handler;
       }
           
  +
       protected DescriptorHandler getWebsphereDescriptorHandler(final File srcDir) {
  -        DescriptorHandler handler = new DescriptorHandler(getTask(), srcDir) {
  +        DescriptorHandler handler =
  +            new DescriptorHandler(getTask(), srcDir) {
                   protected void processElement() {
                   }
               };
                   
           for (Iterator i = getConfig().dtdLocations.iterator(); i.hasNext();) {
               EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
  +
               handler.registerDTD(dtdLocation.getPublicId(), dtdLocation.getLocation());
           }
           return handler;
       }
           
  +
       /**
  -     * Add any vendor specific files which should be included in the
  -     * EJB Jar.
  +     * Add any vendor specific files which should be included in the EJB Jar.
        */
       protected void addVendorFiles(Hashtable ejbFiles, String baseName) {
   
  @@ -407,6 +433,7 @@
                   
           // Get the Extensions document
           File websphereEXT = new File(getConfig().descriptorDir, ddPrefix + WAS_EXT);
  +
           if (websphereEXT.exists()) {
               ejbFiles.put(META_DIR + WAS_EXT,
                            websphereEXT);
  @@ -416,6 +443,7 @@
           }
                   
           File websphereBND = new File(getConfig().descriptorDir, ddPrefix + WAS_BND);
  +
           if (websphereBND.exists()) {
               ejbFiles.put(META_DIR + WAS_BND,
                            websphereBND);
  @@ -428,14 +456,13 @@
               log("The old method for locating CMP files has been DEPRECATED.", Project.MSG_VERBOSE);
               log("Please adjust your websphere descriptor and set newCMP=\"true\" " +
                   "to use the new CMP descriptor inclusion mechanism. ", Project.MSG_VERBOSE);
  -        }
  -        else {
  +        } else {
               // We attempt to put in the MAP and Schema files of CMP beans
  -            try
  -                {
  +            try {
                       // Add the Map file
                       File websphereMAP = new File(getConfig().descriptorDir,
                                                    ddPrefix + dbPrefix + WAS_CMP_MAP);
  +
                       if (websphereMAP.exists()) {
                           ejbFiles.put(META_DIR + WAS_CMP_MAP,
                                        websphereMAP);
  @@ -443,8 +470,10 @@
                           log("Unable to locate the websphere Map: " +
                               websphereMAP.getPath(), Project.MSG_VERBOSE);
                       }
  +
                       File websphereSchema = new File(getConfig().descriptorDir,
                                                       ddPrefix + dbPrefix + WAS_CMP_SCHEMA);
  +
                       if (websphereSchema.exists()) {
                           ejbFiles.put(META_DIR + SCHEMA_DIR + WAS_CMP_SCHEMA,
                                        websphereSchema);
  @@ -453,31 +482,35 @@
                               websphereSchema.getPath(), Project.MSG_VERBOSE);
                       }
                       // Theres nothing else to see here...keep moving sonny
  -                }
  -            catch(Exception e)
  -                {
  +            } catch (Exception e) {
                       String msg = "Exception while adding Vendor specific files: " +
                           e.toString();
  +
                       throw new BuildException(msg, e);
                   }
           }
       }
           
  +
       /**
  -     * Get the vendor specific name of the Jar that will be output. The modification date
  -     * of this jar will be checked against the dependent bean classes.
  +     * Get the vendor specific name of the Jar that will be output. The
  +     * modification date of this jar will be checked against the dependent
  +     * bean classes.
        */
       File getVendorOutputJarFile(String baseName) {
           return new File(getDestDir(), baseName + jarSuffix);
       }
           
  +
       /**
        * Gets the options for the EJB Deploy operation
  +     *
        * @return String
        */
       protected String getOptions() {
           // Set the options
           StringBuffer options = new StringBuffer();
  +
           if (dbVendor != null) {
               options.append(" -dbvendor ").append(dbVendor);
           }
  @@ -524,10 +557,12 @@
           return options.toString();
       } // end getOptions
           
  +
       /**
        * Helper method invoked by execute() for each websphere jar to be built.
        * Encapsulates the logic of constructing a java task for calling
        * websphere.ejbdeploy and executing it.
  +     *
        * @param sourceJar java.io.File representing the source (EJB1.1) jarfile.
        * @param destJar java.io.File representing the destination, websphere
        *        jarfile.
  @@ -555,6 +590,7 @@
   
                   // Set the Environment variable
                   Environment.Variable var = new Environment.Variable();
  +
                   var.setKey("websphere.lib.dir");
                   var.setValue(getTask().getProject().getProperty("websphere.home") + "/lib");
                   javaTask.addSysproperty(var);
  @@ -567,9 +603,11 @@
                   javaTask.setClassname("com.ibm.etools.ejbdeploy.EJBDeploy");
   
                   Commandline.Argument arguments = javaTask.createArg();
  +
                   arguments.setLine(args);
   
                   Path classpath = wasClasspath;
  +
                   if (classpath == null) {
                       classpath = getCombinedClasspath();
                   }
  @@ -577,8 +615,7 @@
                   if (classpath != null) {
                       javaTask.setClasspath(classpath);
                       javaTask.setFork(true);
  -                }
  -                else {
  +                } else {
                       javaTask.setFork(true);
                   }
   
  @@ -587,25 +624,26 @@
   
                   javaTask.execute();
               }
  -        }
  -        catch (Exception e) {
  +        } catch (Exception e) {
               // Have to catch this because of the semantics of calling main()
               String msg = "Exception while calling ejbdeploy. Details: " + e.toString();
  +
               throw new BuildException(msg, e);
           }
       }
           
  +
       /**
  -     * 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.
  +     * 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.
        */
       protected void writeJar(String baseName, File jarFile, Hashtable files, String publicId)
  -        throws BuildException
  -    {
  +         throws BuildException {
           if (ejbdeploy) {
               // create the -generic.jar, if required
               File genericJarFile = super.getVendorOutputJarFile(baseName);
  +
               super.writeJar(baseName, genericJarFile, files, publicId);
   
               // create the output .jar, if required
  @@ -617,30 +655,15 @@
                       Project.MSG_VERBOSE);
                   genericJarFile.delete();
               }
  -        }
  -        else {
  +        } else {
               // create the "undeployed" output .jar, if required
               super.writeJar(baseName, jarFile, files, publicId);
           }
  -        /*
  -        // need to create a generic jar first.
  -        File genericJarFile = super.getVendorOutputJarFile(baseName);
  -        super.writeJar(baseName, genericJarFile, files, publicId);
  -                
  -        if (alwaysRebuild || isRebuildRequired(genericJarFile, jarFile)) {
  -        buildWebsphereJar(genericJarFile, jarFile);
  -        }
  -        if (!keepGeneric) {
  -        log("deleting generic jar " + genericJarFile.toString(),
  -        Project.MSG_VERBOSE);
  -        genericJarFile.delete();
  -        }
  -        */
       }
           
  +
       /**
        * Called to validate that the tool parameters have been configured.
  -     *
        */
       public void validateConfigured() throws BuildException {
           super.validateConfigured();
  @@ -648,26 +671,30 @@
           
           
       /**
  -     * Helper method to check to see if a websphere EBJ1.1 jar needs to be rebuilt using
  -     * ejbdeploy.  Called from writeJar it sees if the "Bean" classes  are the only thing that needs
  -     * to be updated and either updates the Jar with the Bean classfile or returns true,
  -     * saying that the whole websphere jar needs to be regened with ejbdeploy.  This allows faster
  -     * build times for working developers.
  -     * <p>
  -     * The way websphere ejbdeploy works is it creates wrappers for the publicly defined methods as
  -     * they are exposed in the remote interface.  If the actual bean changes without changing the
  -     * the method signatures then only the bean classfile needs to be updated and the rest of the
  -     * websphere jar file can remain the same.  If the Interfaces, ie. the method signatures change
  -     * or if the xml deployment dicriptors changed, the whole jar needs to be rebuilt with ejbdeploy.
  -     * This is not strictly true for the xml files.  If the JNDI name changes then the jar doesnt
  -     * have to be rebuild, but if the resources references change then it does.  At this point the
  -     * websphere jar gets rebuilt if the xml files change at all.
  +     * Helper method to check to see if a websphere EBJ1.1 jar needs to be
  +     * rebuilt using ejbdeploy. Called from writeJar it sees if the "Bean"
  +     * classes are the only thing that needs to be updated and either updates
  +     * the Jar with the Bean classfile or returns true, saying that the whole
  +     * websphere jar needs to be regened with ejbdeploy. This allows faster
  +     * build times for working developers. <p>
  +     *
  +     * The way websphere ejbdeploy works is it creates wrappers for the
  +     * publicly defined methods as they are exposed in the remote interface.
  +     * If the actual bean changes without changing the the method signatures
  +     * then only the bean classfile needs to be updated and the rest of the
  +     * websphere jar file can remain the same. If the Interfaces, ie. the
  +     * method signatures change or if the xml deployment dicriptors changed,
  +     * the whole jar needs to be rebuilt with ejbdeploy. This is not strictly
  +     * true for the xml files. If the JNDI name changes then the jar doesnt
  +     * have to be rebuild, but if the resources references change then it
  +     * does. At this point the websphere jar gets rebuilt if the xml files
  +     * change at all.
        *
        * @param genericJarFile java.io.File The generic jar file.
  -     * @param websphereJarFile java.io.File The websphere jar file to check to see if it needs to be rebuilt.
  +     * @param websphereJarFile java.io.File The websphere jar file to check to
  +     *      see if it needs to be rebuilt.
        */
  -    protected boolean isRebuildRequired(File genericJarFile, File websphereJarFile)
  -    {
  +    protected boolean isRebuildRequired(File genericJarFile, File websphereJarFile) {
           boolean rebuild = false;
           
           JarFile genericJar = null;
  @@ -675,14 +702,12 @@
           File newwasJarFile = null;
           JarOutputStream newJarStream = null;
                   
  -        try
  -            {
  +        try {
                   log("Checking if websphere Jar needs to be rebuilt for jar " + websphereJarFile.getName(),
                       Project.MSG_VERBOSE);
                   // Only go forward if the generic and the websphere file both exist
                   if (genericJarFile.exists() && genericJarFile.isFile()
  -                    && websphereJarFile.exists() && websphereJarFile.isFile())
  -                    {
  +                 && websphereJarFile.exists() && websphereJarFile.isFile()) {
                           //open jar files
                           genericJar = new JarFile(genericJarFile);
                           wasJar = new JarFile(websphereJarFile);
  @@ -692,52 +717,51 @@
                           Hashtable replaceEntries = new Hashtable();
                                   
                           //get the list of generic jar entries
  -                        for (Enumeration e = genericJar.entries(); e.hasMoreElements();)
  -                            {
  +                for (Enumeration e = genericJar.entries(); e.hasMoreElements();) {
                                   JarEntry je = (JarEntry)e.nextElement();
  +
                                   genericEntries.put(je.getName().replace('\\', '/'), je);
                               }
                           //get the list of websphere jar entries
  -                        for (Enumeration e = wasJar.entries() ; e.hasMoreElements();)
  -                            {
  +                for (Enumeration e = wasJar.entries(); e.hasMoreElements();) {
                                   JarEntry je = (JarEntry)e.nextElement();
  +
                                   wasEntries.put(je.getName(), je);
                               }
                                   
                           //Cycle Through generic and make sure its in websphere
                           ClassLoader genericLoader = getClassLoaderFromJar(genericJarFile);
  -                        for (Enumeration e = genericEntries.keys(); e.hasMoreElements();)
  -                            {
  +
  +                for (Enumeration e = genericEntries.keys(); e.hasMoreElements();) {
                                   String filepath = (String)e.nextElement();
  -                                if (wasEntries.containsKey(filepath))    // File name/path match
  -                                    {
  +
  +                    if (wasEntries.containsKey(filepath)) {
  +                        // File name/path match
                                           // Check files see if same
                                           JarEntry genericEntry = (JarEntry)genericEntries.get(filepath);
                                           JarEntry wasEntry = (JarEntry)wasEntries.get(filepath);
  -                                        if ((genericEntry.getCrc() !=  wasEntry.getCrc())  || // Crc's Match
  -                                            (genericEntry.getSize() != wasEntry.getSize()) ) // Size Match
  -                                            {
  -                                                if (genericEntry.getName().endsWith(".class"))
  -                                                    {
  +
  +                        if ((genericEntry.getCrc() != wasEntry.getCrc()) ||
  +                            (genericEntry.getSize() != wasEntry.getSize())) {
  +
  +                            if (genericEntry.getName().endsWith(".class")) {
                                                           //File are different see if its an object or an interface
                                                           String classname = genericEntry.getName().replace(File.separatorChar,'.');
  +
                                                           classname = classname.substring(0,classname.lastIndexOf(".class"));
  +
                                                           Class genclass = genericLoader.loadClass(classname);
  -                                                        if (genclass.isInterface())
  -                                                            {
  +
  +                                if (genclass.isInterface()) {
                                                                   //Interface changed   rebuild jar.
                                                                   log("Interface " + genclass.getName() + " has changed",Project.MSG_VERBOSE);
                                                                   rebuild = true;
                                                                   break;
  -                                                            }
  -                                                        else
  -                                                            {
  +                                } else {
                                                                   //Object class Changed   update it.
                                                                   replaceEntries.put(filepath, genericEntry);
                                                               }
  -                                                    }
  -                                                else
  -                                                    {
  +                            } else {
                                                           // is it the manifest. If so ignore it
                                                           if (!genericEntry.getName().equals("META-INF/MANIFEST.MF")) {
                                                               //File other then class changed   rebuild
  @@ -747,17 +771,15 @@
                                                           break;
                                                       }
                                               }
  -                                    }
  -                                else // a file doesnt exist rebuild
  -                                    {
  +                    } else {// a file doesnt exist rebuild
  +
                                           log("File " + filepath + " not present in websphere jar",Project.MSG_VERBOSE);
                                           rebuild =  true;
                                           break;
                                       }
                               }
                                   
  -                        if (!rebuild)
  -                            {
  +                if (!rebuild) {
                                   log("No rebuild needed - updating jar",Project.MSG_VERBOSE);
                                   newwasJarFile = new File(websphereJarFile.getAbsolutePath() + ".temp");
                                   if (newwasJarFile.exists()) {
  @@ -768,86 +790,76 @@
                                   newJarStream.setLevel(0);
                                           
                                   //Copy files from old websphere jar
  -                                for (Enumeration e = wasEntries.elements() ; e.hasMoreElements();)
  -                                    {
  +                    for (Enumeration e = wasEntries.elements(); e.hasMoreElements();) {
                                           byte[] buffer = new byte[1024];
                                           int bytesRead;
                                           InputStream is;
                                           JarEntry je = (JarEntry)e.nextElement();
  +
                                           if (je.getCompressedSize() == -1 ||
                                               je.getCompressedSize() == je.getSize()) {
                                               newJarStream.setLevel(0);
  -                                        }
  -                                        else {
  +                        } else {
                                               newJarStream.setLevel(9);
                                           }
                                                   
                                           // Update with changed Bean class
  -                                        if (replaceEntries.containsKey(je.getName()))
  -                                            {
  +                        if (replaceEntries.containsKey(je.getName())) {
                                                   log("Updating Bean class from generic Jar " + je.getName(),
                                                       Project.MSG_VERBOSE);
                                                   // Use the entry from the generic jar
                                                   je = (JarEntry)replaceEntries.get(je.getName());
                                                   is = genericJar.getInputStream(je);
  -                                            }
  -                                        else  //use fle from original websphere jar
  -                                            {
  +                        } else {//use fle from original websphere jar
  +
                                                   is = wasJar.getInputStream(je);
                                               }
                                           newJarStream.putNextEntry(new JarEntry(je.getName()));
                                                   
  -                                        while ((bytesRead = is.read(buffer)) != -1)
  -                                            {
  +                        while ((bytesRead = is.read(buffer)) != -1) {
                                                   newJarStream.write(buffer,0,bytesRead);
                                               }
                                           is.close();
                                       }
  -                            }
  -                        else
  -                            {
  +                } else {
                                   log("websphere Jar rebuild needed due to changed interface or XML",Project.MSG_VERBOSE);
                               }
  -                    }
  -                else
  -                    {
  +            } else {
                           rebuild = true;
                       }
  -            }
  -        catch(ClassNotFoundException cnfe)
  -            {
  +        } catch (ClassNotFoundException cnfe) {
                   String cnfmsg = "ClassNotFoundException while processing ejb-jar file"
                       + ". Details: "
                       + cnfe.getMessage();
  +
                   throw new BuildException(cnfmsg, cnfe);
  -            }
  -        catch(IOException ioe) {
  +        } catch (IOException ioe) {
               String msg = "IOException while processing ejb-jar file "
                   + ". Details: "
                   + ioe.getMessage();
  +
               throw new BuildException(msg, ioe);
  -        }
  -        finally {
  +        } finally {
               // need to close files and perhaps rename output
               if (genericJar != null) {
                   try {
                       genericJar.close();
  +                } catch (IOException closeException) {
                   }
  -                catch (IOException closeException) {}
               }
                           
               if (wasJar != null) {
                   try {
                       wasJar.close();
  +                } catch (IOException closeException) {
                   }
  -                catch (IOException closeException) {}
               }
                           
               if (newJarStream != null) {
                   try {
                       newJarStream.close();
  +                } catch (IOException closeException) {
                   }
  -                catch (IOException closeException) {}
                                   
                   websphereJarFile.delete();
                   newwasJarFile.renameTo(websphereJarFile);
  @@ -860,18 +872,20 @@
           return rebuild;
       }
           
  +
       /**
  -     * Helper method invoked by isRebuildRequired to get a ClassLoader for
  -     * a Jar File passed to it.
  +     * Helper method invoked by isRebuildRequired to get a ClassLoader for a
  +     * Jar File passed to it.
        *
        * @param classjar java.io.File representing jar file to get classes from.
        */
  -    protected ClassLoader getClassLoaderFromJar(File classjar) throws IOException
  -    {
  +    protected ClassLoader getClassLoaderFromJar(File classjar) throws IOException {
           Path lookupPath = new Path(getTask().getProject());
  +
           lookupPath.setLocation(classjar);
           
           Path classpath = getCombinedClasspath();
  +
           if (classpath != null) {
               lookupPath.append(classpath);
           }
  @@ -879,3 +893,4 @@
           return new AntClassLoader(getTask().getProject(), lookupPath);
       }
   }
  +
  
  
  
  1.11      +11 -13    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java
  
  Index: Translate.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -w -u -r1.10 -r1.11
  --- Translate.java	25 Feb 2002 15:09:52 -0000	1.10
  +++ Translate.java	14 Apr 2002 11:16:18 -0000	1.11
  @@ -517,13 +517,11 @@
                           log("Processing " + srcFiles[j],
                               Project.MSG_DEBUG);
                           FileOutputStream fos = new FileOutputStream(dest);
  -                        BufferedWriter out = new BufferedWriter(
  -                                                                new OutputStreamWriter(fos,
  -                                                                                       destEncoding));
  +                        BufferedWriter out 
  +                            = new BufferedWriter(new OutputStreamWriter(fos, destEncoding));
                           FileInputStream fis = new FileInputStream(srcFiles[j]);
  -                        BufferedReader in = new BufferedReader(
  -                                                               new InputStreamReader(fis,
  -                                                                                     srcEncoding));
  +                        BufferedReader in 
  +                            = new BufferedReader(new InputStreamReader(fis, srcEncoding));
                           String line;
                           while((line = in.readLine()) != null) {
                               int startIndex = -1;
  
  
  
  1.8       +12 -12    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntTool.java
  
  Index: VAJAntTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntTool.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -u -r1.7 -r1.8
  
  
  
  1.12      +9 -8      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntToolGUI.java
  
  Index: VAJAntToolGUI.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntToolGUI.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -w -u -r1.11 -r1.12
  --- VAJAntToolGUI.java	25 Feb 2002 15:21:57 -0000	1.11
  +++ VAJAntToolGUI.java	14 Apr 2002 11:16:18 -0000	1.12
  @@ -214,7 +214,8 @@
                   logException( error );
               }
   
  -            getMessageTextArea().append(lineSeparator + "Total time: " + DateUtils.formatElapsedTime(System.currentTimeMillis() - startTime));
  +            getMessageTextArea().append(lineSeparator + "Total time: " 
  +                + DateUtils.formatElapsedTime(System.currentTimeMillis() - startTime));
           }
   
   
  
  
  
  1.8       +35 -35    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJBuildInfo.java
  
  Index: VAJBuildInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJBuildInfo.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -u -r1.7 -r1.8
  
  
  
  1.4       +1 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJExportServlet.java
  
  Index: VAJExportServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJExportServlet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  --- VAJExportServlet.java	10 Jan 2002 13:59:36 -0000	1.3
  +++ VAJExportServlet.java	14 Apr 2002 11:16:18 -0000	1.4
  @@ -166,7 +166,6 @@
                            getBooleanParam(RESOURCES_PARAM, true),
                            getBooleanParam(SOURCES_PARAM, true),
                            getBooleanParam(DEFAULT_EXCLUDES_PARAM, true),
  -                         getBooleanParam(OVERWRITE_PARAM, true)
  -                         );
  +                         getBooleanParam(OVERWRITE_PARAM, true));
       }
   }
  
  
  
  1.14      +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJImport.java
  
  Index: VAJImport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJImport.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  
  
  
  1.4       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJLoad.java
  
  Index: VAJLoad.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJLoad.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  
  
  
  1.6       +38 -38    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJLocalUtil.java
  
  Index: VAJLocalUtil.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJLocalUtil.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -u -r1.5 -r1.6
  
  
  
  1.4       +30 -30    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJRemoteUtil.java
  
  Index: VAJRemoteUtil.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJRemoteUtil.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  
  
  
  1.3       +4 -4      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJTask.java
  
  Index: VAJTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJTask.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.7       +16 -17    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJToolsServlet.java
  
  Index: VAJToolsServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJToolsServlet.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -u -r1.6 -r1.7
  --- VAJToolsServlet.java	20 Jan 2002 20:45:58 -0000	1.6
  +++ VAJToolsServlet.java	14 Apr 2002 11:16:18 -0000	1.7
  @@ -153,8 +153,7 @@
               } catch( Throwable t ) {
                   t.printStackTrace();
               } finally {
  -                if ( ! (e instanceof BuildException) )
  -                    {
  +                if (!(e instanceof BuildException)) {
                           throw new ServletException( e.getMessage() );
                       }
               }
  
  
  
  1.9       +2 -2      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJWorkspaceScanner.java
  
  Index: VAJWorkspaceScanner.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJWorkspaceScanner.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  
  
  
  1.3       +1 -1      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/j2ee/AbstractHotDeploymentTool.java
  
  Index: AbstractHotDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/j2ee/AbstractHotDeploymentTool.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  
  
  
  1.4       +3 -3      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/j2ee/GenericHotDeploymentTool.java
  
  Index: GenericHotDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/j2ee/GenericHotDeploymentTool.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  
  
  
  1.3       +22 -15    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/j2ee/WebLogicHotDeploymentTool.java
  
  Index: WebLogicHotDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/j2ee/WebLogicHotDeploymentTool.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- WebLogicHotDeploymentTool.java	10 Apr 2002 00:19:54 -0000	1.2
  +++ WebLogicHotDeploymentTool.java	14 Apr 2002 11:16:19 -0000	1.3
  @@ -127,16 +127,22 @@
               throw new BuildException("The password attribute must be set.");
   
           // check for missing application on deploy & update
  -        if((action.equals(ACTION_DEPLOY) || action.equals(ACTION_UPDATE)) && application == null)
  -            throw new BuildException("The application attribute must be set if action = " + action);
  +        if ((action.equals(ACTION_DEPLOY) || action.equals(ACTION_UPDATE)) 
  +            && application == null)
  +            throw new BuildException("The application attribute must be set " 
  +                + "if action = " + action);
   
           // check for missing source on deploy & update
  -        if((action.equals(ACTION_DEPLOY) || action.equals(ACTION_UPDATE)) && getTask().getSource() == null)
  -            throw new BuildException("The source attribute must be set if action = " + action);
  +        if ((action.equals(ACTION_DEPLOY) || action.equals(ACTION_UPDATE)) 
  +            && getTask().getSource() == null)
  +            throw new BuildException("The source attribute must be set if " 
  +                + "action = " + action);
   
           // check for missing application on delete & undeploy
  -        if((action.equals(ACTION_DELETE) || action.equals(ACTION_UNDEPLOY)) && application == null)
  -            throw new BuildException("The application attribute must be set if action = " + action);
  +        if ((action.equals(ACTION_DELETE) || action.equals(ACTION_UNDEPLOY)) 
  +            && application == null)
  +            throw new BuildException("The application attribute must be set if " 
  +                + "action = " + action);
       }
   
       /**
  @@ -213,8 +219,9 @@
                   .append(getTask().getSource())
                   .toString();
   
  -        if(component != null)
  +        if (component != null) {
               args = "-component " + component + " " + args;
  +        }
   
           return args;
       }
  
  
  
  1.10      +11 -9     jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java
  
  Index: JJTree.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -u -r1.9 -r1.10
  --- JJTree.java	13 Mar 2002 09:06:01 -0000	1.9
  +++ JJTree.java	14 Apr 2002 11:16:19 -0000	1.10
  @@ -180,17 +180,19 @@
               outputDirectory = new File(target.getParent());
           }        
           if (!outputDirectory.isDirectory() ) {
  -            throw new BuildException("'outputdirectory' " + outputDirectory + " is not a directory.");
  +            throw new BuildException("'outputdirectory' " + outputDirectory 
  +                + " is not a directory.");
           }
           // convert backslashes to slashes, otherwise jjtree will put this as
           // comments and this seems to confuse javacc
  -        cmdl.createArgument().setValue(
  -            "-OUTPUT_DIRECTORY:"+outputDirectory.getAbsolutePath().replace('\\', '/'));
  +        cmdl.createArgument().setValue("-OUTPUT_DIRECTORY:" 
  +            + outputDirectory.getAbsolutePath().replace('\\', '/'));
           
           String targetName = target.getName();
           final File javaFile = new File(outputDirectory,
               targetName.substring(0, targetName.indexOf(".jjt")) + ".jj");
  -        if (javaFile.exists() && target.lastModified() < javaFile.lastModified()) {
  +        if (javaFile.exists() 
  +             && target.lastModified() < javaFile.lastModified()) {
               project.log("Target is already built - skipping (" + target + ")");
               return;
           }
  
  
  
  1.14      +10 -10    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
  
  Index: JavaCC.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -u -r1.13 -r1.14
  --- JavaCC.java	13 Mar 2002 09:06:01 -0000	1.13
  +++ JavaCC.java	14 Apr 2002 11:16:19 -0000	1.14
  @@ -228,8 +228,8 @@
           else if (!outputDirectory.isDirectory()) {
               throw new BuildException("Outputdir not a directory.");
           }
  -        cmdl.createArgument().setValue(
  -            "-OUTPUT_DIRECTORY:"+outputDirectory.getAbsolutePath());
  +        cmdl.createArgument().setValue("-OUTPUT_DIRECTORY:"
  +            + outputDirectory.getAbsolutePath());
   
           // determine if the generated java file is up-to-date
           final File javaFile = getOutputJavaFile(outputDirectory, target);
  
  
  
  1.9       +30 -22    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java
  
  Index: JDependTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  --- JDependTask.java	25 Feb 2002 17:38:15 -0000	1.8
  +++ JDependTask.java	14 Apr 2002 11:16:19 -0000	1.9
  @@ -287,8 +287,8 @@
               }
           }
   
  -        // if there is an error/failure and that it should halt, stop everything otherwise
  -        // just log a statement
  +        // if there is an error/failure and that it should halt, stop 
  +        // everything otherwise just log a statement
           boolean errorOccurred = exitValue == JDependTask.ERRORS;
   
           if (errorOccurred) {
  @@ -326,7 +326,8 @@
                   fw = new FileWriter(getOutputFile().getPath());
               }
               catch (IOException e) {
  -                String msg = "JDepend Failed when creating the output file: " + e.getMessage();
  +                String msg = "JDepend Failed when creating the output file: " 
  +                    + e.getMessage();
                   log(msg);
                   throw new BuildException(msg);
               }
  @@ -334,13 +335,15 @@
               log("Output to be stored in " + getOutputFile().getPath());
           }
   
  -        PathTokenizer sourcesPath = new PathTokenizer(getSourcespath().toString());
  +        PathTokenizer sourcesPath 
  +            = new PathTokenizer(getSourcespath().toString());
           while (sourcesPath.hasMoreTokens()) {
               File f = new File(sourcesPath.nextToken());
   
               // not necessary as JDepend would fail, but why loose some time?
               if (! f.exists() || !f.isDirectory()) {
  -                String msg = "\""+ f.getPath() + "\" does not represent a valid directory. JDepend would fail.";
  +                String msg = "\"" + f.getPath() + "\" does not represent a valid" 
  +                    + " directory. JDepend would fail.";
                   log(msg);
                   throw new BuildException(msg);
               }
  @@ -348,7 +351,8 @@
                   jdepend.addDirectory(f.getPath());
               }
               catch (IOException e) {
  -                String msg = "JDepend Failed when adding a source directory: " + e.getMessage();
  +                String msg = "JDepend Failed when adding a source directory: " 
  +                    + e.getMessage();
                   log(msg);
                   throw new BuildException(msg);
               }
  @@ -367,7 +371,8 @@
        * the test could probably hang forever.
        */
       // JL: comment extracted from JUnitTask (and slightly modified)
  -    public int executeAsForked(CommandlineJava commandline,ExecuteWatchdog watchdog) throws BuildException {
  +    public int executeAsForked(CommandlineJava commandline,
  +                               ExecuteWatchdog watchdog) throws BuildException {
           // if not set, auto-create the ClassPath from the project
           createClasspath();
   
  @@ -379,20 +384,23 @@
           }
   
           if (getOutputFile() != null) {
  -            // having a space between the file and its path causes commandline to add quotes "
  -            // around the argument thus making JDepend not taking it into account. Thus we split it in two
  +            // having a space between the file and its path causes commandline 
  +            // to add quotes around the argument thus making JDepend not taking 
  +            // it into account. Thus we split it in two
               commandline.createArgument().setValue("-file");
               commandline.createArgument().setValue(_outputFile.getPath());
               // we have to find a cleaner way to put this output
           }
   
  -        PathTokenizer sourcesPath = new PathTokenizer(getSourcespath().toString());
  +        PathTokenizer sourcesPath 
  +            = new PathTokenizer(getSourcespath().toString());
           while (sourcesPath.hasMoreTokens()) {
               File f = new File(sourcesPath.nextToken());
   
               // not necessary as JDepend would fail, but why loose some time?
               if (! f.exists() || !f.isDirectory()) {
  -                throw new BuildException("\""+ f.getPath() + "\" does not represent a valid directory. JDepend would fail.");
  +                throw new BuildException("\"" + f.getPath() + "\" does not " 
  +                    + "represent a valid directory. JDepend would fail.");
               }
               commandline.createArgument().setValue(f.getPath());
           }
  
  
  
  1.5       +24 -26    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/jlink/ClassNameReader.java
  
  Index: ClassNameReader.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/jlink/ClassNameReader.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  --- ClassNameReader.java	28 Oct 2001 21:30:21 -0000	1.4
  +++ ClassNameReader.java	14 Apr 2002 11:16:19 -0000	1.5
  @@ -65,7 +65,7 @@
    * strings from a class file.
    * @author <a href="mailto:beard@netscape.com">Patrick C. Beard</a>.
    */
  -class ConstantPool extends Object{
  +class ConstantPool {
   
       final static 
           byte UTF8 = 1, UNUSED = 2, INTEGER = 3, FLOAT = 4, LONG = 5, DOUBLE = 6,
  @@ -127,9 +127,8 @@
               }
           }
       }
  -
  -
   }
  +
   /**
    * Provides a quick and dirty way to determine the true name of a class
    * given just an InputStream. Reads in just enough to perform this
  @@ -137,8 +136,7 @@
    */
   public class ClassNameReader extends Object{
   
  -    public static 
  -        String getClassName( InputStream input ) throws IOException {
  +    public static String getClassName(InputStream input) throws IOException {
           DataInputStream data = new DataInputStream( input );
           // verify this is a valid class file.
           int cookie = data .readInt();
  
  
  
  1.5       +37 -35    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/jlink/JlinkTask.java
  
  Index: JlinkTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/jlink/JlinkTask.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -u -r1.4 -r1.5
  --- JlinkTask.java	28 Oct 2001 21:30:21 -0000	1.4
  +++ JlinkTask.java	14 Apr 2002 11:16:19 -0000	1.5
  @@ -154,10 +154,12 @@
       public  void execute() throws BuildException {
           //Be sure everything has been set.
           if ( outfile == null ) {
  -            throw new BuildException( "outfile attribute is required! Please set." );
  +            throw new BuildException("outfile attribute is required! " 
  +                + "Please set.");
           }
           if (!haveAddFiles() && !haveMergeFiles()) {
  -            throw new BuildException( "addfiles or mergefiles required! Please set." );
  +            throw new BuildException("addfiles or mergefiles required! " 
  +                + "Please set.");
           }
           log( "linking:     " + outfile.getPath() );
           log( "compression: " + compress, Project.MSG_VERBOSE );
  
  
  

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message