expression.patch

Antonio Falciano, 01/13/2015 07:21 PM

Download (1.56 KB)

View differences:

src/main/java/org/gvsig/expressionfield/project/documents/table/gui/EvalExpressionDialog.java (copia locale)
312 312
        return this.acceptCancel;
313 313
    }
314 314

  
315
    private String replaceFields(String expression) {
316
        // String s = expression.replaceAll("\\[","field(\"").replaceAll("\\]","\")");
317
        String s = expression;
318

  
319
        JList list = getListFields();
320
        ListOperatorsModel model = (ListOperatorsModel) list.getModel();
321
        for ( int i = 0; i < model.getSize(); i++ ) {
322
            Field f = (Field) model.getElementAt(i);
323
            s = s.replaceAll(f.toString(), "field(\"" + f.getName() + "\")");
324
        }
325
        return s;
326
    }
327

  
328 315
    /**
329 316
     * Evaluate the expression.
330 317
     *
......
342 329
            logger.warn("Can't apply enconding ("+encoding+").",e);
343 330
        }
344 331
        
345
//        expression = expression.replaceAll("\\[", "field(\"").replaceAll("\\]", "\")");
346
        expression = replaceFields(expression);
332
        expression = expression.replaceAll("\\[", "field(\"").replaceAll("\\]", "\")");
347 333
        
348 334
        interpreter.declareBean("evalExpression", evalExpression, EvalExpression.class);
349 335
        interpreter.exec(ExpressionFieldExtension.JYTHON, null, -1, -1, "def expression():\n"