You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by mb...@apache.org on 2007/06/29 23:50:48 UTC

svn commit: r552042 - /ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java

Author: mbenson
Date: Fri Jun 29 14:50:46 2007
New Revision: 552042

URL: http://svn.apache.org/viewvc?view=rev&rev=552042
Log:
fmting; tiny refactorings

Modified:
    ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java?view=diff&rev=552042&r1=552041&r2=552042
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java Fri Jun 29 14:50:46 2007
@@ -168,8 +168,7 @@
      *
      * @throws IOException if the copying fails.
      */
-    public void copyFile(String sourceFile, String destFile)
-        throws IOException {
+    public void copyFile(String sourceFile, String destFile) throws IOException {
         copyFile(new File(sourceFile), new File(destFile), null, false, false);
     }
 
@@ -185,88 +184,71 @@
      *
      * @throws IOException if the copying fails.
      */
-    public void copyFile(String sourceFile, String destFile,
-                         FilterSetCollection filters)
-        throws IOException {
-        copyFile(new File(sourceFile), new File(destFile), filters,
-                 false, false);
+    public void copyFile(String sourceFile, String destFile, FilterSetCollection filters)
+            throws IOException {
+        copyFile(new File(sourceFile), new File(destFile), filters, false, false);
     }
 
     /**
-     * Convenience method to copy a file from a source to a
-     * destination specifying if token filtering must be used and if
-     * source files may overwrite newer destination files.
-     *
-     * @param sourceFile Name of file to copy from.
-     *                   Must not be <code>null</code>.
-     * @param destFile Name of file to copy to.
-     *                 Must not be <code>null</code>.
+     * Convenience method to copy a file from a source to a destination specifying if token
+     * filtering must be used and if source files may overwrite newer destination files.
+     * 
+     * @param sourceFile Name of file to copy from. Must not be <code>null</code>.
+     * @param destFile Name of file to copy to. Must not be <code>null</code>.
      * @param filters the collection of filters to apply to this copy.
-     * @param overwrite Whether or not the destination file should be
-     *                  overwritten if it already exists.
-     *
+     * @param overwrite Whether or not the destination file should be overwritten if it already
+     *            exists.
+     * 
      * @throws IOException if the copying fails.
      */
     public void copyFile(String sourceFile, String destFile, FilterSetCollection filters,
                          boolean overwrite) throws IOException {
-        copyFile(new File(sourceFile), new File(destFile), filters,
-                 overwrite, false);
+        copyFile(new File(sourceFile), new File(destFile), filters, overwrite, false);
     }
 
     /**
-     * Convenience method to copy a file from a source to a
-     * destination specifying if token filtering must be used, if
-     * source files may overwrite newer destination files and the
-     * last modified time of <code>destFile</code> file should be made equal
-     * to the last modified time of <code>sourceFile</code>.
-     *
-     * @param sourceFile Name of file to copy from.
-     *                   Must not be <code>null</code>.
-     * @param destFile Name of file to copy to.
-     *                 Must not be <code>null</code>.
+     * Convenience method to copy a file from a source to a destination specifying if token
+     * filtering must be used, if source files may overwrite newer destination files and the last
+     * modified time of <code>destFile</code> file should be made equal to the last modified time
+     * of <code>sourceFile</code>.
+     * 
+     * @param sourceFile Name of file to copy from. Must not be <code>null</code>.
+     * @param destFile Name of file to copy to. Must not be <code>null</code>.
      * @param filters the collection of filters to apply to this copy.
-     * @param overwrite Whether or not the destination file should be
-     *                  overwritten if it already exists.
-     * @param preserveLastModified Whether or not the last modified time of
-     *                             the resulting file should be set to that
-     *                             of the source file.
-     *
+     * @param overwrite Whether or not the destination file should be overwritten if it already
+     *            exists.
+     * @param preserveLastModified Whether or not the last modified time of the resulting file
+     *            should be set to that of the source file.
+     * 
      * @throws IOException if the copying fails.
      */
     public void copyFile(String sourceFile, String destFile, FilterSetCollection filters,
-                         boolean overwrite, boolean preserveLastModified)
-        throws IOException {
-        copyFile(new File(sourceFile), new File(destFile), filters,
-                 overwrite, preserveLastModified);
+                         boolean overwrite, boolean preserveLastModified) throws IOException {
+        copyFile(new File(sourceFile), new File(destFile), filters, overwrite, preserveLastModified);
     }
 
     /**
-     * Convenience method to copy a file from a source to a
-     * destination specifying if token filtering must be used, if
-     * source files may overwrite newer destination files and the
-     * last modified time of <code>destFile</code> file should be made equal
-     * to the last modified time of <code>sourceFile</code>.
-     *
-     * @param sourceFile Name of file to copy from.
-     *                   Must not be <code>null</code>.
-     * @param destFile Name of file to copy to.
-     *                 Must not be <code>null</code>.
+     * Convenience method to copy a file from a source to a destination specifying if token
+     * filtering must be used, if source files may overwrite newer destination files and the last
+     * modified time of <code>destFile</code> file should be made equal to the last modified time
+     * of <code>sourceFile</code>.
+     * 
+     * @param sourceFile Name of file to copy from. Must not be <code>null</code>.
+     * @param destFile Name of file to copy to. Must not be <code>null</code>.
      * @param filters the collection of filters to apply to this copy.
-     * @param overwrite Whether or not the destination file should be
-     *                  overwritten if it already exists.
-     * @param preserveLastModified Whether or not the last modified time of
-     *                             the resulting file should be set to that
-     *                             of the source file.
+     * @param overwrite Whether or not the destination file should be overwritten if it already
+     *            exists.
+     * @param preserveLastModified Whether or not the last modified time of the resulting file
+     *            should be set to that of the source file.
      * @param encoding the encoding used to read and write the files.
-     *
+     * 
      * @throws IOException if the copying fails.
-     *
+     * 
      * @since Ant 1.5
      */
     public void copyFile(String sourceFile, String destFile,
                          FilterSetCollection filters, boolean overwrite,
-                         boolean preserveLastModified, String encoding)
-        throws IOException {
+                         boolean preserveLastModified, String encoding) throws IOException {
         copyFile(new File(sourceFile), new File(destFile), filters,
                  overwrite, preserveLastModified, encoding);
     }
@@ -301,60 +283,48 @@
     public void copyFile(String sourceFile, String destFile,
                          FilterSetCollection filters, Vector filterChains,
                          boolean overwrite, boolean preserveLastModified,
-                         String encoding, Project project)
-        throws IOException {
-        copyFile(new File(sourceFile), new File(destFile), filters,
-                 filterChains, overwrite, preserveLastModified,
-                 encoding, project);
+                         String encoding, Project project) throws IOException {
+        copyFile(new File(sourceFile), new File(destFile), filters, filterChains, overwrite,
+                preserveLastModified, encoding, project);
     }
 
     /**
-     * Convenience method to copy a file from a source to a
-     * destination specifying if token filtering must be used, if
-     * filter chains must be used, if source files may overwrite
-     * newer destination files and the last modified time of
-     * <code>destFile</code> file should be made equal
-     * to the last modified time of <code>sourceFile</code>.
-     *
-     * @param sourceFile Name of file to copy from.
-     *                   Must not be <code>null</code>.
-     * @param destFile Name of file to copy to.
-     *                 Must not be <code>null</code>.
+     * Convenience method to copy a file from a source to a destination specifying if token
+     * filtering must be used, if filter chains must be used, if source files may overwrite newer
+     * destination files and the last modified time of <code>destFile</code> file should be made
+     * equal to the last modified time of <code>sourceFile</code>.
+     * 
+     * @param sourceFile Name of file to copy from. Must not be <code>null</code>.
+     * @param destFile Name of file to copy to. Must not be <code>null</code>.
      * @param filters the collection of filters to apply to this copy.
      * @param filterChains filterChains to apply during the copy.
-     * @param overwrite Whether or not the destination file should be
-     *                  overwritten if it already exists.
-     * @param preserveLastModified Whether or not the last modified time of
-     *                             the resulting file should be set to that
-     *                             of the source file.
+     * @param overwrite Whether or not the destination file should be overwritten if it already
+     *            exists.
+     * @param preserveLastModified Whether or not the last modified time of the resulting file
+     *            should be set to that of the source file.
      * @param inputEncoding the encoding used to read the files.
      * @param outputEncoding the encoding used to write the files.
      * @param project the project instance.
-     *
+     * 
      * @throws IOException if the copying fails.
-     *
+     * 
      * @since Ant 1.6
      */
     public void copyFile(String sourceFile, String destFile,
                          FilterSetCollection filters, Vector filterChains,
                          boolean overwrite, boolean preserveLastModified,
                          String inputEncoding, String outputEncoding,
-                         Project project)
-        throws IOException {
-        copyFile(new File(sourceFile), new File(destFile), filters,
-                 filterChains, overwrite, preserveLastModified,
-                 inputEncoding, outputEncoding, project);
+                         Project project) throws IOException {
+        copyFile(new File(sourceFile), new File(destFile), filters, filterChains, overwrite,
+                preserveLastModified, inputEncoding, outputEncoding, project);
     }
 
     /**
-     * Convenience method to copy a file from a source to a destination.
-     * No filtering is performed.
-     *
-     * @param sourceFile the file to copy from.
-     *                   Must not be <code>null</code>.
-     * @param destFile the file to copy to.
-     *                 Must not be <code>null</code>.
-     *
+     * Convenience method to copy a file from a source to a destination. No filtering is performed.
+     * 
+     * @param sourceFile the file to copy from. Must not be <code>null</code>.
+     * @param destFile the file to copy to. Must not be <code>null</code>.
+     * 
      * @throws IOException if the copying fails.
      */
     public void copyFile(File sourceFile, File destFile) throws IOException {
@@ -374,7 +344,7 @@
      * @throws IOException if the copying fails.
      */
     public void copyFile(File sourceFile, File destFile, FilterSetCollection filters)
-        throws IOException {
+            throws IOException {
         copyFile(sourceFile, destFile, filters, false, false);
     }
 
@@ -419,40 +389,32 @@
      * @throws IOException if the copying fails.
      */
     public void copyFile(File sourceFile, File destFile, FilterSetCollection filters,
-                         boolean overwrite, boolean preserveLastModified)
-        throws IOException {
-        copyFile(sourceFile, destFile, filters, overwrite,
-                 preserveLastModified, null);
+                         boolean overwrite, boolean preserveLastModified) throws IOException {
+        copyFile(sourceFile, destFile, filters, overwrite, preserveLastModified, null);
     }
 
     /**
-     * Convenience method to copy a file from a source to a
-     * destination specifying if token filtering must be used, if
-     * source files may overwrite newer destination files, the last
-     * modified time of <code>destFile</code> file should be made
-     * equal to the last modified time of <code>sourceFile</code> and
-     * which character encoding to assume.
-     *
-     * @param sourceFile the file to copy from.
-     *                   Must not be <code>null</code>.
-     * @param destFile the file to copy to.
-     *                 Must not be <code>null</code>.
+     * Convenience method to copy a file from a source to a destination specifying if token
+     * filtering must be used, if source files may overwrite newer destination files, the last
+     * modified time of <code>destFile</code> file should be made equal to the last modified time
+     * of <code>sourceFile</code> and which character encoding to assume.
+     * 
+     * @param sourceFile the file to copy from. Must not be <code>null</code>.
+     * @param destFile the file to copy to. Must not be <code>null</code>.
      * @param filters the collection of filters to apply to this copy.
-     * @param overwrite Whether or not the destination file should be
-     *                  overwritten if it already exists.
-     * @param preserveLastModified Whether or not the last modified time of
-     *                             the resulting file should be set to that
-     *                             of the source file.
+     * @param overwrite Whether or not the destination file should be overwritten if it already
+     *            exists.
+     * @param preserveLastModified Whether or not the last modified time of the resulting file
+     *            should be set to that of the source file.
      * @param encoding the encoding used to read and write the files.
-     *
+     * 
      * @throws IOException if the copying fails.
-     *
+     * 
      * @since Ant 1.5
      */
     public void copyFile(File sourceFile, File destFile,
                          FilterSetCollection filters, boolean overwrite,
-                         boolean preserveLastModified, String encoding)
-        throws IOException {
+                         boolean preserveLastModified, String encoding) throws IOException {
         copyFile(sourceFile, destFile, filters, null, overwrite,
                  preserveLastModified, encoding, null);
     }
@@ -486,8 +448,7 @@
     public void copyFile(File sourceFile, File destFile,
                          FilterSetCollection filters, Vector filterChains,
                          boolean overwrite, boolean preserveLastModified,
-                         String encoding, Project project)
-        throws IOException {
+                         String encoding, Project project) throws IOException {
         copyFile(sourceFile, destFile, filters, filterChains,
                  overwrite, preserveLastModified, encoding, encoding, project);
     }
@@ -524,8 +485,7 @@
                          FilterSetCollection filters, Vector filterChains,
                          boolean overwrite, boolean preserveLastModified,
                          String inputEncoding, String outputEncoding,
-                         Project project)
-        throws IOException {
+                         Project project) throws IOException {
         ResourceUtils.copyResource(
             new FileResource(sourceFile), new FileResource(destFile),
             filters, filterChains, overwrite, preserveLastModified,
@@ -605,9 +565,9 @@
         char c = filename.charAt(0);
         int len = filename.length();
         return (c == sep && (len == 1 || filename.charAt(1) != sep))
-            || (Character.isLetter(c) && len > 1
-            && filename.indexOf(':') == 1
-            && (len == 2 || filename.charAt(2) != sep));
+                || (Character.isLetter(c) && len > 1
+                && filename.indexOf(':') == 1
+                && (len == 2 || filename.charAt(2) != sep));
     }
 
     /**
@@ -640,8 +600,8 @@
         }
         int colon = filename.indexOf(':');
         return (Character.isLetter(c) && colon == 1
-            && filename.length() > 2 && filename.charAt(2) == sep)
-            || (onNetWare && colon > 0);
+                && filename.length() > 2 && filename.charAt(2) == sep)
+                || (onNetWare && colon > 0);
     }
 
     /**
@@ -708,7 +668,8 @@
             String thisToken = tok.nextToken();
             if (".".equals(thisToken)) {
                 continue;
-            } else if ("..".equals(thisToken)) {
+            }
+            if ("..".equals(thisToken)) {
                 if (s.size() < 2) {
                     // Cannot resolve it, so skip it.
                     return new File(path);
@@ -794,7 +755,7 @@
         boolean isAbsolute = path.charAt(0) == File.separatorChar;
         // treat directories specified using .DIR syntax as files
         boolean isDirectory = f.isDirectory()
-            && !name.regionMatches(true, name.length() - 4, ".DIR", 0, 4);
+                && !name.regionMatches(true, name.length() - 4, ".DIR", 0, 4);
 
         String device = null;
         StringBuffer directory = null;
@@ -806,16 +767,13 @@
             index = path.indexOf(File.separatorChar, 1);
             if (index == -1) {
                 return path.substring(1) + ":[000000]";
-            } else {
-                device = path.substring(1, index++);
             }
+            device = path.substring(1, index++);
         }
         if (isDirectory) {
-            directory = new StringBuffer(path.substring(index).
-                                         replace(File.separatorChar, '.'));
+            directory = new StringBuffer(path.substring(index).replace(File.separatorChar, '.'));
         } else {
-            int dirEnd =
-                path.lastIndexOf(File.separatorChar, path.length());
+            int dirEnd = path.lastIndexOf(File.separatorChar, path.length());
             if (dirEnd == -1 || dirEnd < index) {
                 file = path.substring(index);
             } else {
@@ -831,8 +789,8 @@
             directory.insert(0, '.');
         }
         osPath = ((device != null) ? device + ":" : "")
-            + ((directory != null) ? "[" + directory + "]" : "")
-            + ((file != null) ? file : "");
+                + ((directory != null) ? "[" + directory + "]" : "")
+                + ((file != null) ? file : "");
         return osPath;
     }
 
@@ -888,15 +846,13 @@
                                boolean deleteOnExit) {
         File result = null;
         String parent = (parentDir == null)
-            ? System.getProperty("java.io.tmpdir")
-            : parentDir.getPath();
+                ? System.getProperty("java.io.tmpdir")
+                : parentDir.getPath();
 
         DecimalFormat fmt = new DecimalFormat("#####");
         synchronized (rand) {
             do {
-                result = new File(parent,
-                                  prefix + fmt.format(Math.abs(rand.nextInt()))
-                                  + suffix);
+                result = new File(parent, prefix + fmt.format(Math.abs(rand.nextInt())) + suffix);
             } while (result.exists());
         }
         if (deleteOnExit) {
@@ -933,19 +889,17 @@
      * @since Ant 1.6.3
      */
     public boolean contentEquals(File f1, File f2, boolean textfile) throws IOException {
-        return ResourceUtils.contentEquals(
-            new FileResource(f1), new FileResource(f2), textfile);
+        return ResourceUtils.contentEquals(new FileResource(f1), new FileResource(f2), textfile);
     }
 
     /**
-     * This was originally an emulation of {@link File#getParentFile} for JDK 1.1,
-     * but it is now implemented using that method (Ant 1.6.3 onwards).
+     * This was originally an emulation of {@link File#getParentFile} for JDK 1.1, but it is now
+     * implemented using that method (Ant 1.6.3 onwards).
+     * 
      * @param f the file whose parent is required.
-     * @return the given file's parent, or null if the file does not have a
-     *         parent.
+     * @return the given file's parent, or null if the file does not have a parent.
      * @since 1.10
-     * @deprecated since 1.7.
-     *             Just use {@link File#getParentFile} directly.
+     * @deprecated since 1.7. Just use {@link File#getParentFile} directly.
      */
     public File getParentFile(File f) {
         return (f == null) ? null : f.getParentFile();
@@ -1068,7 +1022,6 @@
         if (l.equals(p)) {
             return "";
         }
-
         // ensure that l ends with a /
         // so we never think /foo was a parent directory of /foobar
         if (!l.endsWith(File.separator)) {
@@ -1130,7 +1083,7 @@
                 java.lang.reflect.Method toURIMethod = File.class.getMethod("toURI", new Class[0]);
                 Object uriObj = toURIMethod.invoke(f, new Object[] {});
                 java.lang.reflect.Method toASCIIStringMethod
-                    = uriClazz.getMethod("toASCIIString", new Class[0]);
+                        = uriClazz.getMethod("toASCIIString", new Class[0]);
                 return (String) toASCIIStringMethod.invoke(uriObj, new Object[] {});
             } catch (Exception e) {
                 // Reflection problems? Should not happen, debug.
@@ -1177,8 +1130,7 @@
                 return cacheFromUriResponse;
             }
             String path = Locator.fromURI(uri);
-            String ret = isAbsolutePath(path)
-                ? normalize(path).getAbsolutePath() : path;
+            String ret = isAbsolutePath(path) ? normalize(path).getAbsolutePath() : path;
             cacheFromUriRequest = uri;
             cacheFromUriResponse = ret;
             return ret;
@@ -1224,8 +1176,7 @@
      */
     public void rename(File from, File to) throws IOException {
         if (to.exists() && !to.delete()) {
-            throw new IOException("Failed to delete " + to
-                                  + " while trying to rename " + from);
+            throw new IOException("Failed to delete " + to + " while trying to rename " + from);
         }
         File parent = to.getParentFile();
         if (parent != null && !parent.exists() && !parent.mkdirs()) {
@@ -1235,26 +1186,27 @@
         if (!from.renameTo(to)) {
             copyFile(from, to);
             if (!from.delete()) {
-                throw new IOException("Failed to delete " + from
-                                      + " while trying to rename it.");
+                throw new IOException("Failed to delete " + from + " while trying to rename it.");
             }
         }
     }
 
     /**
-     * Get the granularity of file timestamps.
-     * The choice is made based on OS, which is incorrect--it should really be
-     * by filesystem. We do not have an easy way to probe for file systems,
-     * however, so this heuristic gives us a decent default.
-     * @return the difference, in milliseconds, which two file timestamps must have
-     * in order for the two files to be considered to have different timestamps.
+     * Get the granularity of file timestamps. The choice is made based on OS, which is
+     * incorrect--it should really be by filesystem. We do not have an easy way to probe for file
+     * systems, however, so this heuristic gives us a decent default.
+     * 
+     * @return the difference, in milliseconds, which two file timestamps must have in order for the
+     *         two files to be considered to have different timestamps.
      */
     public long getFileTimestampGranularity() {
         if (onWin9x) {
             return FAT_FILE_TIMESTAMP_GRANULARITY;
-        } else if (onWindows) {
+        }
+        if (onWindows) {
             return NTFS_FILE_TIMESTAMP_GRANULARITY;
-        } else if (onDos) {
+        }
+        if (onDos) {
             return FAT_FILE_TIMESTAMP_GRANULARITY;
         }
         return UNIX_FILE_TIMESTAMP_GRANULARITY;
@@ -1271,7 +1223,7 @@
      *   <li>actual name from directory reading is different from the supplied argument</li>
      * </ul>
      *  <br/>
-     * the purpose is to identify files or directories on Windows environments whose case is not what is expected.<br/>
+     * the purpose is to identify files or directories on case-insensitive filesystems whose case is not what is expected.<br/>
      * Possibly to rename them afterwards to the desired upper/lowercase combination.
      * <br/>
      * @param localFile file to test
@@ -1285,12 +1237,13 @@
         final String localFileName = localFile.getName();
         FilenameFilter ff = new FilenameFilter () {
             public boolean accept(File dir, String name) {
-            return name.equalsIgnoreCase(localFileName) && (!name.equals(localFileName));
-        }
+                return name.equalsIgnoreCase(localFileName) && (!name.equals(localFileName));
+            }
         };
         String[] names = localFile.getParentFile().list(ff);
-        return names!=null && names.length==1;
+        return names != null && names.length == 1;
     }
+
     /**
      * Returns true if the source is older than the dest.
      * If the dest file does not exist, then the test returns false; it is
@@ -1334,10 +1287,7 @@
      * @return true if the dest file is considered up to date.
      */
     public boolean isUpToDate(long sourceTime, long destTime, long granularity) {
-        if (destTime == -1) {
-            return false;
-        }
-        return destTime >= sourceTime + granularity;
+        return destTime != -1 && destTime >= sourceTime + granularity;
     }
 
     /**
@@ -1358,7 +1308,7 @@
      * @param device output writer, can be null.
      */
     public static void close(Writer device) {
-        if(null != device){
+        if (null != device) {
             try {
                 device.close();
             } catch (IOException e) {
@@ -1374,7 +1324,7 @@
      * @param device Reader, can be null.
      */
     public static void close(Reader device) {
-        if(null != device){
+        if (null != device) {
             try {
                 device.close();
             } catch (IOException e) {
@@ -1390,7 +1340,7 @@
      * @param device stream, can be null.
      */
     public static void close(OutputStream device) {
-        if(null != device){
+        if (null != device) {
             try {
                 device.close();
             } catch (IOException e) {
@@ -1406,7 +1356,7 @@
      * @param device stream, can be null.
      */
     public static void close(InputStream device) {
-        if(null != device){
+        if (null != device) {
             try {
                 device.close();
             } catch (IOException e) {
@@ -1429,25 +1379,19 @@
     /**
      * Calculates the relative path between two files.
      * <p>
-     * Implementation note:<br/> This function my throw an IOException if an
-     * I/O error occurs because its use of the canonical pathname may require
-     * filesystem queries.
+     * Implementation note:<br/> This function may throw an IOException if an I/O error occurs
+     * because its use of the canonical pathname may require filesystem queries.
      * </p>
-     *
-     * @param fromFile
-     *            the <code>File</code> to calculate the path from
-     * @param toFile
-     *            the <code>File</code> to calculate the path to
+     * 
+     * @param fromFile the <code>File</code> to calculate the path from
+     * @param toFile the <code>File</code> to calculate the path to
      * @return the relative path between the files
      * @throws Exception for undocumented reasons
      * @see File#getCanonicalPath()
-     *
+     * 
      * @since Ant 1.7
      */
-    public static String getRelativePath(
-        File fromFile,
-        File toFile
-    ) throws Exception {
+    public static String getRelativePath(File fromFile, File toFile) throws Exception {
         String fromPath = fromFile.getCanonicalPath();
         String toPath = toFile.getCanonicalPath();
 
@@ -1466,17 +1410,11 @@
             return getPath(Arrays.asList(toPathStack));
         }
 
-        int minLength = Math
-                .min(fromPathStack.length, toPathStack.length);
-
+        int minLength = Math.min(fromPathStack.length, toPathStack.length);
         int same = 1;
 
         // get index of parts which are equal
-        for (; same < minLength; same++) {
-            if (!fromPathStack[same].equals(toPathStack[same])) {
-                break;
-            }
-        }
+        for (; same < minLength && fromPathStack[same].equals(toPathStack[same]); same++);
 
         List relativePathStack = new ArrayList();
 
@@ -1496,11 +1434,10 @@
 
     /**
      * Gets all names of the path as an array of <code>String</code>s.
-     *
-     * @param path
-     *            to get names from
+     * 
+     * @param path to get names from
      * @return <code>String</code>s, never <code>null</code>
-     *
+     * 
      * @since Ant 1.7
      */
     public static String[] getPathStack(String path) {
@@ -1518,12 +1455,10 @@
 
     /**
      * Gets path from a <code>List</code> of <code>String</code>s.
-     *
-     * @param pathStack
-     *            <code>List</code> of <code>String</code>s to be concated
-     *            as a path.
+     * 
+     * @param pathStack <code>List</code> of <code>String</code>s to be concatenated as a path.
      * @return <code>String</code>, never <code>null</code>
-     *
+     * 
      * @since Ant 1.7
      */
     public static String getPath(List pathStack) {
@@ -1533,15 +1468,11 @@
 
     /**
      * Gets path from a <code>List</code> of <code>String</code>s.
-     *
-     * @param pathStack
-     *            <code>List</code> of <code>String</code>s to be concated
-     *            as a path.
-     * @param separatorChar
-     *            <code>char</code> to be used as separator between names in
-     *            path
+     * 
+     * @param pathStack <code>List</code> of <code>String</code>s to be concated as a path.
+     * @param separatorChar <code>char</code> to be used as separator between names in path
      * @return <code>String</code>, never <code>null</code>
-     *
+     * 
      * @since Ant 1.7
      */
     public static String getPath(final List pathStack, final char separatorChar) {
@@ -1551,12 +1482,10 @@
         if (iter.hasNext()) {
             buffer.append(iter.next());
         }
-
         while (iter.hasNext()) {
             buffer.append(separatorChar);
             buffer.append(iter.next());
         }
-
         return buffer.toString();
     }
 



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