Revision 47575

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/expressionbuilder/formatters/$Constant.java
103 103
        } 
104 104
        throw new RuntimeException("Expected constant value or $$CONSTANT function ("+Objects.toString(value)+").");
105 105
    }
106

  
107
    public static ExpressionBuilder.Constant resolveAsConstant(SQLBuilder sqlbuilder, Formatter<Value> formatter, Value value) {
108
		GeometryExpressionBuilder builder = sqlbuilder.expression();
109
        if( value instanceof ExpressionBuilder.Constant) {
110
            Object x = ((ExpressionBuilder.Constant)value).value();
111
            return builder.constant(x);
112
        } else if( value instanceof ExpressionBuilder.Function && 
113
                StringUtils.equalsIgnoreCase(((ExpressionBuilder.Function)value).name(),FUNCTION_$CONSTANT) ) {
114
            SymbolTable symbolTable = (SymbolTable) value.getProperty(PROP_SYMBOLTABLE);
115
            Object x = ExpressionUtils.evaluate(symbolTable, value.toString());
116
            return builder.constant(x);
117
        } 
118
        throw new RuntimeException("Expected constant value or $$CONSTANT function ("+Objects.toString(value)+").");
119
    }
106 120
}

Also available in: Unified diff