Tapestry will eventually apply all the enhancers +
it'll do this in the order you define when you contribute to
tapestry.enhance.EnhancementWorkers
So, you don't really have to override tacos worker...
I guess it's your choice but i'd go for a new worker...
it feels more correct
Karthik N wrote:
> Hi Andy!
>
> Thanks for the pointer.
>
> Our idea is to actually override the renderComponent() method to
> implement our security concerns.
>
> We want to write a custom EnhancementWorker to change the IWriter
> accordingly after calling a SecurityContext.isUserInRoles( {'ADMIN',
> 'SUPERVISOR'} ) which will check a ThreadLocal etc. (left out the gory
> details)
>
> But since the renderComponent() method is already enhanced by tacos
> InjectAjaxComponentRenderWorker, it appears that we would need to
> extend this class and add our code in the subclass?
>
> And also override in hivemind using the approach here -
> http://hivemind.apache.org/override.html
>
>
> Any thoughts?
>
> Thanks! Karthik
>
> On 11/14/06, *andyhot* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
> wrote:
>
> tacos also registers a FormComponentEventWorker.
> It's responsible for adding 2 more parameters to all form
> components...
> "eventListener" and "formatter"
>
> https://svn.sourceforge.net/svnroot/tacos/tacos-4.0/trunk/tacos-core/src/java/net/sf/tacos/ajax/impl/FormComponentEventWorker.java
>
> <https://svn.sourceforge.net/svnroot/tacos/tacos-4.0/trunk/tacos-core/src/java/net/sf/tacos/ajax/impl/FormComponentEventWorker.java>
>
> Here's their registration
>
> https://svn.sourceforge.net/svnroot/tacos/tacos-4.0/trunk/tacos-core/src/descriptor/META-INF/tacos.enhance.xml
>
> <https://svn.sourceforge.net/svnroot/tacos/tacos-4.0/trunk/tacos-core/src/descriptor/META-INF/tacos.enhance.xml>
>
> So, my question is why don't you create your own enhancment worker and
> contribute it to
> tapestry.enhance.EnhancementWorkers configuration point?
>
>
>
> Karthik N wrote:
> > Hello,
> >
> > Tacos 4.0.1 - We are contemplating adding an EnhancementWorker
> to the
> > renderComponent method of AbstractComponent.
> >
> > The idea is to be able to perform certain "Security" operations
> in a
> > (hopefully) elegant fashion.
> >
> > For eg. we have cases where a Tab should hide/show itself, a
> TextField
> > should hide/show itself.
> >
> > Here are the thoughts:
> >
> > 1) Introduce a formal parameter for each component something like
> > renderIfUserInRoles ognl:{'ADMIN', 'SUPERVISOR'}
> >
> > 2) A custom EnhancementWorker to change the IWriter accordingly
> after
> > calling a SecurityContext.isUserInRoles( {'ADMIN', 'SUPERVISOR'} )
> > which will check a ThreadLocal etc. (left out the gory details)
> >
> > 3) If the user is not in roles pass on a NullWriter to the
> component,
> > so that it will not render its content.
> >
> > So here are the questions:
> >
> > 1) After some digging we find that InjectAjaxComponentRenderWorker
> > already enhances AbstractComponent.renderComponent(). Methods of
> > this Worker are protected, so we plan to further override this
> > implementation and use the approach described in
> > http://hivemind.apache.org/override.html to override the
> service-point
> > id="ComponentRenderInterceptor"
> >
> > 2) Is this a good idea?! We would love to hear some feedback.
> >
> > Thanks, Karthik
> >
> ------------------------------------------------------------------------
> >
> >
> -------------------------------------------------------------------------
>
> > Using Tomcat but need to do more? Need to support web services,
> security?
> > Get stuff done quickly with pre-integrated technology to make
> your job easier
> > Download IBM WebSphere Application Server v.1.0.1 based on
> Apache Geronimo
> >
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Tacos-devel mailing list
> > [email protected]
> <mailto:[email protected]>
> > https://lists.sourceforge.net/lists/listinfo/tacos-devel
> >
>
>
> --
> Andreas Andreou - [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> -
> http://andyhot.di.uoa.gr
> Tapestry / Tacos developer
> Open Source / J2EE Consulting
>
>
> -------------------------------------------------------------------------
>
> Using Tomcat but need to do more? Need to support web services,
> security?
> Get stuff done quickly with pre-integrated technology to make your
> job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
> _______________________________________________
> Tacos-devel mailing list
> [email protected]
> <mailto:[email protected]>
> https://lists.sourceforge.net/lists/listinfo/tacos-devel
> <https://lists.sourceforge.net/lists/listinfo/tacos-devel>
>
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> ------------------------------------------------------------------------
>
> _______________________________________________
> Tacos-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/tacos-devel
>
--
Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / J2EE Consulting
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Tacos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tacos-devel