Indeed. Problem is that I don't need it until the button is clicked. Then in the onSelected() I build the "Link" to redirect to. It seems a bit backward (and waste of data in the session) if I have to build this link during render and persist it until the button is clicked (if it is).

Any ideas how to fix this?

THanks for the help,
Joachim

Robert Zeigler wrote:
getting a NPE trying to access the page's root element (page is null).
Page is obtained from the active page from the page render queue.
So, it looks like you're trying to create an action link while no page is rendering.
Cheers.

Robert

On Feb 20, 2008, at 2/202:03 PM , Joachim Van der Auwera wrote:

Does anybody have an idea what I am doing wrong?

Using the latest snapshot of tapestry5.

In the following code :

  @Inject
  private ComponentResources resources;

  /**
   * Act upon the "link"
   */
  void onSelected()
  {
Link link = resources.createActionLink( "action", false, contextArray );
  }

I get a NPE with the following stack trace

* org.apache.tapestry.internal.services.LinkFactoryImpl.collectActivationContextForPage(LinkFactoryImpl.java:217) * org.apache.tapestry.internal.services.LinkFactoryImpl.createActionLink(LinkFactoryImpl.java:129) * org.apache.tapestry.internal.structure.PageImpl.createActionLink(PageImpl.java:156) * org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.createActionLink(InternalComponentResourcesImpl.java:123) * org.equanda.tapestry5.components.FormActionLink.onSelected(FormActionLink.java:64) * org.equanda.tapestry5.components.FormActionLink.dispatchComponentEvent(FormActionLink.java) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:843) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1004) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:934) * org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.triggerEvent(InternalComponentResourcesImpl.java:154) * org.apache.tapestry.corelib.components.Submit$1.run(Submit.java:93) * org.apache.tapestry.corelib.internal.FormSupportImpl.executeDeferred(FormSupportImpl.java:114) * org.apache.tapestry.corelib.components.Form.onAction(Form.java:396) * org.apache.tapestry.corelib.components.Form.dispatchComponentEvent(Form.java) * org.equanda.tapestry5.components.Form.dispatchComponentEvent(Form.java) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:851) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1004) * org.apache.tapestry.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:67) * org.apache.tapestry.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) * org.apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42) * org.apache.tapestry.services.TapestryModule$39.handle(TapestryModule.java:2077) * org.apache.tapestry.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:131) * org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.java:914) * be.synergetics.ca.gui.services.AppModule$2.service(AppModule.java:175) * be.synergetics.ca.gui.services.AppModule$1.service(AppModule.java:102) * org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43) * org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.java:530) * org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:505) * org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79) * org.equanda.t5gui.services.AppModule$7.service(AppModule.java:175) * org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93) * org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84) * org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77) * org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106) * org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:894) * org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) * org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164) * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) * org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) * org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) * org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) * org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) * org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) * org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) * org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      * java.lang.Thread.run(Thread.java:595)


--
Joachim Van der Auwera
PROGS bvba, progs.be


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


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




--
Joachim Van der Auwera
PROGS bvba, progs.be


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

Reply via email to