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/EqOperator.java

View differences:

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

Also available in: Unified diff