Revision 2310

View differences:

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
2 2

  
3 3
import javax.swing.tree.TreeModel;
4 4
import org.apache.commons.io.FilenameUtils;
5
import org.apache.commons.io.IOCase;
5 6
import org.apache.commons.lang3.StringUtils;
6 7
import org.gvsig.tools.swing.api.FilteredModel.FilterFunction;
7 8

  
......
11 12
 */
12 13
public class TreeModelRecursiveWildcarMatchFilter implements FilterFunction {
13 14

  
15
  FilteredTreeModel  filteredTreeModel; 
16
  public TreeModelRecursiveWildcarMatchFilter (FilteredTreeModel filteredTreeModel) {
17
      this.filteredTreeModel = filteredTreeModel;
18
  }
19

  
14 20
  @Override
15 21
  public boolean test(Object model, Object node, String filter) {
16 22
        if ( node==null ) {
......
19 25
        if ( StringUtils.isBlank(filter) ) {
20 26
            return true;
21 27
        }
22
        String nodeString = node.toString().toUpperCase();
23
        boolean matches = FilenameUtils.wildcardMatch(nodeString, filter);
28
        String nodeString = node.toString();
29
        IOCase caseSensitive;
30
        if (this.filteredTreeModel.isCaseSensitive()) {
31
            caseSensitive = IOCase.SENSITIVE;
32
        } else {
33
            caseSensitive = IOCase.INSENSITIVE;
34
        }
35
        boolean matches = FilenameUtils.wildcardMatch(nodeString, filter, caseSensitive);
24 36

  
25 37
        int childCount = ((TreeModel)model).getChildCount(node);
26 38
        for (int i = 0; i < childCount; i++) {
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/FilteredTreeModelImpl.java
23 23

  
24 24
    public FilteredTreeModelImpl(final TreeModel treeModel) {
25 25
        this.treeModel = treeModel;
26
        this.filterfn = new TreeModelRecursiveWildcarMatchFilter();
26
        this.filterfn = new TreeModelRecursiveWildcarMatchFilter(this);
27 27
//        this.filterfn = (Object model, Object value, String filter1) -> true;
28 28
    }
29 29

  
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/DefaultFilteredTreeController.java
77 77
    @Override
78 78
    public void setFilter(FilterFunction filter) {
79 79
        if( filter == null ) {
80
            filter = new TreeModelRecursiveWildcarMatchFilter();
80
            filter = new TreeModelRecursiveWildcarMatchFilter(this.getModel());
81 81
        }
82 82
      this.getModel().setFilterFunction(filter);
83 83
    }

Also available in: Unified diff