$bean syntax for validators: binding prefix is broken
-----------------------------------------------------

         Key: TAPESTRY-610
         URL: http://issues.apache.org/jira/browse/TAPESTRY-610
     Project: Tapestry
        Type: Bug
  Components: Framework  
    Versions: 4.0    
 Environment: beta-5
 Reporter: Howard M. Lewis Ship
    Priority: Critical


The validators: prefix accesses the page's engine property before it is set:

    public BeanProvider(IComponent component)
    {
        _component = component;
        IEngine engine = component.getPage().getEngine();
        _resolver = engine.getClassResolver();

        if (LOG.isDebugEnabled())
            LOG.debug("Created BeanProvider for " + component);

    }

Stack Trace:

    * org.apache.tapestry.bean.BeanProvider.<init>(BeanProvider.java:94)
    * org.apache.tapestry.AbstractComponent.getBeans(AbstractComponent.java:575)
    * 
org.apache.tapestry.form.validator.ValidatorFactoryImpl.extractValidatorBean(ValidatorFactoryImpl.java:160)
    * 
org.apache.tapestry.form.validator.ValidatorFactoryImpl.buildValidator(ValidatorFactoryImpl.java:117)
    * 
org.apache.tapestry.form.validator.ValidatorFactoryImpl.constructValidatorList(ValidatorFactoryImpl.java:100)
    * 
$ValidatorFactory_106027f579f.constructValidatorList($ValidatorFactory_106027f579f.java)
    * 
org.apache.tapestry.form.validator.ValidatorsBindingFactory.createBinding(ValidatorsBindingFactory.java:39)
    * 
$BindingFactory_106027f5764.createBinding($BindingFactory_106027f5764.java)
    * 
org.apache.tapestry.services.impl.BindingSourceImpl.createBinding(BindingSourceImpl.java:78)
    * $BindingSource_106027f565d.createBinding($BindingSource_106027f565d.java)
    * org.apache.tapestry.pageload.PageLoader.convert(PageLoader.java:335)
    * org.apache.tapestry.pageload.PageLoader.bind(PageLoader.java:296)
    * 
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:442)
    * org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:628)
    * $IPageLoader_106027f5702.loadPage($IPageLoader_106027f5702.java)
    * $IPageLoader_106027f5703.loadPage($IPageLoader_106027f5703.java)
    * org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:118)

The validators: prefix needs to resolve bean names to beans *late*, at runtime 
rather than at page-load time.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to