You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Julien Martin <ba...@gmail.com> on 2011/10/22 14:50:03 UTC

Render queue error in BeginRender

Hello,

I have rephrased my previous post into this new one.

I have the following t5 template:

    <form t:type="form" t:id="childminderRegistrationForm"
validate="childminderAccount" clientValidation="none">
        <div>
            <t:errors/>
        </div>
        <div>
            <label t:type="label" for="accountEmailAddress"/>
            <input t:type="textfield" t:id="accountEmailAddress"
name="accountEmailAddress"  value="childminderAccount.accountEmailAddress"/>
        </div>
        <div>
            <label t:type="label" for="accountFirstName"/>
            <input t:type="textfield" t:id="accountFirstName"
value="childminderAccount.accountFirstName"/>
        </div>
        <div>
            <label t:type="label" for="accountLastName"/>
            <input t:type="textfield" t:id="accountLastName"
value="childminderAccount.accountLastName"/>
        </div>
        <div>
            <label t:type="label" for="accountPassword"/>
            <input t:type="textfield" t:id="accountPassword"
value="childminderAccount.accountPassword"/>
        </div>
        <div>
            <label t:type="label" for="accountPasswordConfirmation"/>
            <input t:type="textfield" t:id="accountPasswordConfirmation"
value="accountPasswordConfirmation" validate="required"/>
        </div>
        <div>
            <label t:type="label" for="postcode"/>
            <input t:type="textfield" t:id="postcode" id="postcode"
name="postcode" size="40"
                   value="childminderAccount.postcodeByPostcodeId"
translate="postcodeTranslator" validate="required"/>
        </div>
        <div>
            <input t:type="select" model="childminderStatusSelectModel"
t:id="childminderStatus"

 value="childminderAccount.childMinderStatusByChildMinderStatusId"
 blankLabel="votre status" blankOption="always" validate="required"/>
        </div>
        <div><input t:type="submit" type="submit" value="ok"/></div>
    </form>

Together with its corresponding java class:

public class InscriptionProfessionnelGardeEnfant {

    @Property @Persist  @Valid
    private ChildminderAccount childminderAccount;

    @Property
    private SelectModel childminderStatusSelectModel;

    @Inject
    private SelectModelFactory selectModelFactory;

    @Property
    @NotNull
    private String accountPasswordConfirmation;

    @Property
    private List<ChildMinderStatus> childMinderStatusList;

    @Inject
    private BignibouService service;

    @InjectComponent
    private Form childminderRegistrationForm;

    @OnEvent(EventConstants.PREPARE_FOR_RENDER)
    void prepare() {
        childminderAccount = new ChildminderAccount();
        childMinderStatusList = service.loadChildminderStatusList();
        childminderStatusSelectModel =
selectModelFactory.create(childMinderStatusList,"childMinderStatusDescription");
    }

    @OnEvent(value = EventConstants.VALIDATE, component =
"childminderRegistrationForm")
    void validateRegistrationForm() {
        if (childminderRegistrationForm.isValid()) {
            if
(accountPasswordConfirmation.equals(childminderAccount.getAccountPassword()))
{
                service.persistChildminderAccount(childminderAccount);
            }
            else {
             childminderRegistrationForm.recordError("passwords must
match");//todo
            }

        } else {
            System.out.println("something went wrong");
            childminderRegistrationForm.recordError("something went
wrong");//todo
        }
    }

    @DiscardAfter
    @OnEvent(EventConstants.SUCCESS)
    void successfulRegistrationForm() {
        System.out.println("success");

    }

}

Upon the first call to the page, I get an IllegalArgument Exception:

2011-10-22 14:40:48,748: ERROR
(org.apache.tapestry5.internal.services.RenderQueueImpl:82) Render queue
error in
BeginRender[InscriptionProfessionnelGardeEnfant:accountemailaddress]: Class
cannot be null
org.apache.tapestry5.ioc.internal.util.TapestryException: Class cannot be
null [at
classpath:com/bignibou/web/pages/InscriptionProfessionnelGardeEnfant.tml,
line 38]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:194)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:246)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:127)
at $PageRenderQueue_1332ba5c1ed.render($PageRenderQueue_1332ba5c1ed.java)
at $PageRenderQueue_1332ba5c1e5.render($PageRenderQueue_1332ba5c1e5.java)
at
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at
org.apache.tapestry5.beanvalidator.BeanValidatorModule$2.renderMarkup(BeanValidatorModule.java:133)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:2026)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:2040)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:2089)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:2073)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:2055)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:2008)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1989)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
$MarkupRenderer_1332ba5c1ec.renderMarkup($MarkupRenderer_1332ba5c1ec.java)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
at
$PageMarkupRenderer_1332ba5c1ea.renderPageMarkup($PageMarkupRenderer_1332ba5c1ea.java)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at
$PageResponseRenderer_1332ba5c13f.renderPageResponse($PageResponseRenderer_1332ba5c13f.java)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
at
org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
at
$PageRenderRequestHandler_1332ba5c141.handle($PageRenderRequestHandler_1332ba5c141.java)
at
$PageRenderRequestHandler_1332ba5c13b.handle($PageRenderRequestHandler_1332ba5c13b.java)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at
$ComponentRequestHandler_1332ba5c13c.handlePageRender($ComponentRequestHandler_1332ba5c13c.java)
at
$ComponentRequestHandler_1332ba5c120.handlePageRender($ComponentRequestHandler_1332ba5c120.java)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_1332ba5c122.dispatch($Dispatcher_1332ba5c122.java)
at $Dispatcher_1332ba5c11d.dispatch($Dispatcher_1332ba5c11d.java)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at $RequestHandler_1332ba5c114.service($RequestHandler_1332ba5c114.java)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at
$HttpServletRequestHandler_1332ba5c116.service($HttpServletRequestHandler_1332ba5c116.java)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at
$HttpServletRequestFilter_1332ba5c113.service($HttpServletRequestFilter_1332ba5c113.java)
at
$HttpServletRequestHandler_1332ba5c116.service($HttpServletRequestHandler_1332ba5c116.java)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
at
$HttpServletRequestHandler_1332ba5c116.service($HttpServletRequestHandler_1332ba5c116.java)
at
$HttpServletRequestHandler_1332ba5c111.service($HttpServletRequestHandler_1332ba5c111.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalArgumentException: Class cannot be null
at org.hibernate.validator.util.Contracts.assertNotNull(Contracts.java:32)
at
org.hibernate.validator.metadata.BeanMetaDataCache.getBeanMetaData(BeanMetaDataCache.java:41)
at
org.hibernate.validator.engine.ValidatorImpl.getBeanMetaData(ValidatorImpl.java:1209)
at
org.hibernate.validator.engine.ValidatorImpl.getConstraintsForClass(ValidatorImpl.java:251)
at
org.apache.tapestry5.internal.beanvalidator.BeanFieldValidator.render(BeanFieldValidator.java:84)
at
org.apache.tapestry5.internal.services.CompositeFieldValidator.render(CompositeFieldValidator.java:45)
at
org.apache.tapestry5.corelib.base.AbstractTextField.begin(AbstractTextField.java:175)
at
org.apache.tapestry5.corelib.base.AbstractTextField$MethodAccess_begin_1332ba5c19d.invoke(AbstractTextField$MethodAccess_begin_1332ba5c19d.java)
at
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
at
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
at
org.apache.tapestry5.corelib.base.AbstractTextField.beginRender(AbstractTextField.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:239)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:186)
... 80 more
2011-10-22 14:40:48,755: ERROR
(org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler:63)
Processing of request failed with uncaught exception: Render queue error in
BeginRender[InscriptionProfessionnelGardeEnfant:accountemailaddress]: Class
cannot be null
org.apache.tapestry5.internal.services.RenderQueueException: Render queue
error in
BeginRender[InscriptionProfessionnelGardeEnfant:accountemailaddress]: Class
cannot be null [at
classpath:com/bignibou/web/pages/InscriptionProfessionnelGardeEnfant.tml,
line 38]
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:84)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:127)
at $PageRenderQueue_1332ba5c1ed.render($PageRenderQueue_1332ba5c1ed.java)
at $PageRenderQueue_1332ba5c1e5.render($PageRenderQueue_1332ba5c1e5.java)
at
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at
org.apache.tapestry5.beanvalidator.BeanValidatorModule$2.renderMarkup(BeanValidatorModule.java:133)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:2026)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:2040)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:2089)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:2073)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:2055)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:2008)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1989)
at
$MarkupRenderer_1332ba5c1ef.renderMarkup($MarkupRenderer_1332ba5c1ef.java)
at
$MarkupRenderer_1332ba5c1ec.renderMarkup($MarkupRenderer_1332ba5c1ec.java)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
at
$PageMarkupRenderer_1332ba5c1ea.renderPageMarkup($PageMarkupRenderer_1332ba5c1ea.java)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at
$PageResponseRenderer_1332ba5c13f.renderPageResponse($PageResponseRenderer_1332ba5c13f.java)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
at
org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
at
$PageRenderRequestHandler_1332ba5c141.handle($PageRenderRequestHandler_1332ba5c141.java)
at
$PageRenderRequestHandler_1332ba5c13b.handle($PageRenderRequestHandler_1332ba5c13b.java)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at
$ComponentRequestHandler_1332ba5c13c.handlePageRender($ComponentRequestHandler_1332ba5c13c.java)
at
$ComponentRequestHandler_1332ba5c120.handlePageRender($ComponentRequestHandler_1332ba5c120.java)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_1332ba5c122.dispatch($Dispatcher_1332ba5c122.java)
at $Dispatcher_1332ba5c11d.dispatch($Dispatcher_1332ba5c11d.java)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
at $RequestHandler_1332ba5c11e.service($RequestHandler_1332ba5c11e.java)
at $RequestHandler_1332ba5c114.service($RequestHandler_1332ba5c114.java)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at
$HttpServletRequestHandler_1332ba5c116.service($HttpServletRequestHandler_1332ba5c116.java)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at
$HttpServletRequestFilter_1332ba5c113.service($HttpServletRequestFilter_1332ba5c113.java)
at
$HttpServletRequestHandler_1332ba5c116.service($HttpServletRequestHandler_1332ba5c116.java)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
at
$HttpServletRequestHandler_1332ba5c116.service($HttpServletRequestHandler_1332ba5c116.java)
at
$HttpServletRequestHandler_1332ba5c111.service($HttpServletRequestHandler_1332ba5c111.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Class
cannot be null [at
classpath:com/bignibou/web/pages/InscriptionProfessionnelGardeEnfant.tml,
line 38]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:194)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:246)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
... 78 more
Caused by: java.lang.IllegalArgumentException: Class cannot be null
at org.hibernate.validator.util.Contracts.assertNotNull(Contracts.java:32)
at
org.hibernate.validator.metadata.BeanMetaDataCache.getBeanMetaData(BeanMetaDataCache.java:41)
at
org.hibernate.validator.engine.ValidatorImpl.getBeanMetaData(ValidatorImpl.java:1209)
at
org.hibernate.validator.engine.ValidatorImpl.getConstraintsForClass(ValidatorImpl.java:251)
at
org.apache.tapestry5.internal.beanvalidator.BeanFieldValidator.render(BeanFieldValidator.java:84)
at
org.apache.tapestry5.internal.services.CompositeFieldValidator.render(CompositeFieldValidator.java:45)
at
org.apache.tapestry5.corelib.base.AbstractTextField.begin(AbstractTextField.java:175)
at
org.apache.tapestry5.corelib.base.AbstractTextField$MethodAccess_begin_1332ba5c19d.invoke(AbstractTextField$MethodAccess_begin_1332ba5c19d.java)
at
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
at
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
at
org.apache.tapestry5.corelib.base.AbstractTextField.beginRender(AbstractTextField.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:239)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:186)
... 80 more

Then when I refresh the page in the browser, the above form is displayed
correctly.

I am wondering why I get this exception upon the page being called the
first time  and not upon refresh.

Also, I have another question which I think is related: am I properly
obtaining my ChildminderAccount instance?

Hope someone can help me.

Regards,

J.

Re: Render queue error in BeginRender

Posted by Julien Martin <ba...@gmail.com>.
Steve,

Good point about the clue in the stacktrace! But it is not a NPE: rather an
IllegalArgumentException. I believe what is null is not the Entity but
rather its properties (i.e. Strings in my case).

What puzzles me is that it worked upon page refresh but not upon first call
to the page!!

I am still new to Tapestry and I am trying to find my way around all the
Events/Phases/etc.

I come from JSF which is a very nice framework but no way as
developer-friendly and smooth and unobtrusive as T5!!

Regards,

Julien.

2011/10/22 Steve Eynon <st...@alienfactory.co.uk>

> Oh yeah, re-looking, the clue was in the stacktrace:
>
> > Render queue error in BeginRender
>
> meaning you needed to load your entity sometime before that phase -
> i.e. setupRender()
>
> I don't what was causing the NPE though, loading your entity in
> onPrepareForRender() should have been okay. Looks like it's something
> do with T5's JSR-303 but I've never used it myself.
>
> Dunno if anyone else has any ideas?
>
> Steve.
>
>
> On 22 October 2011 23:50, Julien Martin <ba...@gmail.com> wrote:
> > Steve,
> > It works with @SetupRender
> > Thanks!!
> >
> > 2011/10/22 Steve Eynon <st...@alienfactory.co.uk>
> >
> >> > Thanks for your reply Steve,
> >>
> >> No worries, I know how frustrating it can be when no one answers!
> >>
> >> > I was not able to find any such EventConstant
> >>
> >> SetupRender is not an component event, it's a um, render phase! See
> here:
> >> http://tapestry.apache.org/component-rendering.html
> >>
> >> Essentially rename your method to void setupRender() - note how it
> >> doesn't begin with onXXX - or annotate it with @SetupRender
> >>
> >> The Form generates the PREPARE_FOR_RENDER event during its beginRender
> >> phase so I'd be surprised if it makes a difference - but you never
> >> know. I tend to do all my setup in the setupRender() and maybe a
> >> little in onPrepareForSubmit().
> >>
> >> > My ChildMinderAccount is a JPA entity
> >>
> >> Ah - okay. I'd look around this area - I don't know much about JPA but
> >> I'd check stuff like your transaction boundaries to ensure your obj is
> >> fully inflated after it's loaded.
> >>
> >> Steve.
> >>
> >> On 22 October 2011 21:50, Julien Martin <ba...@gmail.com> wrote:
> >> > Thanks for your reply Steve,
> >> >
> >> > I am also surprised because I am actually trying to follow an example
> >> taken
> >> > from Igor's book. My ChildMinderAccount is a JPA entity that extends
> an
> >> > abstract Account class.
> >> >
> >> > Regarding your suggestion of using the setuprender phase, I was not
> able
> >> to
> >> > find any such EventConstant in the Tapestry API...
> >> >
> >> > Regards,
> >> >
> >> > J.
> >> >
> >> > 2011/10/22 Steve Eynon <st...@alienfactory.co.uk>
> >> >
> >> >> Nothing there I can see that's obvious... What does your
> >> >> ChildminderAccount look like?
> >> >>
> >> >> Creating it in the PREPARE_FOR_RENDER event should be fine - but you
> >> >> could always try creating it the SetupRender() render phase - see if
> >> >> it's any different.
> >> >>
> >> >> Steve.
> >> >>
> >> >>
> >> >>
> >> >> On 22 October 2011 20:50, Julien Martin <ba...@gmail.com> wrote:
> >> >> > ChildminderAccount
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >> >>
> >> >>
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: Render queue error in BeginRender

Posted by Steve Eynon <st...@alienfactory.co.uk>.
Oh yeah, re-looking, the clue was in the stacktrace:

> Render queue error in BeginRender

meaning you needed to load your entity sometime before that phase -
i.e. setupRender()

I don't what was causing the NPE though, loading your entity in
onPrepareForRender() should have been okay. Looks like it's something
do with T5's JSR-303 but I've never used it myself.

Dunno if anyone else has any ideas?

Steve.


On 22 October 2011 23:50, Julien Martin <ba...@gmail.com> wrote:
> Steve,
> It works with @SetupRender
> Thanks!!
>
> 2011/10/22 Steve Eynon <st...@alienfactory.co.uk>
>
>> > Thanks for your reply Steve,
>>
>> No worries, I know how frustrating it can be when no one answers!
>>
>> > I was not able to find any such EventConstant
>>
>> SetupRender is not an component event, it's a um, render phase! See here:
>> http://tapestry.apache.org/component-rendering.html
>>
>> Essentially rename your method to void setupRender() - note how it
>> doesn't begin with onXXX - or annotate it with @SetupRender
>>
>> The Form generates the PREPARE_FOR_RENDER event during its beginRender
>> phase so I'd be surprised if it makes a difference - but you never
>> know. I tend to do all my setup in the setupRender() and maybe a
>> little in onPrepareForSubmit().
>>
>> > My ChildMinderAccount is a JPA entity
>>
>> Ah - okay. I'd look around this area - I don't know much about JPA but
>> I'd check stuff like your transaction boundaries to ensure your obj is
>> fully inflated after it's loaded.
>>
>> Steve.
>>
>> On 22 October 2011 21:50, Julien Martin <ba...@gmail.com> wrote:
>> > Thanks for your reply Steve,
>> >
>> > I am also surprised because I am actually trying to follow an example
>> taken
>> > from Igor's book. My ChildMinderAccount is a JPA entity that extends an
>> > abstract Account class.
>> >
>> > Regarding your suggestion of using the setuprender phase, I was not able
>> to
>> > find any such EventConstant in the Tapestry API...
>> >
>> > Regards,
>> >
>> > J.
>> >
>> > 2011/10/22 Steve Eynon <st...@alienfactory.co.uk>
>> >
>> >> Nothing there I can see that's obvious... What does your
>> >> ChildminderAccount look like?
>> >>
>> >> Creating it in the PREPARE_FOR_RENDER event should be fine - but you
>> >> could always try creating it the SetupRender() render phase - see if
>> >> it's any different.
>> >>
>> >> Steve.
>> >>
>> >>
>> >>
>> >> On 22 October 2011 20:50, Julien Martin <ba...@gmail.com> wrote:
>> >> > ChildminderAccount
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Render queue error in BeginRender

Posted by Julien Martin <ba...@gmail.com>.
Steve,
It works with @SetupRender
Thanks!!

2011/10/22 Steve Eynon <st...@alienfactory.co.uk>

> > Thanks for your reply Steve,
>
> No worries, I know how frustrating it can be when no one answers!
>
> > I was not able to find any such EventConstant
>
> SetupRender is not an component event, it's a um, render phase! See here:
> http://tapestry.apache.org/component-rendering.html
>
> Essentially rename your method to void setupRender() - note how it
> doesn't begin with onXXX - or annotate it with @SetupRender
>
> The Form generates the PREPARE_FOR_RENDER event during its beginRender
> phase so I'd be surprised if it makes a difference - but you never
> know. I tend to do all my setup in the setupRender() and maybe a
> little in onPrepareForSubmit().
>
> > My ChildMinderAccount is a JPA entity
>
> Ah - okay. I'd look around this area - I don't know much about JPA but
> I'd check stuff like your transaction boundaries to ensure your obj is
> fully inflated after it's loaded.
>
> Steve.
>
> On 22 October 2011 21:50, Julien Martin <ba...@gmail.com> wrote:
> > Thanks for your reply Steve,
> >
> > I am also surprised because I am actually trying to follow an example
> taken
> > from Igor's book. My ChildMinderAccount is a JPA entity that extends an
> > abstract Account class.
> >
> > Regarding your suggestion of using the setuprender phase, I was not able
> to
> > find any such EventConstant in the Tapestry API...
> >
> > Regards,
> >
> > J.
> >
> > 2011/10/22 Steve Eynon <st...@alienfactory.co.uk>
> >
> >> Nothing there I can see that's obvious... What does your
> >> ChildminderAccount look like?
> >>
> >> Creating it in the PREPARE_FOR_RENDER event should be fine - but you
> >> could always try creating it the SetupRender() render phase - see if
> >> it's any different.
> >>
> >> Steve.
> >>
> >>
> >>
> >> On 22 October 2011 20:50, Julien Martin <ba...@gmail.com> wrote:
> >> > ChildminderAccount
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: Render queue error in BeginRender

Posted by Steve Eynon <st...@alienfactory.co.uk>.
> Thanks for your reply Steve,

No worries, I know how frustrating it can be when no one answers!

> I was not able to find any such EventConstant

SetupRender is not an component event, it's a um, render phase! See here:
http://tapestry.apache.org/component-rendering.html

Essentially rename your method to void setupRender() - note how it
doesn't begin with onXXX - or annotate it with @SetupRender

The Form generates the PREPARE_FOR_RENDER event during its beginRender
phase so I'd be surprised if it makes a difference - but you never
know. I tend to do all my setup in the setupRender() and maybe a
little in onPrepareForSubmit().

> My ChildMinderAccount is a JPA entity

Ah - okay. I'd look around this area - I don't know much about JPA but
I'd check stuff like your transaction boundaries to ensure your obj is
fully inflated after it's loaded.

Steve.

On 22 October 2011 21:50, Julien Martin <ba...@gmail.com> wrote:
> Thanks for your reply Steve,
>
> I am also surprised because I am actually trying to follow an example taken
> from Igor's book. My ChildMinderAccount is a JPA entity that extends an
> abstract Account class.
>
> Regarding your suggestion of using the setuprender phase, I was not able to
> find any such EventConstant in the Tapestry API...
>
> Regards,
>
> J.
>
> 2011/10/22 Steve Eynon <st...@alienfactory.co.uk>
>
>> Nothing there I can see that's obvious... What does your
>> ChildminderAccount look like?
>>
>> Creating it in the PREPARE_FOR_RENDER event should be fine - but you
>> could always try creating it the SetupRender() render phase - see if
>> it's any different.
>>
>> Steve.
>>
>>
>>
>> On 22 October 2011 20:50, Julien Martin <ba...@gmail.com> wrote:
>> > ChildminderAccount
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Render queue error in BeginRender

Posted by Julien Martin <ba...@gmail.com>.
Thanks for your reply Steve,

I am also surprised because I am actually trying to follow an example taken
from Igor's book. My ChildMinderAccount is a JPA entity that extends an
abstract Account class.

Regarding your suggestion of using the setuprender phase, I was not able to
find any such EventConstant in the Tapestry API...

Regards,

J.

2011/10/22 Steve Eynon <st...@alienfactory.co.uk>

> Nothing there I can see that's obvious... What does your
> ChildminderAccount look like?
>
> Creating it in the PREPARE_FOR_RENDER event should be fine - but you
> could always try creating it the SetupRender() render phase - see if
> it's any different.
>
> Steve.
>
>
>
> On 22 October 2011 20:50, Julien Martin <ba...@gmail.com> wrote:
> > ChildminderAccount
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: Render queue error in BeginRender

Posted by Steve Eynon <st...@alienfactory.co.uk>.
Nothing there I can see that's obvious... What does your
ChildminderAccount look like?

Creating it in the PREPARE_FOR_RENDER event should be fine - but you
could always try creating it the SetupRender() render phase - see if
it's any different.

Steve.



On 22 October 2011 20:50, Julien Martin <ba...@gmail.com> wrote:
> ChildminderAccount

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org