ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bode...@apache.org
Subject svn commit: r702350 - in /ant/core/trunk/src: main/org/apache/tools/ant/ main/org/apache/tools/ant/taskdefs/ main/org/apache/tools/ant/taskdefs/optional/unix/ main/org/apache/tools/ant/types/selectors/ main/org/apache/tools/ant/util/ tests/junit/org/ap...
Date Tue, 07 Oct 2008 05:35:58 GMT
Author: bodewig
Date: Mon Oct  6 22:35:58 2008
New Revision: 702350

URL: http://svn.apache.org/viewvc?rev=702350&view=rev
Log:
factor out symlink methods into a separate utils class

Added:
    ant/core/trunk/src/main/org/apache/tools/ant/util/SymbolicLinkUtils.java   (with props)
Modified:
    ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java
    ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java
    ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
    ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java
    ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java?rev=702350&r1=702349&r2=702350&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java Mon Oct  6 22:35:58
2008
@@ -42,6 +42,7 @@
 import org.apache.tools.ant.types.selectors.TokenizedPattern;
 import org.apache.tools.ant.util.CollectionUtils;
 import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.util.SymbolicLinkUtils;
 import org.apache.tools.ant.util.VectorSet;
 
 /**
@@ -187,6 +188,10 @@
     /** Helper. */
     private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
 
+    /** Helper. */
+    private static final SymbolicLinkUtils SYMLINK_UTILS =
+        SymbolicLinkUtils.getSymbolicLinkUtils();
+
     /**
      * Patterns which should be excluded by default.
      *
@@ -821,8 +826,7 @@
                 excludes = nullExcludes ? new String[0] : excludes;
 
                 if (basedir != null && !followSymlinks
-                    && FILE_UTILS.isSymbolicLink(basedir.getParentFile(),
-                                                 basedir.getName())) {
+                    && SYMLINK_UTILS.isSymbolicLink(basedir)) {
                     basedir = null;
                 }
 
@@ -1178,7 +1182,7 @@
             ArrayList noLinks = new ArrayList();
             for (int i = 0; i < newfiles.length; i++) {
                 try {
-                    if (FILE_UTILS.isSymbolicLink(dir, newfiles[i])) {
+                    if (SYMLINK_UTILS.isSymbolicLink(dir, newfiles[i])) {
                         String name = vpath + newfiles[i];
                         File file = new File(dir, newfiles[i]);
                         (file.isDirectory()
@@ -1788,7 +1792,7 @@
             if (directoryNamesFollowed.size() >= maxLevelsOfSymlinks
                 && CollectionUtils.frequency(directoryNamesFollowed, dirName)
                    >= maxLevelsOfSymlinks
-                && FILE_UTILS.isSymbolicLink(parent, dirName)) {
+                && SYMLINK_UTILS.isSymbolicLink(parent, dirName)) {
 
                 ArrayList files = new ArrayList();
                 File f = FILE_UTILS.resolveFile(parent, dirName);

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java?rev=702350&r1=702349&r2=702350&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java Mon Oct  6 22:35:58
2008
@@ -57,7 +57,7 @@
 import org.apache.tools.ant.types.selectors.MajoritySelector;
 import org.apache.tools.ant.types.selectors.ContainsRegexpSelector;
 import org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector;
-import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.util.SymbolicLinkUtils;
 
 /**
  * Deletes a file or directory, or set of files defined by a fileset.
@@ -107,14 +107,15 @@
     protected boolean usedMatchingTask = false;
     // by default, remove matching empty dirs
     protected boolean includeEmpty = false;
+    // CheckStyle:VisibilityModifier ON
 
     private int verbosity = Project.MSG_VERBOSE;
     private boolean quiet = false;
     private boolean failonerror = true;
     private boolean deleteOnExit = false;
     private Resources rcs = null;
-    private static FileUtils FILE_UTILS = FileUtils.getFileUtils();
-    // CheckStyle:VisibilityModifier ON
+    private static SymbolicLinkUtils SYMLINK_UTILS =
+        SymbolicLinkUtils.getSymbolicLinkUtils();
 
     /**
      * Set the name of a single file to be removed.
@@ -760,8 +761,7 @@
 
     private boolean isDanglingSymlink(File f) {
         try {
-            return FILE_UTILS.isDanglingSymbolicLink(f.getParentFile(),
-                                                     f.getName());
+            return SYMLINK_UTILS.isDanglingSymbolicLink(f);
         } catch (java.io.IOException e) {
             log("Error while trying to detect " + f.getAbsolutePath()
                 + " as broken symbolic link. " + e.getMessage(),

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java?rev=702350&r1=702349&r2=702350&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java Mon Oct
 6 22:35:58 2008
@@ -54,6 +54,7 @@
 import org.apache.tools.ant.taskdefs.LogOutputStream;
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.util.SymbolicLinkUtils;
 
 /**
  * Creates, Deletes, Records and Restores Symlinks.
@@ -114,6 +115,8 @@
  */
 public class Symlink extends DispatchTask {
     private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
+    private static final SymbolicLinkUtils SYMLINK_UTILS =
+        SymbolicLinkUtils.getSymbolicLinkUtils();
 
     private String resource;
     private String link;
@@ -212,7 +215,7 @@
                 // handle the case where lnk points to a directory (bug 25181)
                 try {
                     File test = new File(lnk);
-                    if (!FILE_UTILS.isSymbolicLink(null, lnk)) {
+                    if (!SYMLINK_UTILS.isSymbolicLink(lnk)) {
                         doLink(res, lnk);
                     } else if (!test.getCanonicalPath().equals(
                         new File(res).getCanonicalPath())) {
@@ -466,14 +469,14 @@
      */
     public static void deleteSymlink(File linkfil, Task task)
         throws IOException {
-        if (FILE_UTILS.isDanglingSymbolicLink(linkfil.getParentFile(),
-                                              linkfil.getName())) {
+        if (SYMLINK_UTILS.isDanglingSymbolicLink(linkfil.getParentFile(),
+                                                 linkfil.getName())) {
             linkfil.delete();
             return;
         }
 
-        if (!FILE_UTILS.isSymbolicLink(linkfil.getParentFile(),
-                                       linkfil.getName())) {
+        if (!SYMLINK_UTILS.isSymbolicLink(linkfil.getParentFile(),
+                                          linkfil.getName())) {
             // plain file, not a link
             return;
         }
@@ -641,7 +644,7 @@
                         File f = new File(dir, fnd[j][k]);
                         File pf = f.getParentFile();
                         String name = f.getName();
-                        if (FILE_UTILS.isSymbolicLink(pf, name)) {
+                        if (SYMLINK_UTILS.isSymbolicLink(pf, name)) {
                             result.add(new File(pf.getCanonicalFile(), name));
                         }
                     } catch (IOException e) {

Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java?rev=702350&r1=702349&r2=702350&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java Mon Oct
 6 22:35:58 2008
@@ -22,6 +22,7 @@
 
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.util.SymbolicLinkUtils;
 
 /**
  * Container for a path that has been split into its components.
@@ -37,6 +38,9 @@
 
     /** Helper. */
     private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
+    /** Helper. */
+    private static final SymbolicLinkUtils SYMLINK_UTILS =
+        SymbolicLinkUtils.getSymbolicLinkUtils();
     /** iterations for case-sensitive scanning. */
     private static final boolean[] CS_SCAN_ONLY = new boolean[] {true};
     /** iterations for non-case-sensitive scanning. */
@@ -134,7 +138,12 @@
     public boolean isSymlink(File base) {
         for (int i = 0; i < tokenizedPath.length; i++) {
             try {
-                if (FILE_UTILS.isSymbolicLink(base, tokenizedPath[i])) {
+                if ((base != null
+                     && SYMLINK_UTILS.isSymbolicLink(base, tokenizedPath[i]))
+                    ||
+                    (base == null
+                     && SYMLINK_UTILS.isSymbolicLink(tokenizedPath[i]))
+                    ) {
                     return true;
                 }
                 base = new File(base, tokenizedPath[i]);

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?rev=702350&r1=702349&r2=702350&view=diff
==============================================================================
--- 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 Mon Oct  6 22:35:58 2008
@@ -1039,57 +1039,15 @@
      * @return true if the file is a symbolic link.
      * @throws IOException on error.
      * @since Ant 1.5
+     * @deprecated use SymbolicLinkUtils instead
      */
     public boolean isSymbolicLink(File parent, String name)
         throws IOException {
+        SymbolicLinkUtils u = SymbolicLinkUtils.getSymbolicLinkUtils();
         if (parent == null) {
-            File f = new File(name);
-            parent = f.getParentFile();
-            name = f.getName();
+            return u.isSymbolicLink(name);
         }
-        File toTest = new File(parent.getCanonicalPath(), name);
-        return !toTest.getAbsolutePath().equals(toTest.getCanonicalPath());
-    }
-
-    /**
-     * Checks whether a given file is a broken symbolic link.
-     *
-     * <p>It doesn't really test for symbolic links but whether Java
-     * reports that the File doesn't exist but its parent's child list
-     * contains it--this may lead to false positives on some
-     * platforms.</p>
-     *
-     * <p>Note that #isSymbolicLink returns false if this method
-     * returns true since Java won't produce a canonical name
-     * different from the abolute one if the link is broken.</p>
-     *
-     * @param parent the parent directory of the file to test
-     * @param name the name of the file to test.
-     *
-     * @return true if the file is a broken symbolic link.
-     * @throws IOException on error.
-     * @since Ant 1.8.0
-     */
-    public boolean isDanglingSymbolicLink(File parent, String name) 
-        throws IOException {
-        File f = null;
-        if (parent == null) {
-            f = new File(name);
-            parent = f.getParentFile();
-            name = f.getName();
-        } else {
-            f = new File(parent, name);
-        }
-        if (!f.exists()) {
-            final String localName = f.getName();
-            String[] c = parent.list(new FilenameFilter() {
-                    public boolean accept(File d, String n) {
-                        return localName.equals(n);
-                    }
-                });
-            return c != null && c.length > 0;
-        }
-        return false;
+        return u.isSymbolicLink(parent, name);
     }
 
     /**

Added: ant/core/trunk/src/main/org/apache/tools/ant/util/SymbolicLinkUtils.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/SymbolicLinkUtils.java?rev=702350&view=auto
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/SymbolicLinkUtils.java (added)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/SymbolicLinkUtils.java Mon Oct  6 22:35:58
2008
@@ -0,0 +1,182 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package org.apache.tools.ant.util;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+
+/**
+ * Contains methods related to symbolic links - or what Ant thinks is
+ * a symbolic link based on the absent support for them in Java.
+ *
+ * @since Ant 1.8.0
+ */
+public class SymbolicLinkUtils {
+    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
+
+    /**
+     * Shared instance.
+     */
+    private static final SymbolicLinkUtils PRIMARY_INSTANCE =
+        new SymbolicLinkUtils();
+
+    /**
+     * Method to retrieve The SymbolicLinkUtils, which is shared by
+     * all users of this method.
+     * @return an instance of SymbolicLinkUtils.
+     */
+    public static SymbolicLinkUtils getSymbolicLinkUtils() {
+        // keep the door open for Java X.Y specific subclass if symbolic
+        // links ever become supported in the classlib
+        return PRIMARY_INSTANCE;
+    }
+
+    /**
+     * Empty constructor.
+     */
+    protected SymbolicLinkUtils() {
+    }
+
+    /**
+     * Checks whether a given file is a symbolic link.
+     *
+     * <p>It doesn't really test for symbolic links but whether the
+     * canonical and absolute paths of the file are identical--this
+     * may lead to false positives on some platforms.</p>
+     *
+     * @param file the file to test.
+     *
+     * @return true if the file is a symbolic link.
+     * @throws IOException on error.
+     */
+    public boolean isSymbolicLink(File file) throws IOException {
+        return isSymbolicLink(file.getParentFile(), file.getName());
+    }
+
+    /**
+     * Checks whether a given file is a symbolic link.
+     *
+     * <p>It doesn't really test for symbolic links but whether the
+     * canonical and absolute paths of the file are identical--this
+     * may lead to false positives on some platforms.</p>
+     *
+     * @param name the name of the file to test.
+     *
+     * @return true if the file is a symbolic link.
+     * @throws IOException on error.
+     */
+    public boolean isSymbolicLink(String name) throws IOException {
+        return isSymbolicLink(new File(name));
+    }
+
+    /**
+     * Checks whether a given file is a symbolic link.
+     *
+     * <p>It doesn't really test for symbolic links but whether the
+     * canonical and absolute paths of the file are identical--this
+     * may lead to false positives on some platforms.</p>
+     *
+     * @param parent the parent directory of the file to test
+     * @param name the name of the file to test.
+     *
+     * @return true if the file is a symbolic link.
+     * @throws IOException on error.
+     */
+    public boolean isSymbolicLink(File parent, String name)
+        throws IOException {
+        File toTest = new File(parent.getCanonicalPath(), name);
+        return !toTest.getAbsolutePath().equals(toTest.getCanonicalPath());
+    }
+
+    /**
+     * Checks whether a given file is a broken symbolic link.
+     *
+     * <p>It doesn't really test for symbolic links but whether Java
+     * reports that the File doesn't exist but its parent's child list
+     * contains it--this may lead to false positives on some
+     * platforms.</p>
+     *
+     * <p>Note that #isSymbolicLink returns false if this method
+     * returns true since Java won't produce a canonical name
+     * different from the abolute one if the link is broken.</p>
+     *
+     * @param name the name of the file to test.
+     *
+     * @return true if the file is a broken symbolic link.
+     * @throws IOException on error.
+     */
+    public boolean isDanglingSymbolicLink(String name) throws IOException {
+        return isDanglingSymbolicLink(new File(name));
+    }
+
+    /**
+     * Checks whether a given file is a broken symbolic link.
+     *
+     * <p>It doesn't really test for symbolic links but whether Java
+     * reports that the File doesn't exist but its parent's child list
+     * contains it--this may lead to false positives on some
+     * platforms.</p>
+     *
+     * <p>Note that #isSymbolicLink returns false if this method
+     * returns true since Java won't produce a canonical name
+     * different from the abolute one if the link is broken.</p>
+     *
+     * @param file the file to test.
+     *
+     * @return true if the file is a broken symbolic link.
+     * @throws IOException on error.
+     */
+    public boolean isDanglingSymbolicLink(File file) throws IOException {
+        return isDanglingSymbolicLink(file.getParentFile(), file.getName());
+    }
+
+    /**
+     * Checks whether a given file is a broken symbolic link.
+     *
+     * <p>It doesn't really test for symbolic links but whether Java
+     * reports that the File doesn't exist but its parent's child list
+     * contains it--this may lead to false positives on some
+     * platforms.</p>
+     *
+     * <p>Note that #isSymbolicLink returns false if this method
+     * returns true since Java won't produce a canonical name
+     * different from the abolute one if the link is broken.</p>
+     *
+     * @param parent the parent directory of the file to test
+     * @param name the name of the file to test.
+     *
+     * @return true if the file is a broken symbolic link.
+     * @throws IOException on error.
+     */
+    public boolean isDanglingSymbolicLink(File parent, String name) 
+        throws IOException {
+        File f = new File(parent, name);
+        if (!f.exists()) {
+            final String localName = f.getName();
+            String[] c = parent.list(new FilenameFilter() {
+                    public boolean accept(File d, String n) {
+                        return localName.equals(n);
+                    }
+                });
+            return c != null && c.length > 0;
+        }
+        return false;
+    }
+
+}
\ No newline at end of file

Propchange: ant/core/trunk/src/main/org/apache/tools/ant/util/SymbolicLinkUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java?rev=702350&r1=702349&r2=702350&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java Mon Oct
 6 22:35:58 2008
@@ -20,6 +20,7 @@
 
 import org.apache.tools.ant.taskdefs.condition.Os;
 import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.util.SymbolicLinkUtils;
 
 
 import java.io.File;
@@ -247,7 +248,7 @@
 
                 File dir = new File(System.getProperty("root"), "src/main/org/apache/tools");
                 System.err.println("link exists after exec? " + linkFile.exists());
-                System.err.println("Ant knows it is a link? " + FileUtils.getFileUtils().isSymbolicLink(dir,
"ThisIsALink"));
+                System.err.println("Ant knows it is a link? " + SymbolicLinkUtils.getSymbolicLinkUtils().isSymbolicLink(dir,
"ThisIsALink"));
 
                 DirectoryScanner ds = new DirectoryScanner();
 

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java?rev=702350&r1=702349&r2=702350&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java
(original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java
Mon Oct  6 22:35:58 2008
@@ -33,7 +33,7 @@
 
 import org.apache.tools.ant.BuildFileTest;
 import org.apache.tools.ant.Project;
-import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.util.SymbolicLinkUtils;
 
 /**
  * Test cases for the Symlink task. Link creation, link deletion, recording
@@ -182,53 +182,53 @@
         }
     }
 
-    public void testFileUtilsMethods() throws Exception {
+    public void testSymbolicLinkUtilsMethods() throws Exception {
         if (supportsSymlinks) {
             executeTarget("test-fileutils");
-            FileUtils fu = FileUtils.getFileUtils();
+            SymbolicLinkUtils su = SymbolicLinkUtils.getSymbolicLinkUtils();
 
             java.io.File f = getProject().resolveFile("test-working/file1");
             assertTrue(f.exists());
             assertFalse(f.isDirectory());
             assertTrue(f.isFile());
-            assertFalse(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isSymbolicLink(f.getParentFile(),
+            assertFalse(su.isSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isSymbolicLink(f.getParentFile(),
                                           f.getName()));
-            assertFalse(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isDanglingSymbolicLink(f.getParentFile(),
                                                   f.getName()));
 
             f = getProject().resolveFile("test-working/dir1");
             assertTrue(f.exists());
             assertTrue(f.isDirectory());
             assertFalse(f.isFile());
-            assertFalse(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isSymbolicLink(f.getParentFile(),
+            assertFalse(su.isSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isSymbolicLink(f.getParentFile(),
                                           f.getName()));
-            assertFalse(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isDanglingSymbolicLink(f.getParentFile(),
                                                   f.getName()));
 
             f = getProject().resolveFile("test-working/file2");
             assertFalse(f.exists());
             assertFalse(f.isDirectory());
             assertFalse(f.isFile());
-            assertFalse(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isSymbolicLink(f.getParentFile(),
+            assertFalse(su.isSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isSymbolicLink(f.getParentFile(),
                                           f.getName()));
-            assertFalse(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isDanglingSymbolicLink(f.getParentFile(),
                                                   f.getName()));
 
             f = getProject().resolveFile("test-working/dir2");
             assertFalse(f.exists());
             assertFalse(f.isDirectory());
             assertFalse(f.isFile());
-            assertFalse(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isSymbolicLink(f.getParentFile(),
+            assertFalse(su.isSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isSymbolicLink(f.getParentFile(),
                                           f.getName()));
-            assertFalse(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isDanglingSymbolicLink(f.getParentFile(),
                                                   f.getName()));
 
 
@@ -236,44 +236,44 @@
             assertTrue(f.exists());
             assertFalse(f.isDirectory());
             assertTrue(f.isFile());
-            assertTrue(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertTrue(fu.isSymbolicLink(f.getParentFile(),
+            assertTrue(su.isSymbolicLink(f.getAbsolutePath()));
+            assertTrue(su.isSymbolicLink(f.getParentFile(),
                                          f.getName()));
-            assertFalse(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isDanglingSymbolicLink(f.getParentFile(),
                                                   f.getName()));
 
             f = getProject().resolveFile("test-working/dir.there");
             assertTrue(f.exists());
             assertTrue(f.isDirectory());
             assertFalse(f.isFile());
-            assertTrue(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertTrue(fu.isSymbolicLink(f.getParentFile(),
+            assertTrue(su.isSymbolicLink(f.getAbsolutePath()));
+            assertTrue(su.isSymbolicLink(f.getParentFile(),
                                          f.getName()));
-            assertFalse(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isDanglingSymbolicLink(f.getParentFile(),
                                                   f.getName()));
 
             f = getProject().resolveFile("test-working/file.notthere");
             assertFalse(f.exists());
             assertFalse(f.isDirectory());
             assertFalse(f.isFile());
-            assertFalse(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isSymbolicLink(f.getParentFile(),
+            assertFalse(su.isSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isSymbolicLink(f.getParentFile(),
                                           f.getName()));
-            assertTrue(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertTrue(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertTrue(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertTrue(su.isDanglingSymbolicLink(f.getParentFile(),
                                                  f.getName()));
 
             f = getProject().resolveFile("test-working/dir.notthere");
             assertFalse(f.exists());
             assertFalse(f.isDirectory());
             assertFalse(f.isFile());
-            assertFalse(fu.isSymbolicLink(null, f.getAbsolutePath()));
-            assertFalse(fu.isSymbolicLink(f.getParentFile(),
+            assertFalse(su.isSymbolicLink(f.getAbsolutePath()));
+            assertFalse(su.isSymbolicLink(f.getParentFile(),
                                           f.getName()));
-            assertTrue(fu.isDanglingSymbolicLink(null, f.getAbsolutePath()));
-            assertTrue(fu.isDanglingSymbolicLink(f.getParentFile(),
+            assertTrue(su.isDanglingSymbolicLink(f.getAbsolutePath()));
+            assertTrue(su.isDanglingSymbolicLink(f.getParentFile(),
                                                  f.getName()));
 
         }



Mime
View raw message