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/22 05:12:16 UTC

svn commit: r549685 - /ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Move.java

Author: mbenson
Date: Thu Jun 21 20:12:15 2007
New Revision: 549685

URL: http://svn.apache.org/viewvc?view=rev&rev=549685
Log:
fmting, fix BZ #41948

Modified:
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Move.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Move.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Move.java?view=diff&rev=549685&r1=549684&r2=549685
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Move.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Move.java Thu Jun 21 20:12:15 2007
@@ -15,12 +15,11 @@
  *  limitations under the License.
  *
  */
-
 package org.apache.tools.ant.taskdefs;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.Enumeration;
+import java.util.Iterator;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.DirectoryScanner;
@@ -45,7 +44,6 @@
  * document, the following mailing list discussions, and the
  * copyfile/copydir tasks.</p>
  *
- *
  * @since Ant 1.2
  *
  * @ant.task category="filesystem"
@@ -68,13 +66,10 @@
         if (file != null && file.isDirectory()) {
             if ((destFile != null && destDir != null)
                 || (destFile == null && destDir == null)) {
-                throw new BuildException("One and only one of tofile and todir "
-                                         + "must be set.");
+                throw new BuildException("One and only one of tofile and todir must be set.");
             }
-            destFile = (destFile == null)
-                ? new File(destDir, file.getName()) : destFile;
-            destDir = (destDir == null)
-                ? destFile.getParentFile() : destDir;
+            destFile = destFile == null ? new File(destDir, file.getName()) : destFile;
+            destDir = destDir == null ? destFile.getParentFile() : destDir;
 
             completeDirMap.put(file, destFile);
             file = null;
@@ -88,26 +83,21 @@
 //************************************************************************
 
     /**
-     * Override copy's doFileOperations to move the
-     * files instead of copying them.
+     * Override copy's doFileOperations to move the files instead of copying them.
      */
     protected void doFileOperations() {
         //Attempt complete directory renames, if any, first.
         if (completeDirMap.size() > 0) {
-            Enumeration e = completeDirMap.keys();
-            while (e.hasMoreElements()) {
-                File fromDir = (File) e.nextElement();
+            for (Iterator fromDirs = completeDirMap.keySet().iterator(); fromDirs.hasNext();) {
+                File fromDir = (File) fromDirs.next();
                 File toDir = (File) completeDirMap.get(fromDir);
                 boolean renamed = false;
                 try {
-                    log("Attempting to rename dir: " + fromDir
-                        + " to " + toDir, verbosity);
-                    renamed =
-                        renameFile(fromDir, toDir, filtering, forceOverwrite);
+                    log("Attempting to rename dir: " + fromDir + " to " + toDir, verbosity);
+                    renamed = renameFile(fromDir, toDir, filtering, forceOverwrite);
                 } catch (IOException ioe) {
                     String msg = "Failed to rename dir " + fromDir
-                        + " to " + toDir
-                        + " due to " + ioe.getMessage();
+                            + " to " + toDir + " due to " + ioe.getMessage();
                     throw new BuildException(msg, ioe, getLocation());
                 }
                 if (!renamed) {
@@ -124,14 +114,11 @@
         }
         int moveCount = fileCopyMap.size();
         if (moveCount > 0) {   // files to move
-            log("Moving " + moveCount + " file"
-                + ((moveCount == 1) ? "" : "s")
-                + " to " + destDir.getAbsolutePath());
-
-            Enumeration e = fileCopyMap.keys();
-            while (e.hasMoreElements()) {
-                String fromFile = (String) e.nextElement();
+            log("Moving " + moveCount + " file" + ((moveCount == 1) ? "" : "s")
+                    + " to " + destDir.getAbsolutePath());
 
+            for (Iterator fromFiles = fileCopyMap.keySet().iterator(); fromFiles.hasNext();) {
+                String fromFile = (String) fromFiles.next();
                 File f = new File(fromFile);
                 boolean selfMove = false;
                 if (f.exists()) { //Is this file still available to be moved?
@@ -161,46 +148,40 @@
         }
 
         if (includeEmpty) {
-            Enumeration e = dirCopyMap.keys();
             int createCount = 0;
-            while (e.hasMoreElements()) {
-                String fromDirName = (String) e.nextElement();
+            for (Iterator fromDirNames = dirCopyMap.keySet().iterator(); fromDirNames.hasNext();) {
+                String fromDirName = (String) fromDirNames.next();
                 String[] toDirNames = (String[]) dirCopyMap.get(fromDirName);
                 boolean selfMove = false;
                 for (int i = 0; i < toDirNames.length; i++) {
-
                     if (fromDirName.equals(toDirNames[i])) {
                         log("Skipping self-move of " + fromDirName, verbosity);
                         selfMove = true;
                         continue;
                     }
-
                     File d = new File(toDirNames[i]);
                     if (!d.exists()) {
                         if (!d.mkdirs()) {
                             log("Unable to create directory "
-                                + d.getAbsolutePath(), Project.MSG_ERR);
+                                    + d.getAbsolutePath(), Project.MSG_ERR);
                         } else {
                             createCount++;
                         }
                     }
                 }
-
                 File fromDir = new File(fromDirName);
                 if (!selfMove && okToDelete(fromDir)) {
                     deleteDir(fromDir);
                 }
-
             }
-
             if (createCount > 0) {
                 log("Moved " + dirCopyMap.size()
-                    + " empty director"
-                    + (dirCopyMap.size() == 1 ? "y" : "ies")
-                    + " to " + createCount
-                    + " empty director"
-                    + (createCount == 1 ? "y" : "ies") + " under "
-                    + destDir.getAbsolutePath());
+                        + " empty director"
+                        + (dirCopyMap.size() == 1 ? "y" : "ies")
+                        + " to " + createCount
+                        + " empty director"
+                        + (createCount == 1 ? "y" : "ies") + " under "
+                        + destDir.getAbsolutePath());
             }
         }
     }
@@ -209,26 +190,22 @@
      * Try to move the file via a rename, but if this fails or filtering
      * is enabled, copy the file then delete the sourceFile.
      */
-    private void moveFile(File fromFile, File toFile,
-                          boolean filtering, boolean overwrite) {
+    private void moveFile(File fromFile, File toFile, boolean filtering, boolean overwrite) {
         boolean moved = false;
         try {
-            log("Attempting to rename: " + fromFile
-                + " to " + toFile, verbosity);
+            log("Attempting to rename: " + fromFile + " to " + toFile, verbosity);
             moved = renameFile(fromFile, toFile, filtering, forceOverwrite);
         } catch (IOException ioe) {
             String msg = "Failed to rename " + fromFile
-                + " to " + toFile
-                + " due to " + ioe.getMessage();
+                + " to " + toFile + " due to " + ioe.getMessage();
             throw new BuildException(msg, ioe, getLocation());
         }
 
         if (!moved) {
             copyFile(fromFile, toFile, filtering, overwrite);
             if (!fromFile.delete()) {
-                throw new BuildException("Unable to delete "
-                                        + "file "
-                                        + fromFile.getAbsolutePath());
+                throw new BuildException("Unable to delete " + "file "
+                        + fromFile.getAbsolutePath());
             }
         }
     }
@@ -240,26 +217,17 @@
      * @param filtering
      * @param overwrite
      */
-    private void copyFile(File fromFile, File toFile,
-                          boolean filtering, boolean overwrite) {
+    private void copyFile(File fromFile, File toFile, boolean filtering, boolean overwrite) {
         try {
-            log("Copying " + fromFile + " to " + toFile,
-                verbosity);
+            log("Copying " + fromFile + " to " + toFile, verbosity);
 
-            FilterSetCollection executionFilters =
-                new FilterSetCollection();
+            FilterSetCollection executionFilters = new FilterSetCollection();
             if (filtering) {
-                executionFilters
-                    .addFilterSet(getProject().getGlobalFilterSet());
+                executionFilters.addFilterSet(getProject().getGlobalFilterSet());
             }
-            for (Enumeration filterEnum =
-                    getFilterSets().elements();
-                filterEnum.hasMoreElements();) {
-                executionFilters
-                    .addFilterSet((FilterSet) filterEnum
-                                .nextElement());
+            for (Iterator filterIter = getFilterSets().iterator(); filterIter.hasNext();) {
+                executionFilters.addFilterSet((FilterSet) filterIter.next());
             }
-
             getFileUtils().copyFile(fromFile, toFile, executionFilters,
                                     getFilterChains(),
                                     forceOverwrite,
@@ -267,19 +235,15 @@
                                     getEncoding(),
                                     getOutputEncoding(),
                                     getProject());
-
         } catch (IOException ioe) {
             String msg = "Failed to copy " + fromFile
-                + " to " + toFile
-                + " due to " + ioe.getMessage();
+                    + " to " + toFile + " due to " + ioe.getMessage();
             throw new BuildException(msg, ioe, getLocation());
         }
     }
 
-
     /**
-     * Its only ok to delete a directory tree if there are
-     * no files in it.
+     * Its only ok to delete a directory tree if there are no files in it.
      * @param d the directory to check
      * @return true if a deletion can go ahead
      */
@@ -300,7 +264,6 @@
                 return false;   // found a file
             }
         }
-
         return true;
     }
 
@@ -329,18 +292,15 @@
             if (f.isDirectory()) {
                 deleteDir(f);
             } else if (deleteFiles && !(f.delete())) {
-                throw new BuildException("Unable to delete file "
-                                         + f.getAbsolutePath());
+                throw new BuildException("Unable to delete file " + f.getAbsolutePath());
             } else {
                 throw new BuildException("UNEXPECTED ERROR - The file "
-                                         + f.getAbsolutePath()
-                                         + " should not exist!");
+                        + f.getAbsolutePath() + " should not exist!");
             }
         }
         log("Deleting directory " + d.getAbsolutePath(), verbosity);
         if (!d.delete()) {
-            throw new BuildException("Unable to delete directory "
-                                     + d.getAbsolutePath());
+            throw new BuildException("Unable to delete directory " + d.getAbsolutePath());
         }
     }
 
@@ -362,22 +322,19 @@
      * @exception IOException if an error occurs
      * @exception BuildException if an error occurs
      */
-    protected boolean renameFile(File sourceFile, File destFile,
-                                 boolean filtering, boolean overwrite)
-        throws IOException, BuildException {
-
+    protected boolean renameFile(File sourceFile, File destFile, boolean filtering,
+                                 boolean overwrite) throws IOException, BuildException {
         boolean renamed = false;
         if ((getFilterSets().size() + getFilterChains().size() == 0)
-            && !(filtering || destFile.isDirectory())) {
+                && !(filtering || destFile.isDirectory())) {
             // ensure that parent dir of dest file exists!
             File parent = destFile.getParentFile();
             if (parent != null && !parent.exists()) {
                 parent.mkdirs();
             }
-            if (destFile.isFile() && !destFile.equals(sourceFile)
-                && !destFile.delete()) {
-                throw new BuildException("Unable to remove existing "
-                                         + "file " + destFile);
+            if (destFile.isFile() && !getFileUtils().fileNameEquals(sourceFile, destFile)
+                    && !destFile.delete()) {
+                throw new BuildException("Unable to remove existing " + "file " + destFile);
             }
             renamed = sourceFile.renameTo(destFile);
         }



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