Revision 2350 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.api/src/main/java/org/gvsig/tools/swing/api/TreeModelRecursiveWildcarMatchFilter.java
TreeModelRecursiveWildcarMatchFilter.java | ||
---|---|---|
1 | 1 |
package org.gvsig.tools.swing.api; |
2 | 2 |
|
3 | 3 |
import javax.swing.tree.TreeModel; |
4 |
import org.apache.commons.io.FilenameUtils; |
|
5 |
import org.apache.commons.io.IOCase; |
|
6 | 4 |
import org.apache.commons.lang3.StringUtils; |
7 | 5 |
import org.gvsig.tools.swing.api.FilteredModel.FilterFunction; |
6 |
import org.gvsig.tools.util.CompareUtils; |
|
8 | 7 |
|
9 | 8 |
/** |
10 | 9 |
* |
... | ... | |
25 | 24 |
if ( StringUtils.isBlank(filter) ) { |
26 | 25 |
return true; |
27 | 26 |
} |
27 |
boolean matches; |
|
28 | 28 |
String nodeString = node.toString(); |
29 |
IOCase caseSensitive; |
|
30 | 29 |
if (this.filteredTreeModel.isCaseSensitive()) { |
31 |
caseSensitive = IOCase.SENSITIVE;
|
|
30 |
matches = CompareUtils.matchCaseAndAccentsSensitive(nodeString, filter);
|
|
32 | 31 |
} else { |
33 |
caseSensitive = IOCase.INSENSITIVE;
|
|
32 |
matches = CompareUtils.match(nodeString, filter);
|
|
34 | 33 |
} |
35 |
boolean matches = FilenameUtils.wildcardMatch(nodeString, filter, caseSensitive); |
|
36 |
|
|
37 | 34 |
int childCount = ((TreeModel)model).getChildCount(node); |
38 | 35 |
for (int i = 0; i < childCount; i++) { |
39 | 36 |
Object child = ((TreeModel)model).getChild(node, i); |
Also available in: Unified diff