No, nothing is lost... That's why it's cool

Go ahead and try it!

Karthik N wrote:
> Hi Andy,
>
> Pardon my ignorance - this is my first serious stint with
> EnhancementWorkers.
>
> So in our case we want to write up a Custom EnhancementWorker that
> enhances the renderComponent() method.  Since the tacos worker
> InjectAjaxComponentRenderWorker is already enhancing renderComponent()
> method, are we not in a contention situation where two enhancement
> workers are enhancing the same method and one would override the
> changes of the other?
>
> So for eg InjectAjaxComponentRenderWorker would inject some code in
> renderComponent()
>
> public void renderComponent() {
>
> //InjectAjaxComponentRenderWorker's code goes here
>
> }
>
> And after Custom EnhancementWorker we should reach a situation where
>
> public void renderComponent() {
>
> //InjectAjaxComponentRenderWorker's code goes here
> //Custom EnhancementWorker's code goes  here
>
> }
>
> And NOT a situation where we lose InjectAjaxComponentRenderWorker's
> contribution like below!
>
> public void renderComponent() {
>
> //Custom EnhancementWorker's code goes  here
>
> }
>
>
>
> Thanks, Karthik.
>
>
> On 11/14/06, *andyhot* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
> wrote:
>
>     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]> <mailto:[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>
>     >    
>     
> <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>
>     >    
>     
> <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>
>     >     <
>     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]>
>     >     <mailto: [email protected]
>     <mailto:[email protected]>>
>     >     > https://lists.sourceforge.net/lists/listinfo/tacos-devel
>     >     >
>     >
>     >
>     >     --
>     >     Andreas Andreou - [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]> <mailto:[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>
>     >    
>     <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]>
>     >     <mailto:[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
>     <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>
>
>
>
>
> -- 
> 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
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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 


-------------------------------------------------------------------------
SF.net email is sponsored by: A Better Job is Waiting for You - Find it Now.
Check out Slashdot's new job board. Browse through tons of technical jobs
posted by companies looking to hire people just like you.
http://jobs.slashdot.org/
_______________________________________________
Tacos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tacos-devel

Reply via email to