Hi, 
  In fact, in
   
  ValidationTracker validationTracker = form.getDefaultTracker(); 

form is not null. It was form.getDefaultTracker() that is returning null (which 
is not expected).
Instead of trying to check and record errors using    
  ValidationTracker, I follow the advice in 
http://tapestry.apache.org/tapestry5.2-dev/guide/validation.html

to use  form.getHasErrors, form.recordError. 
My code is working in Tap 5.2 snapshot.

Shing 


--- On Sun, 8/8/10, Shing Hing Man <mat...@yahoo.com> wrote:

> From: Shing Hing Man <mat...@yahoo.com>
> Subject: Embedded Form component becomes null in Tap 5.2.0-Snapshot
> To: "tapestry Tapestry" <tapestry-u...@jakarta.apache.org>
> Date: Sunday, 8 August, 2010, 2:50
> Hi,
> 
> I have an embedded form component that is null inside a
> onSubmit method. 
> It was not the case in Tap 5.1.
> 
> In .tml :
> <t:form t:id="myForm" >
>    ....
> </t:form>
> 
> In Java page
>  
> @Component(id = "myForm")
> private Form form;
> 
> @OnEvent(component = "myForm", value = "submit")
> public void submit() {
>    // form is null below
> !   
>    ValidationTracker validationTracker =
> form.getDefaultTracker(); 
> }
> 
> When the form is submitted, inside the submit method, form
> is null. 
> I am using 
> tapestry-core:5.2.0-20100801.103309-116
> 
> Below is the stack trace.
> 
> #
> com.man.testTapestry5.pages.test.Sum.submit(Sum.java:172)
> #
> com.man.testTapestry5.pages.test.Sum$MethodAccess_submit_12a4dd6b537.invoke(Sum$MethodAccess_submit_12a4dd6b537.java)
> #
> org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
> #
> org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157)
> #
> org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> com.man.testTapestry5.pages.test.Sum.dispatchComponentEvent(Sum.java)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:942)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074)
> #
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
> #
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> #
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073)
> #
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:287)
> #
> org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:548)
> #
> org.apache.tapestry5.corelib.components.Form$onAction$invocation_12a4dd6c009.invokeAdvisedMethod(Form$onAction$invocation_12a4dd6c009.java)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:77)
> #
> org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
> #
> org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
> #
> org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_12a4dd6b53f.invoke(Form$MethodAccess_onAction_12a4dd6b53f.java)
> #
> org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
> #
> org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157)
> #
> org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:950)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074)
> #
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
> #
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> #
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073)
> #
> org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:81)
> #
> org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
> #
> $ComponentEventRequestHandler_12a4dd6b5dd.handle($ComponentEventRequestHandler_12a4dd6b5dd.java)
> #
> org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
> #
> $ComponentEventRequestHandler_12a4dd6b5dd.handle($ComponentEventRequestHandler_12a4dd6b5dd.java)
> #
> org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.java:2566)
> #
> $ComponentEventRequestHandler_12a4dd6b5dd.handle($ComponentEventRequestHandler_12a4dd6b5dd.java)
> #
> $ComponentEventRequestHandler_12a4dd6b507.handle($ComponentEventRequestHandler_12a4dd6b507.java)
> #
> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
> #
> org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
> #
> $ComponentRequestHandler_12a4dd6b509.handleComponentEvent($ComponentRequestHandler_12a4dd6b509.java)
> #
> $ComponentRequestHandler_12a4dd6b4ed.handleComponentEvent($ComponentRequestHandler_12a4dd6b4ed.java)
> #
> org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
> #
> $Dispatcher_12a4dd6b4ef.dispatch($Dispatcher_12a4dd6b4ef.java)
> #
> $Dispatcher_12a4dd6b4ea.dispatch($Dispatcher_12a4dd6b4ea.java)
> #
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:320)
> #
> com.man.testTapestry5.services.AppModule$1.service(AppModule.java:105)
> #
> $RequestFilter_12a4dd6b4e9.service($RequestFilter_12a4dd6b4e9.java)
> #
> $RequestHandler_12a4dd6b4eb.service($RequestHandler_12a4dd6b4eb.java)
> #
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> k trace.
> 
> Thanks in advance for any assistance !
> 
> Shing 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 




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

Reply via email to