Revision 44748 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/Decode.java

View differences:

Decode.java
3 3
import java.util.List;
4 4
import java.util.Objects;
5 5
import org.apache.commons.lang3.StringUtils;
6
import org.apache.commons.lang3.tuple.Pair;
6 7
import org.gvsig.expressionevaluator.ExpressionBuilder;
7 8
import static org.gvsig.expressionevaluator.ExpressionBuilder.FUNCTION_DECODE;
8 9
import org.gvsig.expressionevaluator.ExpressionBuilder.Function;
......
28 29
    public boolean canApply(ExpressionBuilder.Value value) {
29 30
        if (value instanceof ExpressionBuilder.Function) {
30 31
            if( StringUtils.equalsIgnoreCase(FUNCTION_DECODE, ((Function) value).name()) ) {
31
                List<Value> parameters = ((Function) value).parameters();
32
                List<Pair<String,Value>> parameters = ((Function) value).parameters();
32 33
                if( parameters.size()==2) {
33
                    Value p1 = parameters.get(0);
34
                    Value p2 = parameters.get(1);
34
                    Value p1 = parameters.get(0).getValue();
35
                    Value p2 = parameters.get(1).getValue();
35 36
                    if( p1 instanceof ExpressionBuilder.Constant && 
36 37
                        p2 instanceof ExpressionBuilder.Constant &&
37 38
                        ((ExpressionBuilder.Constant)p1).value() instanceof String &&
......
51 52

  
52 53
    @Override
53 54
    public String format(Value function) {
54
        List<Value> parameters = ((Function) function).parameters();
55
        Value p1 = parameters.get(0);
55
        List<Pair<String,Value>> parameters = ((Function) function).parameters();
56
        Value p1 = parameters.get(0).getValue();
56 57
        String p1value = Objects.toString(((ExpressionBuilder.Constant)p1).value(), "");
57 58
        String r = "X'"+p1value+"'";
58 59
        return r;

Also available in: Unified diff