Example usage for javax.servlet.jsp.el Expression evaluate

List of usage examples for javax.servlet.jsp.el Expression evaluate

Introduction

In this page you can find the example usage for javax.servlet.jsp.el Expression evaluate.

Prototype

public abstract Object evaluate(VariableResolver vResolver) throws ELException;

Source Link

Document

Evaluates an expression that was previously prepared.

Usage

From source file:io.undertow.test.jsp.expression.ExpressionJspTestCase.java

public static void evaluate(JspWriter out, PageContext pc, String qualifiedMethodExpression,
        String unqualifiedMethodExpression, String variableExpression) throws Exception {
    assert pc != null;
    TSFunctionMapper mapper = new TSFunctionMapper();
    ExpressionEvaluator eval = pc.getExpressionEvaluator();
    VariableResolver resolver = pc.getVariableResolver();
    assert eval != null : "Unable to obtain ExpressionEvaluator";
    Expression expr = eval.parseExpression(qualifiedMethodExpression, java.lang.String.class, mapper);
    assert expr != null;
    String result = (String) expr.evaluate(resolver);
    if (result != null) {
        if (result.equals("string")) {
            Expression expr2 = eval.parseExpression(variableExpression, javax.servlet.jsp.PageContext.class,
                    null);/*from  w  w w . j a v  a  2 s . co m*/
            if (expr2 != null) {
                PageContext pageContext = (PageContext) expr2.evaluate(resolver);
                if (pageContext != pc) {
                    out.println("Test FAILED.  Resolution didn't return expected value.");
                    out.println("PageContext returned is not the same instance as expected.");
                }
                Expression expr3 = eval.parseExpression(unqualifiedMethodExpression, java.lang.String.class,
                        mapper);
                if (expr3 != null) {
                    result = (String) expr3.evaluate(resolver);
                    if (result != null) {
                        if (result.equals("string")) {
                            out.println("Test PASSED");
                        } else {
                            out.println("Test FAILED. (l3) Expression evaluation returned unexpected value.");
                            out.println("Expected 'string', received '" + result + "'");
                        }
                    } else {
                        out.println("Test FAILED.  (l3) Expression evaluation returned null.");
                    }
                } else {
                    out.println("Test FAILED. (l3) ExpressionEvaluator.parseExpression" + " returned null.");
                }
            } else {
                out.println("Test FAILED. (l2) ExpressionEvaluator returned null.");
            }
        } else {
            out.println("Test FAILED.  (l1) Expression evaluation returned unexpected result.");
            out.println("Expected 'string', Received '" + result + "'");
        }
    } else {
        out.println("Test FAILED. (l1) Expression evaluation returned null.");
    }

}

From source file:gov.nih.nci.cabig.caaers.utils.el.EL.java

public String evaluate(String input) {
    try {/*from  w ww . j  a v  a  2s  . co m*/
        StringReader rdr = new StringReader(input);
        ELParser parser = new ELParser(rdr);
        Object result = parser.ExpressionString();

        if (result instanceof String) {
            return (String) result;
        } else if (result instanceof Expression) {
            Expression expr = (Expression) result;
            result = expr.evaluate(this.resolver);
            return result == null ? null : result.toString();
        } else if (result instanceof ExpressionString) {
            Expression expr = (Expression) result;
            result = expr.evaluate(this.resolver);
            return result == null ? null : result.toString();
        } else if (result instanceof BinaryOperatorExpression) {
            BinaryOperatorExpression expr = (BinaryOperatorExpression) result;
            result = expr.evaluate(this.resolver, this.mapper, null);
            return result.toString();
        } else if (result instanceof BooleanLiteral) {
            BooleanLiteral expr = (BooleanLiteral) result;
            result = expr.evaluate(this.resolver, this.mapper, null);
            return result.toString();
        } else {
            System.out.println("Incorrect type returned; not String, Expression or ExpressionString");
            return "";
        }
    } catch (ParseException pe) {
        throw new RuntimeException("ParseException thrown: " + pe.getMessage(), pe);
    } catch (ELException ele) {
        throw new RuntimeException("ELException thrown: " + ele.getMessage(), ele);
    }
}