Search in sources :

Example 1 with CompositeComponentExpressionHolder

use of javax.faces.el.CompositeComponentExpressionHolder in project oxCore by GluuFederation.

the class ValueExpressionAnalyzer method getValueReference.

public ValueReference getValueReference(ELContext elContext) {
    InterceptingResolver resolver = new InterceptingResolver(elContext.getELResolver());
    try {
        expression.setValue(decorateELContext(elContext, resolver), null);
    } catch (ELException ele) {
        return null;
    }
    ValueReference reference = resolver.getValueReference();
    if (reference != null) {
        Object base = reference.getBase();
        if (base instanceof CompositeComponentExpressionHolder) {
            ValueExpression ve = ((CompositeComponentExpressionHolder) base).getExpression((String) reference.getProperty());
            if (ve != null) {
                this.expression = ve;
                reference = getValueReference(elContext);
            }
        }
    }
    return reference;
}
Also used : CompositeComponentExpressionHolder(javax.faces.el.CompositeComponentExpressionHolder) ValueExpression(javax.el.ValueExpression) ELException(javax.el.ELException) ValueReference(javax.el.ValueReference)

Aggregations

ELException (javax.el.ELException)1 ValueExpression (javax.el.ValueExpression)1 ValueReference (javax.el.ValueReference)1 CompositeComponentExpressionHolder (javax.faces.el.CompositeComponentExpressionHolder)1