Hi Antonio I answered this on the Jira ticket - so that details of the change and conversation is in the same place - I'm hoping someone else who knows more about this will jump in and give you a better answer
https://issues.apache.org/jira/browse/IO-128 Niall On 10/13/07, Antonio Gallardo <[EMAIL PROTECTED]> wrote: > Hi Niall, > > Thanks for taking care of the issue, however it is not clear to me from > the javadocs that we should expect an IllegalArgumentException returning > from equalsNormalizedOnSystem(). IMHO, it states it calls first the > normalize() and based on the javadocs of normalize(), it should silently > fix, the link. On the javados, there is: > > //foo/.//bar --> /foo/bar > > Hence a user could assume that > > //file.txt --> /file.txt and not an IllegalArgumentException > > Is that correct? > > Many thanks in advance for your reply. > > Best Regards, > > Antonio Gallardo. > > > > [EMAIL PROTECTED] escribió: > > Author: niallp > > Date: Fri Oct 12 16:36:12 2007 > > New Revision: 584325 > > > > URL: http://svn.apache.org/viewvc?rev=584325&view=rev > > Log: > > IO-128 - currently file name "normalization" errors in the equals method > > causes a mis-leading NullPointerException. Adding a check for this and > > throwing an IllegalArgumentException with a better message should improve > > the user experience. > > > > Modified: > > > > commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java > > > > commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java > > > > Modified: > > commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java > > URL: > > http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java?rev=584325&r1=584324&r2=584325&view=diff > > ============================================================================== > > --- > > commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java > > (original) > > +++ > > commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java > > Fri Oct 12 16:36:12 2007 > > @@ -977,6 +977,10 @@ > > if (normalized) { > > filename1 = normalize(filename1); > > filename2 = normalize(filename2); > > + if (filename1 == null || filename2 == null) { > > + throw new IllegalArgumentException( > > + "Error normalizing one or both of the file names"); > > + } > > } > > if (caseSensitivity == null) { > > caseSensitivity = IOCase.SENSITIVE; > > > > Modified: > > commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java > > URL: > > http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java?rev=584325&r1=584324&r2=584325&view=diff > > ============================================================================== > > --- > > commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java > > (original) > > +++ > > commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java > > Fri Oct 12 16:36:12 2007 > > @@ -784,6 +784,30 @@ > > assertEquals(false, FilenameUtils.equalsNormalizedOnSystem("a/b/", > > "a/b")); > > } > > > > + /** > > + * Test for https://issues.apache.org/jira/browse/IO-128 > > + */ > > + public void testEqualsNormalizedError_IO_128() { > > + try { > > + FilenameUtils.equalsNormalizedOnSystem("//file.txt", > > "file.txt"); > > + fail("Invalid normalized first file"); > > + } catch(IllegalArgumentException e) { > > + // expected result > > + } > > + try { > > + FilenameUtils.equalsNormalizedOnSystem("file.txt", > > "//file.txt"); > > + fail("Invalid normalized second file"); > > + } catch(IllegalArgumentException e) { > > + // expected result > > + } > > + try { > > + FilenameUtils.equalsNormalizedOnSystem("//file.txt", > > "//file.txt"); > > + fail("Invalid normalized both filse"); > > + } catch(IllegalArgumentException e) { > > + // expected result > > + } > > + } > > + > > public void testEquals_fullControl() { > > assertEquals(false, FilenameUtils.equals("file.txt", "FILE.TXT", > > true, IOCase.SENSITIVE)); > > assertEquals(true, FilenameUtils.equals("file.txt", "FILE.TXT", > > true, IOCase.INSENSITIVE)); > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]