[ 
http://issues.apache.org/jira/browse/TAPESTRY-838?page=comments#action_12362920 
] 

Chris Conrad commented on TAPESTRY-838:
---------------------------------------

To comment a little further, from my reading of the Tapestry Hivedoc there are 
two places I can hook into to intercept calls to components/pages: 
tapestry.listener.ListenerInvoker and 
tapestry.request.ServletRequestServicerPipeline/tapestry.request.WebRequestServicerPipeline.
  The latter is more or less out of the question, you can perform interceptions 
at an application granularity, you have no access to the current page or 
components until after everything is rendered.  The first is almost there but 
it provides only page level granularity.  You can figure out the current page 
and you can figure out what component triggered the listener method invocation, 
but there is no way to see what method was actually invoked and on what object 
it was invoked on.

My motivation for this is I'd like to implement some of the features of JBoss 
Seam into my application.  This possible if I stay completely within the realm 
of Hivemind components, but that requires me to put a lot of effort into 
creating components and whatnot for simple data collection pages.  By providing 
a more granular interception model for listener method calls I can avoid 
creating extraneous services which are only necessary for their abillity to be 
intercepted.

> ListenerInvokerFilter provides no way to find out what listener method is 
> being invoked
> ---------------------------------------------------------------------------------------
>
>          Key: TAPESTRY-838
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-838
>      Project: Tapestry
>         Type: Wish
>   Components: Framework
>     Versions: 4.0
>     Reporter: Chris Conrad

>
> The ListenerInvokerFilter pipeline appears to be the only place where you can 
> intercept listener method calls.  Obviously this can be useful for a variety 
> of features, the Javadoc even suggests it's a good place to put transaction 
> handling.  However, there does not seem to be any way to find out what 
> listener method is being invoked.  Without that information the only metadata 
> you can provide to the ListenerInvokerFilter is class level metadata since 
> you can get access to the current page through the IRequestCycle.  Would it 
> be possible to expose either the listener method being invoked, or in the 
> alternative, provide some form of interception support to pages?

-- 
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