Revision 44752 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/dataaccess/SelectFunction.java

View differences:

SelectFunction.java
31 31
import org.apache.commons.lang3.tuple.ImmutablePair;
32 32
import org.apache.commons.lang3.tuple.Pair;
33 33
import org.gvsig.expressionevaluator.Code;
34
import org.gvsig.expressionevaluator.Code.Caller;
35 34
import org.gvsig.expressionevaluator.CodeBuilder;
36 35
import org.gvsig.expressionevaluator.Codes;
37 36
import static org.gvsig.expressionevaluator.ExpressionBuilder.FUNCTION_GETATTR;
......
56 55
import org.gvsig.fmap.dal.feature.FeatureStore;
57 56
import org.gvsig.fmap.dal.impl.expressionevaluator.DefaultExpressionEvaluator;
58 57
import org.gvsig.tools.exception.BaseException;
58
import org.gvsig.expressionevaluator.Code.Callable;
59 59

  
60 60
/**
61 61
 *
......
115 115
  private static final int LIMIT = 5;
116 116
  
117 117
  
118
  private Caller getTupleOrNull(Codes args, int argn) {
118
  private Callable getTupleOrNull(Codes args, int argn) {
119 119
    Code code = args.get(argn);
120 120
    if( code.code()==Code.CONSTANT ) {
121 121
      if( ((Code.Constant)code).value()!=null ) {
......
123 123
      }
124 124
      return null;
125 125
    }
126
    if( code.code()!=Code.CALLER ) {
126
    if( code.code()!=Code.CALLABLE ) {
127 127
      throw new ExpressionRuntimeException("Tupple or null expected in argument "+argn+ " of function '" + FUNCTION_SELECT + "'.");
128 128
    }
129
    Caller caller = (Caller) code;
129
    Callable caller = (Callable) code;
130 130
    if( !StringUtils.equalsIgnoreCase(FUNCTION_TUPLE, caller.name()) ) {
131 131
      throw new ExpressionRuntimeException("Tupple or null expected in argument "+argn+ " of function '" + FUNCTION_SELECT + "'.");
132 132
    }
......
140 140
    Code columns = getTupleOrNull(args, COLUMNS);
141 141
    Code where = args.get(WHERE);
142 142
    Number limit = (Number) getObject(interpreter, args, LIMIT);
143
    Caller order = getTupleOrNull(args, ORDER);
144
    Caller order_mode = getTupleOrNull(args, ORDER_MODE);
143
    Callable order = getTupleOrNull(args, ORDER);
144
    Callable order_mode = getTupleOrNull(args, ORDER_MODE);
145 145
    
146 146
    FeatureQueryOrder queryOrder = null;
147 147
    if( order!=null || order_mode!=null ) {
......
206 206
      CodeBuilder codeBuilder = ExpressionUtils.createCodeBuilder();
207 207
      where.accept((Object o) -> {
208 208
        Code code = (Code) o;
209
        if( code!=null && code.code() == Code.CALLER ) {
210
          Code.Caller caller = (Code.Caller) code;
209
        if( code!=null && code.code() == Code.CALLABLE ) {
210
          Code.Callable caller = (Code.Callable) code;
211 211
          if( StringUtils.equalsIgnoreCase(caller.name(),FUNCTION_GETATTR) ) {
212 212
            Codes args = caller.parameters();
213 213
            Code arg0 = args.get(0);
......
243 243
  }
244 244

  
245 245
  @Override
246
  public Code optimize(Optimizer optimizer, Caller caller) {
246
  public Code optimize(Optimizer optimizer, Callable caller) {
247 247
    return caller; // Don't optimize SELECT
248 248
  }
249 249

  

Also available in: Unified diff