Author: sebb
Date: Sun Apr 7 23:10:05 2013
New Revision: 1465505
URL: http://svn.apache.org/r1465505
Log:
IO-375 FilenameUtils.splitOnTokens(String text) check for '**' could be
simplified
Modified:
commons/proper/io/trunk/src/changes/changes.xml
commons/proper/io/trunk/src/main/java/org/apache/commons/io/FilenameUtils.java
commons/proper/io/trunk/src/test/java/org/apache/commons/io/FilenameUtilsWildcardTestCase.java
Modified: commons/proper/io/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/changes/changes.xml?rev=1465505&r1=1465504&r2=1465505&view=diff
==============================================================================
--- commons/proper/io/trunk/src/changes/changes.xml (original)
+++ commons/proper/io/trunk/src/changes/changes.xml Sun Apr 7 23:10:05 2013
@@ -47,7 +47,10 @@ The <action> type attribute can be add,u
<body>
<!-- The release date is the date RC is cut -->
<release version="2.5" date="2013-??-??" description="New features and bug
fixes.">
- <action issue="IO-374" dev="sebb" type="fix">
+ <action issue="IO-375" dev="sebb" type="update">
+ FilenameUtils.splitOnTokens(String text) check for '**' could be
simplified
+ </action>
+ <action issue="IO-374" dev="sebb" type="update">
WildcardFileFilter ctors should not use null to mean IOCase.SENSITIVE
when delegating to other ctors
</action>
<action issue="IO-362" dev="ggregory" type="fix" due-to="mmadson,
ggregory">
Modified:
commons/proper/io/trunk/src/main/java/org/apache/commons/io/FilenameUtils.java
URL:
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/main/java/org/apache/commons/io/FilenameUtils.java?rev=1465505&r1=1465504&r2=1465505&view=diff
==============================================================================
---
commons/proper/io/trunk/src/main/java/org/apache/commons/io/FilenameUtils.java
(original)
+++
commons/proper/io/trunk/src/main/java/org/apache/commons/io/FilenameUtils.java
Sun Apr 7 23:10:05 2013
@@ -1375,6 +1375,7 @@ public class FilenameUtils {
final char[] array = text.toCharArray();
final ArrayList<String> list = new ArrayList<String>();
final StringBuilder buffer = new StringBuilder();
+ char prevChar = 0;
for (int i = 0; i < array.length; i++) {
final char ch = array[i];
if (ch == '?' || ch == '*') {
@@ -1384,13 +1385,13 @@ public class FilenameUtils {
}
if (ch == '?') {
list.add("?");
- } else if (list.isEmpty() || // ch == '*' here; check if
previous char was '*'
- i > 0 && list.get(list.size() - 1).equals("*") ==
false) {
+ } else if (prevChar != '*' ) {// ch == '*' here; check if
previous char was '*'
list.add("*");
}
} else {
buffer.append(ch);
}
+ prevChar = ch;
}
if (buffer.length() != 0) {
list.add(buffer.toString());
Modified:
commons/proper/io/trunk/src/test/java/org/apache/commons/io/FilenameUtilsWildcardTestCase.java
URL:
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/FilenameUtilsWildcardTestCase.java?rev=1465505&r1=1465504&r2=1465505&view=diff
==============================================================================
---
commons/proper/io/trunk/src/test/java/org/apache/commons/io/FilenameUtilsWildcardTestCase.java
(original)
+++
commons/proper/io/trunk/src/test/java/org/apache/commons/io/FilenameUtilsWildcardTestCase.java
Sun Apr 7 23:10:05 2013
@@ -123,6 +123,7 @@ public class FilenameUtilsWildcardTestCa
assertArrayEquals( new String[] { "*" },
FilenameUtils.splitOnTokens("****") );
assertArrayEquals( new String[] { "*", "?", "?", "*" },
FilenameUtils.splitOnTokens("*??*") );
assertArrayEquals( new String[] { "*", "?", "*", "?", "*" },
FilenameUtils.splitOnTokens("*?**?*") );
+ assertArrayEquals( new String[] { "*", "?", "*", "?", "*" },
FilenameUtils.splitOnTokens("*?***?*") );
assertArrayEquals( new String[] { "h", "?", "?", "*" },
FilenameUtils.splitOnTokens("h??*") );
assertArrayEquals( new String[] { "" },
FilenameUtils.splitOnTokens("") );
}