Re: How to include broken javascript?
Why can't you include those exact scripts directly in your page or component? Henri Dupre wrote: We have several partners that require us to include some javascript like that: script type=text/javascript !-- xtnv = document; xtsd = ... http://logi12/; xtsite = ...; xtn2 = ; xtpage = .; roimt = ; roitest = false; visiteciblee = false; xtprm = ; //-- /script script type=text/javascript src= http://www.actualis.com/xtroi.js;/scripthttp://www.actualis.com/xtroi.js%22%3E%3C/script This seems to me currently impossible with Tapestry because all the script includes are processed *before* any other javascript. I currently wrote a simple component that does some writer.printRaw in order to produce this stuff exactly but that's not very satisfactory, I'd rather like to benefit from Tapestry's javascript facilities. Any suggestions? Thanks -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to include broken javascript?
Isn't Shell's delegate parameter (and functionality) appropriate for you? By using delegate you can include the scripts in the head of the page. Regards, Norbi Henri Dupre wrote: We have several partners that require us to include some javascript like that: script type=text/javascript !-- xtnv = document; xtsd = ... http://logi12/; xtsite = ...; xtn2 = ; xtpage = .; roimt = ; roitest = false; visiteciblee = false; xtprm = ; //-- /script script type=text/javascript src= http://www.actualis.com/xtroi.js;/scripthttp://www.actualis.com/xtroi.js%22%3E%3C/script This seems to me currently impossible with Tapestry because all the script includes are processed *before* any other javascript. I currently wrote a simple component that does some writer.printRaw in order to produce this stuff exactly but that's not very satisfactory, I'd rather like to benefit from Tapestry's javascript facilities. Any suggestions? Thanks No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.407 / Virus Database: 268.12.13/463 - Release Date: 2006.10.04. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Latest 4.1.1 tacos compatibility
I just downloaded 4.1.1 SNAPSHOT and it appears that there is a tacos compatibility error with the latest build. I know that I shouldn't even expect 4.1.1 work with tacos, but after all they did work together as of yesterday. The only thing I upgraded was tapestry itself. I'm sure don't expect 100% compatibility; frankly I'm not that interested in ajax stuff from tacos since Im gonna use 4.1.1 now, the only thing I'm interested in is non-ajax tacos:tree. Any comments ? Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). org.apache.hivemind.ApplicationRuntimeException Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). location: classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54 2 !DOCTYPE component-specification PUBLIC 3 -//Apache Software Foundation//Tapestry Specification 4.0//EN 4 http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd; 5 6 component-specification class=net.sf.tacos.ajax.components.AjaxDirectLink 7 allow-body=yes allow-informal-parameters=yes 8 9 description 10 Derivative of DirectLink with support for ajax requests. 11 /description 12 Stack Trace: * org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39 ) * org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40) * org.apache.tapestry.enhance.EnhancedClassValidatorImpl.validate(EnhancedClas sValidatorImpl.java:125) * $EnhancedClassValidator_10e1caf9548.validate($EnhancedClassValidator_10e1caf 9548.java) * org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getCompone ntConstructor(ComponentConstructorFactoryImpl.java:103) * $ComponentConstructorFactory_10e1caf9537.getComponentConstructor($ComponentC onstructorFactory_10e1caf9537.java) * org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java :519) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:3 99) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:111) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate( ComponentTemplateLoaderLogic.java:88) * org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(C omponentTemplateLoaderImpl.java:60) * $ComponentTemplateLoader_10e1caf953b.loadTemplate($ComponentTemplateLoader_1 0e1caf953b.java) * org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader. java:639) * org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) * org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107) * $BorderMenu_13.finishLoad($BorderMenu_13.java) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:4 28) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:111) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate( ComponentTemplateLoaderLogic.java:88) * org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(C omponentTemplateLoaderImpl.java:60) * $ComponentTemplateLoader_10e1caf953b.loadTemplate($ComponentTemplateLoader_1 0e1caf953b.java) * org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader. java:639) * org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) *
Re: Latest 4.1.1 tacos compatibility
As I know T4.1.1 is not compatible with tacos at all. T4.1.1 has more enhanced functionality and it will have support for advanced dojo components like tree in the future. But if you need a tree in 4.1.1, I think that you should create your own component or wrapper around the dojo tree, or wait until it becomes part of the core... Maybe we should add a feature request to the jira and vote for it ;) Regards, Norbi [EMAIL PROTECTED] wrote: I just downloaded 4.1.1 SNAPSHOT and it appears that there is a tacos compatibility error with the latest build. I know that I shouldn't even expect 4.1.1 work with tacos, but after all they did work together as of yesterday. The only thing I upgraded was tapestry itself. I'm sure don't expect 100% compatibility; frankly I'm not that interested in ajax stuff from tacos since Im gonna use 4.1.1 now, the only thing I'm interested in is non-ajax tacos:tree. Any comments ? Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). org.apache.hivemind.ApplicationRuntimeException Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). location: classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54 2 !DOCTYPE component-specification PUBLIC 3 -//Apache Software Foundation//Tapestry Specification 4.0//EN 4 http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd; 5 6 component-specification class=net.sf.tacos.ajax.components.AjaxDirectLink 7 allow-body=yes allow-informal-parameters=yes 8 9 description 10 Derivative of DirectLink with support for ajax requests. 11 /description 12 Stack Trace: * org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39 ) * org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40) * org.apache.tapestry.enhance.EnhancedClassValidatorImpl.validate(EnhancedClas sValidatorImpl.java:125) * $EnhancedClassValidator_10e1caf9548.validate($EnhancedClassValidator_10e1caf 9548.java) * org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getCompone ntConstructor(ComponentConstructorFactoryImpl.java:103) * $ComponentConstructorFactory_10e1caf9537.getComponentConstructor($ComponentC onstructorFactory_10e1caf9537.java) * org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java :519) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:3 99) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:111) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate( ComponentTemplateLoaderLogic.java:88) * org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(C omponentTemplateLoaderImpl.java:60) * $ComponentTemplateLoader_10e1caf953b.loadTemplate($ComponentTemplateLoader_1 0e1caf953b.java) * org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader. java:639) * org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) * org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107) * $BorderMenu_13.finishLoad($BorderMenu_13.java) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:4 28) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:111) *
Re: Latest 4.1.1 tacos compatibility
Norbert Sándor wrote: As I know T4.1.1 is not compatible with tacos at all. Yea, I haven't tried this at all... but for the record, which tacos version are you using? The maven repo ( http://tacos.sourceforge.net/nightly/ ) has an october 2 update for the 4.0.1-SNAPSHOT of tacos. If i'm not mistaken, Jesse recently changed the signature of getUpdateComponents() to return List instead of Collection. I've also made the same change in tacos, so perhaps those latest 2 SNAPSHOTs can work together ??? T4.1.1 has more enhanced functionality and it will have support for advanced dojo components like tree in the future. But if you need a tree in 4.1.1, I think that you should create your own component or wrapper around the dojo tree, or wait until it becomes part of the core... Maybe we should add a feature request to the jira and vote for it ;) Regards, Norbi [EMAIL PROTECTED] wrote: I just downloaded 4.1.1 SNAPSHOT and it appears that there is a tacos compatibility error with the latest build. I know that I shouldn't even expect 4.1.1 work with tacos, but after all they did work together as of yesterday. The only thing I upgraded was tapestry itself. I'm sure don't expect 100% compatibility; frankly I'm not that interested in ajax stuff from tacos since Im gonna use 4.1.1 now, the only thing I'm interested in is non-ajax tacos:tree. Any comments ? Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). org.apache.hivemind.ApplicationRuntimeException Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). location: classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54 2!DOCTYPE component-specification PUBLIC 3-//Apache Software Foundation//Tapestry Specification 4.0//EN 4http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd; 5 6component-specification class=net.sf.tacos.ajax.components.AjaxDirectLink 7allow-body=yes allow-informal-parameters=yes 8 9description 10Derivative of DirectLink with support for ajax requests. 11/description 12 Stack Trace: * org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39 ) * org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40) * org.apache.tapestry.enhance.EnhancedClassValidatorImpl.validate(EnhancedClas sValidatorImpl.java:125) * $EnhancedClassValidator_10e1caf9548.validate($EnhancedClassValidator_10e1caf 9548.java) * org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getCompone ntConstructor(ComponentConstructorFactoryImpl.java:103) * $ComponentConstructorFactory_10e1caf9537.getComponentConstructor($ComponentC onstructorFactory_10e1caf9537.java) * org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java :519) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:3 99) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo nentTemplateLoaderLogic.java:111) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate( ComponentTemplateLoaderLogic.java:88) * org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(C omponentTemplateLoaderImpl.java:60) * $ComponentTemplateLoader_10e1caf953b.loadTemplate($ComponentTemplateLoader_1 0e1caf953b.java) * org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader. java:639) * org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) * org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107) * $BorderMenu_13.finishLoad($BorderMenu_13.java) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:4 28) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf9531.ja va) *
Re: [OT] your tomcat config for you tapestry apps
Those configuration ( tweaking ) questions arise from time to time. Even if it's a bit OT, it'd be nice to see all those recommendations in the wiki over at http://wiki.apache.org/tapestry/ Just like we have SuccessStories, we could have ConfigurationStories. Anyone willing to make the start? Daniel Jue wrote: We are still in the development stages, but we'll be running Tomcat 5.5.17 behind IIS and using the isapi redirector. Single JVM, with default memory settings right now. Since our Tapestry pages look like standard html (i.e. they don't end in .jsp), and since our IIS instance is shared with other web apps, the redirector is told to forward anything in our app's sub directory to Tomcat. So far the only issue I'm having at the moment is Hot Deploy is broken. This is a known problem and it has to do with the way the Windows file system locks the resources (especially Jar files, but sometimes others). Just FYI, the work-around(s) that are available are not real solutions. They involve making tomcat create a temporary copy of the web app for each time you hot deploy. You eat up space really quick (because it doesn't ever clean the temp directories) and it's slow. See the Tomcat newsgroups and bug reports for more info on this, since it's not Tapestry related. In addition, I chose Tomcat because: I'm semi-familiar with it (seen it used with success in the past), compared to OC4J/JBOSS After seeing how some Oracle documentation was written, I just didn't trust OC4J I found lots of threads online about how OC4J sucked I like the Apache foundation products. I knew at the time I could integrate it with Eclipse The amount of online articles/support/tutorials was sufficient for me. A lot of good Tapestry tutorials used Tomcat. On 10/5/06, Dan Adams [EMAIL PROTECTED] wrote: Do you run tomcat? Roughly what does your tomcat setup look like? - If you run virtual hosts do you run all apps in the same jvm or do you run multiple jvm instances? - What memory settings do you use? - Do you use tomcat with apache and if so what connector do you use? Mod_jk? jk2? mod_proxy? mod_proxy_ajp? - Any other tips your can give from experience? -- Dan Adams Senior Software Engineer Interactive Factory 617.235.5857 - 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] -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Latest 4.1.1 tacos compatibility
Yup. I downloaded the latest tacos and it seems to be working. Thanks. -Original Message- From: Andreas Andreou [mailto:[EMAIL PROTECTED] Sent: Friday, October 06, 2006 1:25 PM To: Tapestry users Subject: Re: Latest 4.1.1 tacos compatibility Norbert Sándor wrote: As I know T4.1.1 is not compatible with tacos at all. Yea, I haven't tried this at all... but for the record, which tacos version are you using? The maven repo ( http://tacos.sourceforge.net/nightly/ ) has an october 2 update for the 4.0.1-SNAPSHOT of tacos. If i'm not mistaken, Jesse recently changed the signature of getUpdateComponents() to return List instead of Collection. I've also made the same change in tacos, so perhaps those latest 2 SNAPSHOTs can work together ??? T4.1.1 has more enhanced functionality and it will have support for advanced dojo components like tree in the future. But if you need a tree in 4.1.1, I think that you should create your own component or wrapper around the dojo tree, or wait until it becomes part of the core... Maybe we should add a feature request to the jira and vote for it ;) Regards, Norbi [EMAIL PROTECTED] wrote: I just downloaded 4.1.1 SNAPSHOT and it appears that there is a tacos compatibility error with the latest build. I know that I shouldn't even expect 4.1.1 work with tacos, but after all they did work together as of yesterday. The only thing I upgraded was tapestry itself. I'm sure don't expect 100% compatibility; frankly I'm not that interested in ajax stuff from tacos since Im gonna use 4.1.1 now, the only thing I'm interested in is non-ajax tacos:tree. Any comments ? Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). org.apache.hivemind.ApplicationRuntimeException Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). location: classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54 2!DOCTYPE component-specification PUBLIC 3-//Apache Software Foundation//Tapestry Specification 4.0//EN 4http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd; 5 6component-specification class=net.sf.tacos.ajax.components.AjaxDirectLink 7allow-body=yes allow-informal-parameters=yes 8 9description 10Derivative of DirectLink with support for ajax requests. 11/description 12 Stack Trace: * org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler. java:39 ) * org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40) * org.apache.tapestry.enhance.EnhancedClassValidatorImpl.validate(Enhan cedClas sValidatorImpl.java:125) * $EnhancedClassValidator_10e1caf9548.validate($EnhancedClassValidator_ 10e1caf 9548.java) * org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.get Compone ntConstructor(ComponentConstructorFactoryImpl.java:103) * $ComponentConstructorFactory_10e1caf9537.getComponentConstructor($Com ponentC onstructorFactory_10e1caf9537.java) * org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoad er.java :519) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader .java:3 99) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageL oader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf 9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf 9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.create Implici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.proces s(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.proces s(Compo nentTemplateLoaderLogic.java:111) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTe mplate( ComponentTemplateLoaderLogic.java:88) * org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTem plate(C omponentTemplateLoaderImpl.java:60) * $ComponentTemplateLoader_10e1caf953b.loadTemplate($ComponentTemplateL oader_1 0e1caf953b.java) *
Re: Latest 4.1.1 tacos compatibility
[EMAIL PROTECTED] wrote: Yup. I downloaded the latest tacos and it seems to be working. Thanks. BTW, since you seem to be the first one to try this, could you give a report on which components do work with Tapestry 4.1.1 ? Do you include tacos' dojo, or do you let Tapestry 4.1.1 include its own? -Original Message- From: Andreas Andreou [mailto:[EMAIL PROTECTED] Sent: Friday, October 06, 2006 1:25 PM To: Tapestry users Subject: Re: Latest 4.1.1 tacos compatibility Norbert Sándor wrote: As I know T4.1.1 is not compatible with tacos at all. Yea, I haven't tried this at all... but for the record, which tacos version are you using? The maven repo ( http://tacos.sourceforge.net/nightly/ ) has an october 2 update for the 4.0.1-SNAPSHOT of tacos. If i'm not mistaken, Jesse recently changed the signature of getUpdateComponents() to return List instead of Collection. I've also made the same change in tacos, so perhaps those latest 2 SNAPSHOTs can work together ??? T4.1.1 has more enhanced functionality and it will have support for advanced dojo components like tree in the future. But if you need a tree in 4.1.1, I think that you should create your own component or wrapper around the dojo tree, or wait until it becomes part of the core... Maybe we should add a feature request to the jira and vote for it ;) Regards, Norbi [EMAIL PROTECTED] wrote: I just downloaded 4.1.1 SNAPSHOT and it appears that there is a tacos compatibility error with the latest build. I know that I shouldn't even expect 4.1.1 work with tacos, but after all they did work together as of yesterday. The only thing I upgraded was tapestry itself. I'm sure don't expect 100% compatibility; frankly I'm not that interested in ajax stuff from tacos since Im gonna use 4.1.1 now, the only thing I'm interested in is non-ajax tacos:tree. Any comments ? Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). org.apache.hivemind.ApplicationRuntimeException Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). location: classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54 2!DOCTYPE component-specification PUBLIC 3-//Apache Software Foundation//Tapestry Specification 4.0//EN 4http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd; 5 6component-specification class=net.sf.tacos.ajax.components.AjaxDirectLink 7allow-body=yes allow-informal-parameters=yes 8 9description 10Derivative of DirectLink with support for ajax requests. 11/description 12 Stack Trace: * org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler. java:39 ) * org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40) * org.apache.tapestry.enhance.EnhancedClassValidatorImpl.validate(Enhan cedClas sValidatorImpl.java:125) * $EnhancedClassValidator_10e1caf9548.validate($EnhancedClassValidator_ 10e1caf 9548.java) * org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.get Compone ntConstructor(ComponentConstructorFactoryImpl.java:103) * $ComponentConstructorFactory_10e1caf9537.getComponentConstructor($Com ponentC onstructorFactory_10e1caf9537.java) * org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoad er.java :519) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader .java:3 99) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageL oader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf 9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf 9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.create Implici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.proces s(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.proces s(Compo nentTemplateLoaderLogic.java:111) *
Re: Latest 4.1.1 tacos compatibility
Oh cool, thanks Andy ! :) I had no idea they were working together... And for the record, the dojo tree widget will not be making an appearance in tapestry if I can help it. A tree of some sort, just not that tree. On 10/6/06, Andreas Andreou [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: Yup. I downloaded the latest tacos and it seems to be working. Thanks. BTW, since you seem to be the first one to try this, could you give a report on which components do work with Tapestry 4.1.1 ? Do you include tacos' dojo, or do you let Tapestry 4.1.1 include its own? -Original Message- From: Andreas Andreou [mailto:[EMAIL PROTECTED] Sent: Friday, October 06, 2006 1:25 PM To: Tapestry users Subject: Re: Latest 4.1.1 tacos compatibility Norbert Sándor wrote: As I know T4.1.1 is not compatible with tacos at all. Yea, I haven't tried this at all... but for the record, which tacos version are you using? The maven repo ( http://tacos.sourceforge.net/nightly/ ) has an october 2 update for the 4.0.1-SNAPSHOT of tacos. If i'm not mistaken, Jesse recently changed the signature of getUpdateComponents() to return List instead of Collection. I've also made the same change in tacos, so perhaps those latest 2 SNAPSHOTs can work together ??? T4.1.1 has more enhanced functionality and it will have support for advanced dojo components like tree in the future. But if you need a tree in 4.1.1, I think that you should create your own component or wrapper around the dojo tree, or wait until it becomes part of the core... Maybe we should add a feature request to the jira and vote for it ;) Regards, Norbi [EMAIL PROTECTED] wrote: I just downloaded 4.1.1 SNAPSHOT and it appears that there is a tacos compatibility error with the latest build. I know that I shouldn't even expect 4.1.1 work with tacos, but after all they did work together as of yesterday. The only thing I upgraded was tapestry itself. I'm sure don't expect 100% compatibility; frankly I'm not that interested in ajax stuff from tacos since Im gonna use 4.1.1 now, the only thing I'm interested in is non-ajax tacos:tree. Any comments ? Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). org.apache.hivemind.ApplicationRuntimeException Error at classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54: Method 'public abstract java.util.List org.apache.tapestry.IDynamicInvoker.getUpdateComponents()' has no implementation in class net.sf.tacos.ajax.components.AjaxDirectLink (or enhanced subclass $AjaxDirectLink_21). location: classpath:/net/sf/tacos/ajax/components/AjaxDirectLink.jwc, line 7, column 54 2!DOCTYPE component-specification PUBLIC 3-//Apache Software Foundation//Tapestry Specification 4.0//EN 4http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd; 5 6component-specification class=net.sf.tacos.ajax.components.AjaxDirectLink 7allow-body=yes allow-informal-parameters=yes 8 9description 10Derivative of DirectLink with support for ajax requests. 11/description 12 Stack Trace: * org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler. java:39 ) * org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40) * org.apache.tapestry.enhance.EnhancedClassValidatorImpl.validate(Enhan cedClas sValidatorImpl.java:125) * $EnhancedClassValidator_10e1caf9548.validate($EnhancedClassValidator_ 10e1caf 9548.java) * org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.get Compone ntConstructor(ComponentConstructorFactoryImpl.java:103) * $ComponentConstructorFactory_10e1caf9537.getComponentConstructor($Com ponentC onstructorFactory_10e1caf9537.java) * org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoad er.java :519) * org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader .java:3 99) * org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageL oader.j ava:481) * $IPageLoader_10e1caf9531.createImplicitComponent($IPageLoader_10e1caf 9531.ja va) * $IPageLoader_10e1caf9532.createImplicitComponent($IPageLoader_10e1caf 9532.ja va) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.create Implici tComponent(ComponentTemplateLoaderLogic.java:218) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.proces s(Compo nentTemplateLoaderLogic.java:172) * org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.proces s(Compo nentTemplateLoaderLogic.java:111) *
Re: [OT] your tomcat config for you tapestry apps
If I can get through my configuration woes here I might make a contribution to it. Other than my current problem, the setup seems to be pretty good and scalable. Along the same lines, a page on setting up an easily testable development environment could be good also. We use maven, hsqldb, and jetty to test everything on the developer's machine and it's fantastic. On Fri, 2006-10-06 at 13:31 +0300, Andreas Andreou wrote: Those configuration ( tweaking ) questions arise from time to time. Even if it's a bit OT, it'd be nice to see all those recommendations in the wiki over at http://wiki.apache.org/tapestry/ Just like we have SuccessStories, we could have ConfigurationStories. Anyone willing to make the start? Daniel Jue wrote: We are still in the development stages, but we'll be running Tomcat 5.5.17 behind IIS and using the isapi redirector. Single JVM, with default memory settings right now. Since our Tapestry pages look like standard html (i.e. they don't end in .jsp), and since our IIS instance is shared with other web apps, the redirector is told to forward anything in our app's sub directory to Tomcat. So far the only issue I'm having at the moment is Hot Deploy is broken. This is a known problem and it has to do with the way the Windows file system locks the resources (especially Jar files, but sometimes others). Just FYI, the work-around(s) that are available are not real solutions. They involve making tomcat create a temporary copy of the web app for each time you hot deploy. You eat up space really quick (because it doesn't ever clean the temp directories) and it's slow. See the Tomcat newsgroups and bug reports for more info on this, since it's not Tapestry related. In addition, I chose Tomcat because: I'm semi-familiar with it (seen it used with success in the past), compared to OC4J/JBOSS After seeing how some Oracle documentation was written, I just didn't trust OC4J I found lots of threads online about how OC4J sucked I like the Apache foundation products. I knew at the time I could integrate it with Eclipse The amount of online articles/support/tutorials was sufficient for me. A lot of good Tapestry tutorials used Tomcat. On 10/5/06, Dan Adams [EMAIL PROTECTED] wrote: Do you run tomcat? Roughly what does your tomcat setup look like? - If you run virtual hosts do you run all apps in the same jvm or do you run multiple jvm instances? - What memory settings do you use? - Do you use tomcat with apache and if so what connector do you use? Mod_jk? jk2? mod_proxy? mod_proxy_ajp? - Any other tips your can give from experience? -- Dan Adams Senior Software Engineer Interactive Factory 617.235.5857 - 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] -- Dan Adams Senior Software Engineer Interactive Factory 617.235.5857 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: SSL Security Information Warning Tacos
Thanks Andy, that did the trick. On 10/5/06, andyhot [EMAIL PROTECTED] wrote: Perhaps use http://dojotoolkit.org/pipermail/dojo-checkins/2006-June/007071.html Jesse Kuhnert wrote: It's the iframe created to handle the background display. I've brought it up with one of the dojo devs (there are a few trac tickets open for it as well) but haven't gotten a response back yet. On 10/5/06, Chris Chiappone [EMAIL PROTECTED] wrote: I narrowed this down to something in the tacos:Dialog component. Any thoughts? On 10/5/06, Chris Chiappone [EMAIL PROTECTED] wrote: I checked the source of my page and there is no references to http anywhere. Also I haven't written any javascript in my page. Could it be some reference in the dojo package? On 10/4/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: IE Shows those when you try to switch between https and http in the same document. Must be that your script include protocol (ie http vs https ) isn't the same as your apps base protocol on this page. On 10/4/06, Chris Chiappone [EMAIL PROTECTED] wrote: Anybody have any idea about this? On 10/3/06, Chris Chiappone [EMAIL PROTECTED] wrote: Hi I am using tapestry 4 with tacos and notice when I include the following in my HeadDelegate to allow for tacos I get the annoying Security Popup about showing secure and non-secure items. Has anyone else ran into this? attributeList.clear(); att = new Attribute(type, text/javascript); attributeList.add(att); String script = + djConfig = { isDebug: false, + baseRelativePath: \js/dojo\, + preventBackButtonFix: false, + parseWidgets: false }; + ; createScriptTag(writer, attributeList, script); attributeList.clear(); att = new Attribute(type, text/javascript); attributeList.add(att); att = new Attribute(src, js/dojo/dojo.js); attributeList.add(att); createScriptTag(writer, attributeList, null); -- ~chris -- ~chris -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- ~chris -- ~chris -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- ~chris
Two rows for every item in a Contrib:Table's source collection
Hi, I'd like to use the Contrib:Table to display a collection of search results, but I'm not sure it can provide me what I want...any suggestions would be greatly appreciated. Our GUI designer wants us to provide search results in a table format like this: - | 1 | 337-360| lorem ipsum | blah | - | Document 337-360 is about blah and ..| - | 2 | 701-488| foo mellon| fsaj | - | Document 701-488 summary/except inf..| etc. Each result to be displayed would be rendered across 2 rows of a table, the second row with a colspan of 4. I'm looking at Kent Tong's excellent book (page 257) and I see that you can break up the Table component into its composite pieces like this: span jwcid=@TableView span jwcid=@TablePages/ table trspan jwcid=@TableColumns//tr tr jwcid=@TableRowstd jwcid=@TableValues//tr /table /span /span But I'm at a bit of a loss as to how to proceed. Should I extend my own TableRows object and have it spit out a separate row after it usually would? Any one out there have any code samples of something similar?? Thanks in advance, Tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
page flow management suggestions?
Hi there -- does anyone have any suggestions about tools to use to manage page flow within an application that works well with the Tapestry and an AJAX flow? I have looked a little at Spring's Webflow and there is also Seam from the Jboss people. I want to have the ability to be able to describe the flow irrespective of how that flow is rendered. By this I mean that sometimes the next step is going to be issuing some AJAX update to the existing page, while at other points it will result in an entirely new page. The Spring Webflow stuff seems to want to issue new pages, and while I am going to start that way I want to be able to gradually move to a more AJAXy way do doing things. I know to some degree I am going to run into the old problem of where to keep session state - on the client or the server. I am hoping that there will be help from one of these flow frameworks out there. Does anyone have any experience with any solutions out there? -Pat
How to observe property binding events
I've got a component which accepts a parameter. I want to listen (receive a callback) when the parameter is set (bound). Does Tapestry provide such a facility? Thanks, Ezra Epstein
Re: dojo DEBUG messages
Hi Jesse, I tried disabling the dojo debug message in the Shell component per your instructions but I get the following runtime exception: Component my page/component.shell allows only formal parameters, binding debugEnabled is not allowed. This is how I define the Shell component: component id=shell type=Shell binding name=title value=pageTitle/ binding name=debugEnabled value=false/ binding name=stylesheets{assets.style}/binding /component Am I doing something wrong? Thanks. Jesse Kuhnert wrote: Yeah, I thought the most common default behaviour would wanting debug on - so that's what I've done...If people find this to be counter-intuitive I'll disable it by default. You can control the log levels, as well as whether it's on at all via the @Shell component debugEnabled parameter. http://tapestry.apache.org/tapestry4.1/components/Shell.html On 10/3/06, Martin Strand [EMAIL PROTECTED] wrote: Hi all. How can I make Tapestry (4.1.1) suppress these dojo DEBUG messages? DEBUG: Opera is not supported with dojo.undo.browser, so back/forward detection will not work. - 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]
Re: using hivemind in a test situation... looking for example hivemodule xml files.
Thanks ... I think building the registry by hand is the way I should go... On 10/3/06, James Carman [EMAIL PROTECTED] wrote: You can either build up your registry by hand using the RegistryBuilder (do not call constructDefaultRegistry) or you can test your service implementations outside the registry and plug in the dependencies (perhaps using mock objects) by hand. I usually like to test outside the registry if at all possible.
Re: dojo DEBUG messages
Thanks for such a quick response, still no luck though. Leo Jesse Kuhnert wrote: Ahh..Looks like I made it so that you have to use an ognl expression ... Try debugEnabled=ognl:false . On 10/6/06, Leo Sakhvoruk [EMAIL PROTECTED] wrote: Hi Jesse, I tried disabling the dojo debug message in the Shell component per your instructions but I get the following runtime exception: Component my page/component.shell allows only formal parameters, binding debugEnabled is not allowed. This is how I define the Shell component: component id=shell type=Shell binding name=title value=pageTitle/ binding name=debugEnabled value=false/ binding name=stylesheets{assets.style}/binding /component Am I doing something wrong? Thanks. Jesse Kuhnert wrote: Yeah, I thought the most common default behaviour would wanting debug on - so that's what I've done...If people find this to be counter-intuitive I'll disable it by default. You can control the log levels, as well as whether it's on at all via the @Shell component debugEnabled parameter. http://tapestry.apache.org/tapestry4.1/components/Shell.html On 10/3/06, Martin Strand [EMAIL PROTECTED] wrote: Hi all. How can I make Tapestry (4.1.1) suppress these dojo DEBUG messages? DEBUG: Opera is not supported with dojo.undo.browser, so back/forward detection will not work. - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Bean Validator Question
Try moving the validation logic to the second component... I don't think rdg1Max has rewinded (and given a chance to update its value) when rdg's validator kicks in. Julian Wood wrote: Hmm, so am I off in left field here? Is it not possible to validate the contents of one field based on the contents of another, server-side? Is there a bug? Thanks, J On 1-Oct-06, at 8:31 PM, Julian Wood wrote: I'm using a bean for validation. In particular, I want to make sure that one field is lte another (think exam scores 6 out of 12). So I have a bean set up like this: bean name=maxOne lifecycle=none class=ca.ucalgary.commons.mt3.controller.MaxNullValidator set name=max value=ognl:record.rdg1Max/ /bean And components like this: component id=rdg1 type=TextField binding name=value value=ognl:record.rdg1/ binding name=translator value=translator:number/ binding name=displayName value=literal:rdg1/ binding name=validators value=beans.maxOne/ /component component id=rdg1Max type=TextField binding name=value value=ognl:record.rdg1Max/ binding name=translator value=translator:number/ binding name=displayName value=literal:rdg1 Max/ /component Template is like this: input jwcid=rdg1 class=score/ out of input jwcid=rdg1Max class=score/ Now ignoring the actual validation, which is simple, when I render this page, max is null as indicated by logging from the setter in maxOne, as expected. When I submit, however, it is still null. When the page comes back (after failing validation), the max is now set properly, and simply pressing submit again will succeed. The curious thing is if I do the same thing using Date, the date will be null on pageRender, but will take the value of the date on submit. With String, I have had it go both ways, so I have been bashing my head against the wall trying to figure out what the difference is, to no avail. I know I must be missing something. I've been playing with different object types and translators, but it all just confuses the issue. How do I make sure the setter for a bean validator is called properly (for an Integer) before the validate method on the validator is called? ie How do I ensure the behaviour seen for Date also works for an Integer? Thanks, J PS. I also know this would be easy using js, by overriding renderContribution, but we need server-side too. -- Julian Wood [EMAIL PROTECTED] Software Engineer Teaching Learning Centre University of Calgary http://tlc.ucalgary.ca -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Two rows for every item in a Contrib:Table's source collection
Have a normal contrib:Table with 5 columns... Add a custom renderer to the 4th column (using a correctly named @Block) In that block add a span jwcid=@Insert value=ognl:tableBreak/ Add a method public String getTableBreak() { return /td/trtrtd colspan='4'; } [EMAIL PROTECTED] wrote: Hi, I'd like to use the Contrib:Table to display a collection of search results, but I'm not sure it can provide me what I want...any suggestions would be greatly appreciated. Our GUI designer wants us to provide search results in a table format like this: - | 1 | 337-360| lorem ipsum | blah | - | Document 337-360 is about blah and ..| - | 2 | 701-488| foo mellon| fsaj | - | Document 701-488 summary/except inf..| etc. Each result to be displayed would be rendered across 2 rows of a table, the second row with a colspan of 4. I'm looking at Kent Tong's excellent book (page 257) and I see that you can break up the Table component into its composite pieces like this: span jwcid=@TableView span jwcid=@TablePages/ table trspan jwcid=@TableColumns//tr tr jwcid=@TableRowstd jwcid=@TableValues//tr /table /span /span But I'm at a bit of a loss as to how to proceed. Should I extend my own TableRows object and have it spit out a separate row after it usually would? Any one out there have any code samples of something similar?? Thanks in advance, Tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to observe property binding events
Yes, but the usefulness of my answer largely depends on how clever/efficient you are trying to be doing it. Now, there is IBinding. The one object to bind them all ;) If you work your way down the type hierarchy you'll find AbstractBinding, which holds the method you care about most - setObject. This will be called by tapestry when managing all of the page properties automagically for you. Some of the magic happens in (for your exact case at least) org.apache.tapestry.enhance.ParameterPropertyWorker. The other half of the work happens in each specific binding implementation that will handle these set/get object calls..(Like ognl bindings, etc..) I'm not sure where you are going with this but I guess you could use the hivemind chain of command service sort of configuration (like I did for org.apache.tapestry.services.ComponentRenderWorker ) to generically call a single interface method for a hivemind configuration point...Then you can contribute as many workers into the chain you like if you decide that you have more than one use for it. Again...Not knowing what you are doing - and taking the exact parameters given I'd probably extend and override the default ParameterPropertyWorker (a hivemind service, so replacing it inline with what Tapestry does already should be easy ) and just override whatever section of code I needed to in that implementation to inject + call my service reference. It may look a little complicated in there at first, but the whole org.apache.tapestry.enhance package is filled with lots of different enhancement works - and most of them inject a service into the object they work on...So finding an easier to follow worker to reference before modifying ParameterPropertyWorker might be easier. Hope that helps. On 10/6/06, Epstein, Ezra [EMAIL PROTECTED] wrote: I've got a component which accepts a parameter. I want to listen (receive a callback) when the parameter is set (bound). Does Tapestry provide such a facility? Thanks, Ezra Epstein -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com