Revision 2753

View differences:

org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/util/CompareUtils.java
38 38
            return StringUtils.compareIgnoreCase(o1.toString(), o2.toString());
39 39
        }
40 40
    };
41
    
41

  
42 42
    public static abstract class NullSafeComparator<T> implements Comparator<T> {
43 43

  
44 44
        private final boolean nullIsLess;
......
91 91
        if (c2 == null) {
92 92
            return nullIsLess ? 1 : - 1;
93 93
        }
94
        return comparator.compare(c1, c2);        
94
        if( comparator!=null ) {
95
            return comparator.compare(c1, c2);        
96
        }
97
        if( c1 instanceof Comparable && c2 instanceof Comparable ) {
98
            return ((Comparable)c1).compareTo(((Comparable)c2));
99
        }
100
        return EQUALS_IGNORECASE_COMPARATOR.compare(c1, c2);
95 101
    }
96 102
    
97 103
    public static int compare(Comparable c1, Comparable c2, boolean nullIsLess) {

Also available in: Unified diff