Revision 44218 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/operator/NeOperator.java

View differences:

NeOperator.java
20 20
    
21 21
    @Override
22 22
    public Object call(Interpreter interpreter, Object op1, Object op2) {       
23
        if( op1==op2 ) {
24
            return false;
25
        }
26
        if( op1==null || op2==null ) {
27
            return true;
28
        }
23 29
        int type = this.getType(op1, op2);
24 30
        if( (type & TYPE_DOUBLE) == TYPE_DOUBLE ) {
25 31
            boolean value = MathUtils.compareTo(
......
37 43
            ) != 0;
38 44
            return value;
39 45
        }
40
        if( (type & TYPE_LONG) == TYPE_LONG ) {
41
            boolean value = ((Number) op1).longValue() != ((Number) op2).longValue();
42
            return value;
43
        }
44
        if( (type & TYPE_INT) == TYPE_INT ) {
45
            boolean value = ((Number) op1).intValue() != ((Number) op2).intValue();
46
            return value;
47
        }        
48 46
        if( op2 instanceof Comparable && op2 instanceof Comparable ) {
49
            boolean value = ObjectUtils.compare((Comparable)op1,(Comparable)op2) != 0;
47
            // boolean value = ObjectUtils.compare((Comparable)op1,(Comparable)op2) != 0;
48
            boolean value =   ((Comparable)op1).compareTo((Comparable)op2) != 0;
50 49
            return value;
51 50
        }
52 51
        throw new IllegalArgumentException("Types not allowed in '"+name()+"' operand.");

Also available in: Unified diff