T5: Activate + Passivate + Validation

2007-02-18 Thread DJ Gredler

Hi,

I'm using T5, and I have a page that uses activate and passivate events to
store a primary key (as explained at
http://tapestry.apache.org/tapestry5/tapestry-core/guide/event.html). I'm
having some trouble, though, when I do custom validation in my
onSuccessFromForm( ) method. If the validation fails, I return null so that
the user comes back to the same page. However, the primary key has been
lost, and I get the following error:

   * java.lang.IllegalArgumentException
 Method com.of.pages.AbstractJurisdictionPage.onActivate(
java.lang.String) has more parameters than there are context values for this
component event.

 Stack trace
 o
org.apache.tapestry.internal.services.ComponentEventImpl.coerceContext(
ComponentEventImpl.java:92)
 o com.of.pages.AbstractJurisdictionPage.handleComponentEvent(
AbstractJurisdictionPage.java)
 o com.of.pages.Search.handleComponentEvent(Search.java)
 o
org.apache.tapestry.internal.structure.ComponentPageElementImpl.handleEvent(
ComponentPageElementImpl.java:900)
 o
org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerEvent
(ComponentPageElementImpl.java:1009)
 o
org.apache.tapestry.internal.services.PageLinkHandlerImpl.handle(
PageLinkHandlerImpl.java:49)
 o
org.apache.tapestry.internal.services.PageLinkHandlerImpl.handle(
PageLinkHandlerImpl.java:39)
 o
$PageLinkHandler_110d8085cb5.handle($PageLinkHandler_110d8085cb5.java)
 o
$PageLinkHandler_110d8085c6a.handle($PageLinkHandler_110d8085c6a.java)
 o
org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(
PageRenderDispatcher.java:88)
 o
$Dispatcher_110d8085c6c.dispatch($Dispatcher_110d8085c6c.java)
 o
$Dispatcher_110d8085c6d.dispatch($Dispatcher_110d8085c6d.java)
 o
$Dispatcher_110d8085c59.dispatch($Dispatcher_110d8085c59.java)
 o org.apache.tapestry.services.TapestryModule$5.service(
TapestryModule.java:418)
 o org.apache.tapestry.services.TapestryModule$6.service(
TapestryModule.java:451)
 o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
 o
org.apache.tapestry.internal.services.StaticFilesFilter.service(
StaticFilesFilter.java:49)
 o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
 o com.of.services.AppModule$1.service(AppModule.java:44)
 o
$RequestFilter_110d8085c56.service($RequestFilter_110d8085c56.java)
 o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
 o
org.apache.tapestry.internal.services.LocalizationFilter.service(
LocalizationFilter.java:43)
 o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
 o
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
CheckForUpdatesFilter.java:91)
 o
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
CheckForUpdatesFilter.java:82)
 o
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(
ConcurrentBarrier.java:77)
 o
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(
CheckForUpdatesFilter.java:104)
 o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
 o
$RequestHandler_110d8085c5b.service($RequestHandler_110d8085c5b.java)
 o
$RequestHandler_110d8085c51.service($RequestHandler_110d8085c51.java)
 o org.apache.tapestry.services.TapestryModule$3.service(
TapestryModule.java:341)
 o
$HttpServletRequestHandler_110d8085c52.service($HttpServletRequestHandler_110d8085c52.java)
 o
$HttpServletRequestHandler_110d8085c50.service($HttpServletRequestHandler_110d8085c50.java)
 o org.apache.tapestry.TapestryFilter.doFilter(
TapestryFilter.java:114)
 o
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
WebApplicationHandler.java:821)
 o org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
 o org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:568)
 o org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
 o org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
 o org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
 o org.mortbay.http.HttpServer.service(HttpServer.java:909)
 o org.mortbay.http.HttpConnection.service(HttpConnection.java
:820)
 o org.mortbay.http.HttpConnection.handleNext(
HttpConnection.java:986)
 o org.mortbay.http.HttpConnection.handle(HttpConnection.java
:837)
 o org.mortbay.http.SocketListener.handleConnection(
SocketListener.java:245)
 o org.mortbay.util.ThreadedServer.handle(ThreadedServer.java
:357)
 

Re: T5: Activate + Passivate + Validation

2007-02-18 Thread Howard Lewis Ship

That's something I need to work out; the ActionLink and Form
components have context, but so do the pages (via the passivate
events). Really, the action event URLs should reflect both when both
contexts are present.  In that situation, the page context will be
shifted into a query parameter.

On 2/18/07, DJ Gredler [EMAIL PROTECTED] wrote:

Hi,

I'm using T5, and I have a page that uses activate and passivate events to
store a primary key (as explained at
http://tapestry.apache.org/tapestry5/tapestry-core/guide/event.html). I'm
having some trouble, though, when I do custom validation in my
onSuccessFromForm( ) method. If the validation fails, I return null so that
the user comes back to the same page. However, the primary key has been
lost, and I get the following error:

* java.lang.IllegalArgumentException
  Method com.of.pages.AbstractJurisdictionPage.onActivate(
java.lang.String) has more parameters than there are context values for this
component event.

  Stack trace
  o
org.apache.tapestry.internal.services.ComponentEventImpl.coerceContext(
ComponentEventImpl.java:92)
  o com.of.pages.AbstractJurisdictionPage.handleComponentEvent(
AbstractJurisdictionPage.java)
  o com.of.pages.Search.handleComponentEvent(Search.java)
  o
org.apache.tapestry.internal.structure.ComponentPageElementImpl.handleEvent(
ComponentPageElementImpl.java:900)
  o
org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerEvent
(ComponentPageElementImpl.java:1009)
  o
org.apache.tapestry.internal.services.PageLinkHandlerImpl.handle(
PageLinkHandlerImpl.java:49)
  o
org.apache.tapestry.internal.services.PageLinkHandlerImpl.handle(
PageLinkHandlerImpl.java:39)
  o
$PageLinkHandler_110d8085cb5.handle($PageLinkHandler_110d8085cb5.java)
  o
$PageLinkHandler_110d8085c6a.handle($PageLinkHandler_110d8085c6a.java)
  o
org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(
PageRenderDispatcher.java:88)
  o
$Dispatcher_110d8085c6c.dispatch($Dispatcher_110d8085c6c.java)
  o
$Dispatcher_110d8085c6d.dispatch($Dispatcher_110d8085c6d.java)
  o
$Dispatcher_110d8085c59.dispatch($Dispatcher_110d8085c59.java)
  o org.apache.tapestry.services.TapestryModule$5.service(
TapestryModule.java:418)
  o org.apache.tapestry.services.TapestryModule$6.service(
TapestryModule.java:451)
  o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
  o
org.apache.tapestry.internal.services.StaticFilesFilter.service(
StaticFilesFilter.java:49)
  o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
  o com.of.services.AppModule$1.service(AppModule.java:44)
  o
$RequestFilter_110d8085c56.service($RequestFilter_110d8085c56.java)
  o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
  o
org.apache.tapestry.internal.services.LocalizationFilter.service(
LocalizationFilter.java:43)
  o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
  o
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
CheckForUpdatesFilter.java:91)
  o
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
CheckForUpdatesFilter.java:82)
  o
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(
ConcurrentBarrier.java:77)
  o
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(
CheckForUpdatesFilter.java:104)
  o
$RequestHandler_110d8085c5a.service($RequestHandler_110d8085c5a.java)
  o
$RequestHandler_110d8085c5b.service($RequestHandler_110d8085c5b.java)
  o
$RequestHandler_110d8085c51.service($RequestHandler_110d8085c51.java)
  o org.apache.tapestry.services.TapestryModule$3.service(
TapestryModule.java:341)
  o
$HttpServletRequestHandler_110d8085c52.service($HttpServletRequestHandler_110d8085c52.java)
  o
$HttpServletRequestHandler_110d8085c50.service($HttpServletRequestHandler_110d8085c50.java)
  o org.apache.tapestry.TapestryFilter.doFilter(
TapestryFilter.java:114)
  o
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
WebApplicationHandler.java:821)
  o org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
  o org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:568)
  o org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
  o org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
  o org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
  o org.mortbay.http.HttpServer.service(HttpServer.java:909)
  o