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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] File#getParentFile} directly. + * @deprecated since 1.7. Just use [EMAIL PROTECTED] 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]