Hi at all,

I found a bug which I think is a jsf problem rather than for ExtVal, but since 
the code refers to https://issues.apache.org/jira/browse/EXTVAL-102 I would 
like you to check it too:

Exception is javax.el.PropertyNotFoundException: 
/resources/parts/partbase.xhtml @23,53 value="#{cc.attrs.child.value}": Target 
Unreachable, 'child' returned null

which occurs in org.apache.myfaces.extensions.validator.core.el.DefaultELHelper

  private void inspectTarget(ValueExpression valueExpression, ELContext 
elContext, boolean inspectCompositeComponent)
    {
        try
        {
            valueExpression.setValue(elContext, null);
        }
        catch (Throwable t)
        {
            if(inspectCompositeComponent)
            {
                throw new IllegalStateException(
                        "error at binding: " + 
valueExpression.getExpressionString() +
                                " -- an el-resolver error occurred! maybe you 
used an invalid binding.", t);
            }
        }
    }

after runnign throug ExtVal-102 code:

public PropertyDetails getPropertyDetailsOfValueBinding(UIComponent uiComponent)
    {
       ...

        //see EXTVAL-102
        if (elResolver.getBaseObject() instanceof 
CompositeComponentExpressionHolder)
        {
            ValueExpression newValueExpression = 
((CompositeComponentExpressionHolder) elResolver.getBaseObject())
                    .getExpression(elResolver.getProperty());

            if (newValueExpression != null)
            {
                elResolver = createWrappedELContext(facesContext);
                inspectTarget(newValueExpression,
                        ExtValELResolver.createContextWrapper(
                                facesContext.getELContext(), elResolver), 
false); --> Exception!
            }
        }


I provided a simple war project containing templates and simple classes (bean 
--> parent class --> child class with string value):
http://www.humyo.de/10453303/TestProject.war?a=W0dLMKgfIko

The problem seems to come from 
com.sun.faces.component.CompositeComponentStackManager.findCompositeComponentUsingLocation(FacesContext,
 Location), where the location of composite components fails for my example.

Thanks.

-- 
E-Cards: Schon fertig für die ganz Eiligen oder individuell zum Selbstgestalten 
- für jeden Anlass gibt´s die richtige E-Card auf arcor.de.
http://www.arcor.de/rd/footer.ecard

Reply via email to