bodewig     2003/01/17 06:34:56

  Modified:    src/main/org/apache/tools/ant/types XMLCatalog.java
               src/main/org/apache/tools/ant/util FileUtils.java
                        LazyHashtable.java
  Log:
  Fix some JDK 1.1 issues - only culprit remaining is Diagnostics with
  its class locating code.
  
  Learned by failing <xmlvalidate> tests that FileUtils.getFileURL
  wouldn't append slashes where it should (because normalize strips
  them).
  
  Revision  Changes    Path
  1.22      +9 -5      
jakarta-ant/src/main/org/apache/tools/ant/types/XMLCatalog.java
  
  Index: XMLCatalog.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/types/XMLCatalog.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- XMLCatalog.java   13 Jan 2003 15:52:12 -0000      1.21
  +++ XMLCatalog.java   17 Jan 2003 14:34:55 -0000      1.22
  @@ -76,6 +76,7 @@
   import org.apache.tools.ant.BuildException;
   import org.apache.tools.ant.DirectoryScanner;
   import org.apache.tools.ant.Project;
  +import org.apache.tools.ant.util.FileUtils;
   import org.apache.tools.ant.util.JAXPUtils;
   import org.xml.sax.EntityResolver;
   import org.xml.sax.InputSource;
  @@ -162,6 +163,9 @@
   public class XMLCatalog extends DataType 
       implements Cloneable, EntityResolver, URIResolver {
   
  +    /** helper for some File.toURL connversions */
  +    private static FileUtils fileUtils = FileUtils.newFileUtils();
  +
       //-- Fields 
----------------------------------------------------------------
   
       /** Holds dtd/entity objects until needed. */
  @@ -477,7 +481,7 @@
               URL baseURL = null;
               try {
                   if (base == null) {
  -                    baseURL = getProject().getBaseDir().toURL();
  +                    baseURL = 
fileUtils.getFileURL(getProject().getBaseDir());
                   }
                   else {
                       baseURL = new URL(base);
  @@ -646,7 +650,7 @@
               baseURL = matchingEntry.getBase();
           } else {
               try {
  -                baseURL = getProject().getBaseDir().toURL();                
  +                baseURL = fileUtils.getFileURL(getProject().getBaseDir());
               }
               catch (MalformedURLException ex) {
                   throw new BuildException("Project basedir cannot be 
converted to a URL");
  @@ -666,7 +670,7 @@
           if (url != null) {
               String fileName = url.getFile();
               if (fileName != null) {
  -                log("fileName"+fileName, Project.MSG_DEBUG);
  +                log("fileName " + fileName, Project.MSG_DEBUG);
                   File resFile = new File(fileName);
                   if (resFile.exists() && resFile.canRead()) {
                       try {
  @@ -743,7 +747,7 @@
               baseURL = matchingEntry.getBase();
           } else {
               try {
  -                baseURL = getProject().getBaseDir().toURL();
  +                baseURL = fileUtils.getFileURL(getProject().getBaseDir());
               }
               catch (MalformedURLException ex) {
                   throw new BuildException("Project basedir cannot be 
converted to a URL");
  
  
  
  1.35      +10 -9     
jakarta-ant/src/main/org/apache/tools/ant/util/FileUtils.java
  
  Index: FileUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/util/FileUtils.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- FileUtils.java    19 Dec 2002 11:20:29 -0000      1.34
  +++ FileUtils.java    17 Jan 2003 14:34:55 -0000      1.35
  @@ -1,7 +1,7 @@
   /*
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 2001-2002 The Apache Software Foundation.  All rights
  + * Copyright (c) 2001-2003 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -154,11 +154,7 @@
        *      formed.
        */
       public URL getFileURL(File file) throws MalformedURLException {
  -        String path = file.getAbsolutePath();
  -        if (file.isDirectory()) {
  -            path += "/";
  -        }
  -        return new URL(toURI(path));
  +        return new URL(toURI(file.getAbsolutePath()));
       }
   
       /**
  @@ -706,8 +702,7 @@
           synchronized (rand) {
               do {
                   result = new File(parent,
  -                                  prefix
  -                                  + 
fmt.format(rand.nextInt(Integer.MAX_VALUE))
  +                                  prefix + 
fmt.format(Math.abs(rand.nextInt()))
                                     + suffix);
               } while (result.exists());
           }
  @@ -915,6 +910,8 @@
        * @since Ant 1.6
        */
       public String toURI(String path) {
  +        boolean isDir = (new File(path)).isDirectory();
  +
           StringBuffer sb = new StringBuffer("file:");
   
           // catch exception if normalize thinks this is not an absolute path
  @@ -931,6 +928,7 @@
           }
   
           path = path.replace('\\', '/');
  +        
           CharacterIterator iter = new StringCharacterIterator(path);
           for (char c = iter.first(); c != CharacterIterator.DONE;
                c = iter.next()) {
  @@ -941,6 +939,9 @@
               } else {
                   sb.append(c);
               }
  +        }
  +        if (isDir && !path.endsWith("/")) {
  +            sb.append('/');
           }
           return sb.toString();
       }
  
  
  
  1.2       +2 -2      
jakarta-ant/src/main/org/apache/tools/ant/util/LazyHashtable.java
  
  Index: LazyHashtable.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/util/LazyHashtable.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LazyHashtable.java        6 Dec 2002 23:02:30 -0000       1.1
  +++ LazyHashtable.java        17 Jan 2003 14:34:55 -0000      1.2
  @@ -1,7 +1,7 @@
   /*
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 2000-2002 The Apache Software Foundation.  All rights
  + * Copyright (c) 2000-2003 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -101,7 +101,7 @@
   
       public boolean containsValue( Object value ) {
           initAll();
  -        return super.containsValue( value );
  +        return super.contains( value );
       }
   
       public Enumeration keys() {
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to