Revision 44304 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.h2/src/main/java/org/gvsig/fmap/dal/store/h2/expressionbuilderformatter/ILike.java

View differences:

ILike.java
24 24
    }
25 25
    @Override
26 26
    public boolean canApply(ExpressionBuilder.Value value) {
27
        if (value instanceof ExpressionBuilder.Function) {
28
            return StringUtils.equalsIgnoreCase(ExpressionBuilder.OPERATOR_ILIKE, ((Function) value).name());
27
        if (value instanceof ExpressionBuilder.BinaryOperator) {
28
            return StringUtils.equalsIgnoreCase(ExpressionBuilder.OPERATOR_ILIKE, ((ExpressionBuilder.BinaryOperator) value).name());
29 29
        }
30 30
        return false;
31 31
    }
32 32

  
33 33
    @Override
34
    public String format(Value function) {
35
        List<Value> parameters = ((Function) function).parameters();
36
        String p1 = parameters.get(0).toString(formatter);
37
        String p2 = parameters.get(1).toString(formatter);
34
    public String format(Value value) {
35
        ExpressionBuilder.BinaryOperator operator = (ExpressionBuilder.BinaryOperator) value;
36
        String p1 = operator.left().toString(formatter);
37
        String p2 = operator.right().toString(formatter);
38 38
        String r = MessageFormat.format("(lcase({0}) like lcase({1}))", p1, p2);
39 39
        return r;
40 40
    }

Also available in: Unified diff