Revision 44191 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/AddOperator.java

View differences:

AddOperator.java
1 1
package org.gvsig.expressionevaluator.impl.function.operator;
2 2

  
3
import java.util.Objects;
3 4
import org.gvsig.expressionevaluator.Code;
4 5
import org.gvsig.expressionevaluator.Code.Caller;
5 6
import org.gvsig.expressionevaluator.Code.Constant;
7
import org.gvsig.expressionevaluator.ExpressionRuntimeException;
6 8
import org.gvsig.expressionevaluator.Function;
7 9
import org.gvsig.expressionevaluator.Interpreter;
8 10
import org.gvsig.expressionevaluator.Optimizer;
9 11
import org.gvsig.expressionevaluator.Optimizer.FunctionOptimizer;
12
import org.gvsig.expressionevaluator.impl.I18N;
10 13

  
11 14
public class AddOperator 
12 15
        extends AbstractBinaryOperator 
......
43 46
            int value = ((Number) op1).intValue()+ ((Number) op2).intValue();
44 47
            return value;
45 48
        }
49
        if( (type & TYPE_STRING) == TYPE_STRING ) {
50
            if( interpreter.isSQLCompatible() ) {
51
                throw new ExpressionRuntimeException(
52
                        null, 
53
                        "The '"+name()+"' operator can not be used with string operands", 
54
                        I18N.Use_the_operator_CONCAT_to_concatenate_strings()
55
                );
56
            }
57
            return Objects.toString(op1, "")+Objects.toString(op2, "");
58
        }
46 59
        throw new IllegalArgumentException("Types not allowed in '"+name()+"' operand.");
47 60
    }
48 61

  

Also available in: Unified diff