Re: Nice speedup with prop
On 1/16/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: Yeah..The new ognl version should be just as fast as tapestry-prop. (only with the obvious benefits of supporting a full expression language) Interesting... I don't know when it will be released. The guy who owns opensymphony is supposedly in the process of setting up a new svn repo for it so I'll know then.. BTW Jesse are you part of that team too? -- Massimo http://meridio.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: PatternValidator with Tapesty 4.0
Yet again, mourn the passing of Spindle, which would warn you that set name=patternString value=[a-zA-Z]/ has an invalid OGNL expression for value. You want to pass a string, so use quotes: set name=patternString value='[a-zA-Z]'/ Cheers, Nick. Pratibha Gopalam wrote: Hello, Has anybody used PatternValidator with Tapestry 4.0? I would like to validate an user input against a pattern. I tried using the PatternValidator like below bean name=patternValidator class=org.apache.tapestry.valid.PatternValidator set name=clientScriptingEnabled value=true/ set name=required value=true/ set name=patternString value=[a-zA-Z]/ /bean but got exceptions saying patternString/pattern property not found in PatternValidator. Can anybody help me here? thanks, Pratibha - 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: Setting Focus to a formcomponent (4.1.2 SNAPSHOT)
Hi again! Found a working solution for my case Emptying the body part and simplifying the initalization part to document.getElemtentById(submittedId).focus() does the trick (parameters have to be adjusted, too) Regards, Patrick Hi! I'm trying to set the focus using the example script on tapestry's @Script-component page but every time i try the resulting page using firefox firebug shows me the error document.reportForm has no properties even though the script is completely defined after the form. I checked the generated JavaScript where the code looks correct (componentId is correctly set) I also recognized that the focus is set previous the @Script-caused include by tapestry itself to the first form-component of the page. Anyone could help me out here? Or is there maybe a way to manipulate tapestry's own focus-setting? Regards, Patrick - 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: OT: Better Java performance on Linux
We are doing all development and deployment on Linux (Unix) servers but one big difference I have noticed is when installing on Sun machines. We have an application deployed on a Sun-Fire v210 and the java part behaves much faster on sun than on a similar linux server while the C part behaves sometimes slower. Seems normal that the most optimisation takes place on the sun machines. Len www.len.ro On Tue, 2007-01-16 at 10:53 +0100, Inge Solvoll wrote: Sorry about this OT question, but I figured you guys were the right ones to ask about this. A friend of mine (big linux fan) told me that tests at his workplace indicated a huge (up to 500%) java performance gap between linux and windows on machines running on the same hardware, in favour of linux. Sorry also about the lack of detail here, I don't know the OS and Java version. I'll get more details from my friend if my description of the issue doesn't ring a bell with anyone. You can assume that all software is max 1-2 years old. Has anyone here experienced anything similar, with either OS performing vastly better on any java task? Is the gap widening or closing with newer versions of Java and OS? Thanks Inge
Re: Unusual caching problem
Peter Stavrinides wrote: Hi everyone I have developed an editable table similar to an excel spreadsheet. I use Tapestry 4.1 and a little Javascript to get it to work. when you edit a cell it affects corresponding cells etc just like a spreadsheet. My problem arises when I enable caching on tomcat, it no longer seems to refresh the table and the figures in corresponding cells do not get updated when I edit a cell, whereas in development with caching disabled it works perfectly... I don't even know where to start with this one, so any ideas about what could be going on would be appreciated. Well, it could be that you're incorrectly using lots of instance fields in your component class. In dev mode (caching disabled) they're always cleared, while in prod mode (caching enable) where component instances are reused you have to either clear them yourself, or allow tapestry to manage them (by using abstract getters and setters instead) Thanks Peter -- 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: Tap 4.1.2 : Asynchronous Selection Boxes does not work with Internet Explorer 6/7
Hi! To my knowledge there is none yet. This is the one thing that keeps us here from switching completely to Ajax... :| If you don't need a asynchronity, you could use synchronous updates for now... Regards, patrick I have run into the same problem of updating a child SelectionProperty in IE 6, as described in the following JIRA and an earlier post. https://issues.apache.org/jira/browse/TAPESTRY-1206 and also http://article.gmane.org/gmane.comp.java.tapestry.user/44438/match=stefan+esterer It would be appreciated if someone can share his/her solution. Shing Home page : http://uk.geocities.com/matmsh/index.html ___ New Yahoo! Mail is the ultimate force in competitive emailing. Find out more at the Yahoo! Mail Championships. Plus: play games and win prizes. http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk - 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: Nice speedup with prop
Actually, it looks like Jesse already has some numbers for us! http://blog.opencomponentry.com/2007/01/14/new-ognl-release-on-the-horizon-its-faster/ http://www.theserverside.com/news/thread.tss?thread_id=43837 On 1/15/07, DJ Gredler [EMAIL PROTECTED] wrote: I've had a similar experience. It will be very interesting to do some more performance testing if (when?) Jesse's OGNL enhancements get released. On 1/16/07, Henri Dupre [EMAIL PROTECTED] wrote: I switched many pages from our website to prop. The switch wasnt that straightforward (had to get rid of all the old properties in the .page files) but the speed boost is nice. Our main pages are almost 2x faster and the rendering time is now 100 ms!! -- Henri Dupre Actualis Center
RE: AW: Re: AW: download a file
Why not return an ILink from the listener ? http://tapestry.apache.org/tapestry4.1/usersguide/listenermethods.html Not sure about others, but I don't think this will work for me. I'm generating a PDF inside my listener, which I then wish to send to the client as a download. Any strategy for turning this into a URL won't work because there are too many variables for generating the PDF in the first place and I certainly can't serialize the byte array itself onto the URL. I usually have a method in an ASO which returns the byte array, given some id. The listener can setup the ASO accordingly and the service can serve out the content. Parameters for the service would be 1. name of the aso, 2. ognl-path to the byte-array from the aso. This way, I have generic ResourceService paired with a corresponding ResourceLink (derived from ServiceLink) that work in many apps by jar-dropping. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Ajax Loading Indicator (google style)
Hello all. I'm using Tapestry 4.1.1 and i'm learning to use ajax with it. Now i'm trying to make a loading indicator for ajax request when are loading, like google. So i make a simple div like this: div id=loader class=loaderLoading.../div and i want to make it visible when i run an EventListener and when it's finish, make it invisible. In other frameworks making this was very easy, but i dont know how to make it with Dojo, using something like Dojo.byId(loader).Show - when i get onloading ajax thing. Dojo.byId(loader).Hide - and whern i get oncomplete ajax thing. Anyone knows any way to do this? Theres is something like updateComponent to make it visible and invisible? Cheers - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ajax Loading Indicator (google style)
Hi Daniel, in the onLoad of Dojo you have to registered two functions dojo.event.connect(around, tapestry, loadContent, this, postLoading); dojo.event.connect(around, tapestry, linkOnClick, this, preLoading); These functions surround the tapestry functions responsible for updating content. function preLoading(miObj) { // // Get the id of updated component var id = miObj.args[1]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } function postLost(miObj) { // // Get the id of updated component var id = miObj.args[0]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } ciao.michael. -Ursprüngliche Nachricht- Von: Tapestry users users@tapestry.apache.org Gesendet: 16.01.07 14:03:40 An: Tapestry users users@tapestry.apache.org Betreff: Ajax Loading Indicator (google style) Hello all. I'm using Tapestry 4.1.1 and i'm learning to use ajax with it. Now i'm trying to make a loading indicator for ajax request when are loading, like google. So i make a simple div like this: div id=loader class=loaderLoading.../div and i want to make it visible when i run an EventListener and when it's finish, make it invisible. In other frameworks making this was very easy, but i dont know how to make it with Dojo, using something like Dojo.byId(loader).Show - when i get onloading ajax thing. Dojo.byId(loader).Hide - and whern i get oncomplete ajax thing. Anyone knows any way to do this? Theres is something like updateComponent to make it visible and invisible? Cheers - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Viren-Scan für Ihren PC! Jetzt für jeden. Sofort, online und kostenlos. Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=02 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ajax Loading Indicator (google style)
Yep, that's a nice way of doing this... It's also how effects are currently implemented http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/fx.js?view=markup Anyway, Daniel, it wouldn't hurt adding a JIRA request for this feature - i know i'll need something like this in the very near future. I also think i like the Microsoft way of doing this, i.e. with a component div jwcid=@contrib:ShowOnAjax ... /div instead of the tacos way, i.e. with the statusElement parameter for every link of form component ( http://tacos.sourceforge.net/components/AjaxDirectLink.html ) [EMAIL PROTECTED] wrote: Hi Daniel, in the onLoad of Dojo you have to registered two functions dojo.event.connect(around, tapestry, loadContent, this, postLoading); dojo.event.connect(around, tapestry, linkOnClick, this, preLoading); These functions surround the tapestry functions responsible for updating content. function preLoading(miObj) { // // Get the id of updated component var id = miObj.args[1]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } function postLost(miObj) { // // Get the id of updated component var id = miObj.args[0]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } ciao.michael. -Ursprüngliche Nachricht- Von: Tapestry users users@tapestry.apache.org Gesendet: 16.01.07 14:03:40 An: Tapestry users users@tapestry.apache.org Betreff: Ajax Loading Indicator (google style) Hello all. I'm using Tapestry 4.1.1 and i'm learning to use ajax with it. Now i'm trying to make a loading indicator for ajax request when are loading, like google. So i make a simple div like this: div id=loader class=loaderLoading.../div and i want to make it visible when i run an EventListener and when it's finish, make it invisible. In other frameworks making this was very easy, but i dont know how to make it with Dojo, using something like Dojo.byId(loader).Show - when i get onloading ajax thing. Dojo.byId(loader).Hide - and whern i get oncomplete ajax thing. Anyone knows any way to do this? Theres is something like updateComponent to make it visible and invisible? Cheers - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Viren-Scan für Ihren PC! Jetzt für jeden. Sofort, online und kostenlos. Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=02 - 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: OT: Better Java performance on Linux
Inge Solvoll [EMAIL PROTECTED] wrote on 16/01/2007 09:53:50: A friend of mine (big linux fan) told me that tests at his workplace indicated a huge (up to 500%) java performance gap between linux and windows snip Has anyone here experienced anything similar, with either OS performing vastly better on any java task? Is the gap widening or closing with newer versions of Java and OS? The reason for this is probably that the windows version of Sun's JVM is set up with defaults for memory sizes and garbage colletion algorythms which are optimised for a desktop pc, not a server. All of these options can be changed manually, and a true comparions can only be made where both instances are set up with the same values on the same hardware. At a simple level using -server on both will narrow the gap, but only a good knowledge (and a refrence book) will ensure that the two things are the same. You should tune your server processes, and refine your applications, according to the resource use that you measure in tests and in the wild. I'm sorry I don't have a refrence for you to look at, but you might like to look at my slides from apacheconEU06 at which I talked about Garbage collection tuning. d. *** The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient please delete the message from your computer. You may not copy or forward it or use or disclose its contents to any other person. As Internet communications are capable of data corruption Student Loans Company Limited does not accept any responsibility for changes made to this message after it was sent. For this reason it may be inappropriate to rely on advice or opinions contained in an e-mail without obtaining written confirmation of it. Neither Student Loans Company Limited or the sender accepts any liability or responsibility for viruses as it is your responsibility to scan attachments (if any). Opinions and views expressed in this e-mail are those of the sender and may not reflect the opinions and views of The Student Loans Company Limited. This footnote also confirms that this email message has been swept for the presence of computer viruses. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: OT: Better Java performance on Linux
Inge Solvoll [EMAIL PROTECTED] wrote on 16/01/2007 09:53:50: A friend of mine (big linux fan) told me that tests at his workplace indicated a huge (up to 500%) java performance gap between linux and windows Of course you have to also ask what he calls performance, what did he measure, response time, throughput, resource consumption, transaction rates, concurrency, something else? d. *** The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient please delete the message from your computer. You may not copy or forward it or use or disclose its contents to any other person. As Internet communications are capable of data corruption Student Loans Company Limited does not accept any responsibility for changes made to this message after it was sent. For this reason it may be inappropriate to rely on advice or opinions contained in an e-mail without obtaining written confirmation of it. Neither Student Loans Company Limited or the sender accepts any liability or responsibility for viruses as it is your responsibility to scan attachments (if any). Opinions and views expressed in this e-mail are those of the sender and may not reflect the opinions and views of The Student Loans Company Limited. This footnote also confirms that this email message has been swept for the presence of computer viruses. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Submit form and bypass validation
You can also use Form's refresh listener to bypass client-side validation. Note that calling clearErrors() on the validation delegate can have undesired consequences: http://issues.apache.org/jira/browse/TAPESTRY-867 Ben -Original Message- From: Patrick Klein [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 16, 2007 2:39 AM To: Tapestry users Subject: Re: Submit form and bypass validation Hi! Is it possible to have a submit button on a form that can call a listener bypassing any validation set for the form (without having to explicitly code around validation in the listener)? This is useful when buttons modify the structure of the form: e.g add or remove form components. You could clear the errors saved in the forms delegate using its clearErrors() method in this specific listener. Patrick - 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: Ajax Loading Indicator (google style)
I think I forgot to mention that fx.js was my inspiration ;) @ShowOnAjax should also have a parameter with a list of components. @ShowOnAjax then only reacts on Ajax-Events within those components. @ShowOnAjax could also have two subcomponents like a4j:status. ciao.michael. -Ursprüngliche Nachricht- Von: Tapestry users users@tapestry.apache.org Gesendet: 16.01.07 15:27:12 An: Tapestry users users@tapestry.apache.org Betreff: Re: Ajax Loading Indicator (google style) Yep, that's a nice way of doing this... It's also how effects are currently implemented http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/fx.js?view=markup Anyway, Daniel, it wouldn't hurt adding a JIRA request for this feature - i know i'll need something like this in the very near future. I also think i like the Microsoft way of doing this, i.e. with a component div jwcid=@contrib:ShowOnAjax ... /div instead of the tacos way, i.e. with the statusElement parameter for every link of form component ( http://tacos.sourceforge.net/components/AjaxDirectLink.html ) [EMAIL PROTECTED] wrote: Hi Daniel, in the onLoad of Dojo you have to registered two functions dojo.event.connect(around, tapestry, loadContent, this, postLoading); dojo.event.connect(around, tapestry, linkOnClick, this, preLoading); These functions surround the tapestry functions responsible for updating content. function preLoading(miObj) { // // Get the id of updated component var id = miObj.args[1]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } function postLost(miObj) { // // Get the id of updated component var id = miObj.args[0]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } ciao.michael. -Ursprüngliche Nachricht- Von: Tapestry users users@tapestry.apache.org Gesendet: 16.01.07 14:03:40 An: Tapestry users users@tapestry.apache.org Betreff: Ajax Loading Indicator (google style) Hello all. I'm using Tapestry 4.1.1 and i'm learning to use ajax with it. Now i'm trying to make a loading indicator for ajax request when are loading, like google. So i make a simple div like this: div id=loader class=loaderLoading.../div and i want to make it visible when i run an EventListener and when it's finish, make it invisible. In other frameworks making this was very easy, but i dont know how to make it with Dojo, using something like Dojo.byId(loader).Show - when i get onloading ajax thing. Dojo.byId(loader).Hide - and whern i get oncomplete ajax thing. Anyone knows any way to do this? Theres is something like updateComponent to make it visible and invisible? Cheers - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Viren-Scan für Ihren PC! Jetzt für jeden. Sofort, online und kostenlos. Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=02 - 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] __ XXL-Speicher, PC-Virenschutz, Spartarife mehr: Nur im WEB.DE Club! Jetzt gratis testen! http://freemail.web.de/home/landingpad/?mc=021130 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AW: Re: AW: download a file
Yep. That's exactly how I have done it in the past. On 1/16/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Why not return an ILink from the listener ? http://tapestry.apache.org/tapestry4.1/usersguide/listenermethods.html Not sure about others, but I don't think this will work for me. I'm generating a PDF inside my listener, which I then wish to send to the client as a download. Any strategy for turning this into a URL won't work because there are too many variables for generating the PDF in the first place and I certainly can't serialize the byte array itself onto the URL. I usually have a method in an ASO which returns the byte array, given some id. The listener can setup the ASO accordingly and the service can serve out the content. Parameters for the service would be 1. name of the aso, 2. ognl-path to the byte-array from the aso. This way, I have generic ResourceService paired with a corresponding ResourceLink (derived from ServiceLink) that work in many apps by jar-dropping. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
problem with restart service: exception thrown on session.flush()
I have on a server log an exception every time the restart service is called - does anyone have a clue how to get rid of that? Cheers, Ron java.lang.IllegalStateException: setAttribute: Session already invalidated org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1251) org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1233) org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:129) org.apache.tapestry.web.ServletWebSession.setAttribute(ServletWebSession.java:62) org.apache.tapestry.engine.state.SessionScopeManager.store(SessionScopeManager.java:90) $StateObjectPersistenceManager_1102bbc5ae2.store($StateObjectPersistenceManager_1102bbc5ae2.java) org.apache.tapestry.engine.state.StateObjectManagerImpl.store(StateObjectManagerImpl.java:56) org.apache.tapestry.engine.state.ApplicationStateManagerImpl.flush(ApplicationStateManagerImpl.java:87) $ApplicationStateManager_1102bbc59ea.flush($ApplicationStateManager_1102bbc59ea.java) $ApplicationStateManager_1102bbc59eb.flush($ApplicationStateManager_1102bbc59eb.java) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:283) com.maxtrading.web.common.core.tapestry.BdkEngine.service(BdkEngine.java:36) org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54) $WebRequestServicer_1102bbc5abd.service($WebRequestServicer_1102bbc5abd.java) $WebRequestServicer_1102bbc5abb.service($WebRequestServicer_1102bbc5abb.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61) $ServletRequestServicer_1102bbc5ab4.service($ServletRequestServicer_1102bbc5ab4.java) org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55) $ServletRequestServicerFilter_1102bbc5ab0.service($ServletRequestServicerFilter_1102bbc5ab0.java) $ServletRequestServicer_1102bbc5ab6.service($ServletRequestServicer_1102bbc5ab6.java) org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52) $ServletRequestServicerFilter_1102bbc5aae.service($ServletRequestServicerFilter_1102bbc5aae.java) $ServletRequestServicer_1102bbc5ab6.service($ServletRequestServicer_1102bbc5ab6.java) org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53) $ServletRequestServicerFilter_1102bbc5ab2.service($ServletRequestServicerFilter_1102bbc5ab2.java) $ServletRequestServicer_1102bbc5ab6.service($ServletRequestServicer_1102bbc5ab6.java) $ServletRequestServicer_1102bbc5a20.service($ServletRequestServicer_1102bbc5a20.java) org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123) org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
FormLinkRenderer + ServiceExtensionEncoder - NPE
Tapestry 4 - Java 1.5 - Tomcat 5.5.9 Our app is using the page, direct and service ServiceEncoders for pretty urls. I am using the FormLinkRenderer to bypass the ~2kb url limit in IE. I am running into an NPE on line 154 of the FormLinkRenderer. This occurs because the link returns a null array for a parameter name, in this case service. The FormLinkRenderer then attempts to call length on the array therby commiting suicide. This occurs because the ServiceEncoders, when moving query params to the path, set parameterValues to null after adding them in the servlet path. E.g. (from ServiceExtensionEncoder): encoding.setServletPath(/ + service + . + _extension); encoding.setParameterValue(ServiceConstants.SERVICE, null); The problem is that setting a param value to null, does not actually remove the entry. So the underlying map of query params still has entries with null values. Why keep the entries? Does the framework require it later on? It would seem to be safer to add a removeParameter method to the ServiceEncoding interface, or perhaps the QueryParameterMap should remove the entry if a null value is passed? Carlos - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ajax Loading Indicator (google style)
Thanks mkreis. I was trying to work this out like you told me, but i can't get the hide/show effect when is loading.. I've been many hours searching on the web for an explination but i still can't get it. So i dicede to show you the html rendered, maybe you can find easely what's my problem. html rendered: html head meta name=generator content=Tapestry Application Framework, version 4.1.1 / meta http-equiv=content content=no-cache / meta http-equiv=Content-Type content=text/html;charset=UTF-8 / titleRemote Control/title script type=text/javascriptdjConfig = {isDebug:true,debugContainerId:debug,baseRelativePath:/RemoteControl/app?service=assetpath=%2Fdojo%2F,preventBackButtonFix:false,parseWidgets:false,locale:es-ar} /script script type=text/javascript src=/RemoteControl/app?service=assetpath=%2Fdojo%2Fdojo.js/script script type=text/javascript dojo.registerModulePath(tapestry, /RemoteControl/app?service=assetpath=%2Ftapestry%2F); /script script type=text/javascript src=/RemoteControl/app?service=assetpath=%2Ftapestry%2Fcore.js/script script type=text/javascript dojo.require(dojo.logging.Logger); dojo.log.setLevel(dojo.log.getLevel(WARNING)); dojo.require(tapestry.namespace); /script link rel=stylesheet type=text/css media=all href=stylesheets/main.css / /head head titleRemote Control/title script type=javascript dojo.require(dojo.lfx.html.*); dojo.event.connect(around, tapestry, loadContent, this, postLoading); dojo.event.connect(around, tapestry, linkOnClick, this, preLoading); function preLoading(miObj){ // // Get the id of updated component var id = miObj.args[1]; // // Here your code dojo.lfx.html.fadeShow(dojo.byId('loader'), 500).play(); return miObj.proceed(); } function postLoading(miObj){ // // Get the id of updated component var id = miObj.args[0]; // // Here your code dojo.lfx.html.fadeHide(dojo.byId('loader'), 500).play(); return miObj.proceed(); } /script /head body onload=dojo.lfx.html.fadeHide(dojo.byId('loader'), 500).play(); id=Body script type=text/javascript!-- dojo.require(tapestry.event); // --/script div id=loader class=loaderLoading.../div ...etc... and when i make a componentUpdate with an EventListener nothing happens.. no loading indicator appears.. and the ldx fade effect works fine in onload... i think the functions are'nt called... or maybe i'm just doing the hole thing wrong!? please help! Cheers [EMAIL PROTECTED] escribió: I think I forgot to mention that fx.js was my inspiration ;) @ShowOnAjax should also have a parameter with a list of components. @ShowOnAjax then only reacts on Ajax-Events within those components. @ShowOnAjax could also have two subcomponents like a4j:status. ciao.michael. -Ursprüngliche Nachricht- Von: Tapestry users users@tapestry.apache.org Gesendet: 16.01.07 15:27:12 An: Tapestry users users@tapestry.apache.org Betreff: Re: Ajax Loading Indicator (google style) Yep, that's a nice way of doing this... It's also how effects are currently implemented http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/fx.js?view=markup Anyway, Daniel, it wouldn't hurt adding a JIRA request for this feature - i know i'll need something like this in the very near future. I also think i like the Microsoft way of doing this, i.e. with a component div jwcid=@contrib:ShowOnAjax ... /div instead of the tacos way, i.e. with the statusElement parameter for every link of form component ( http://tacos.sourceforge.net/components/AjaxDirectLink.html ) [EMAIL PROTECTED] wrote: Hi Daniel, in the onLoad of Dojo you have to registered two functions dojo.event.connect(around, tapestry, loadContent, this, postLoading); dojo.event.connect(around, tapestry, linkOnClick, this, preLoading); These functions surround the tapestry functions responsible for updating content. function preLoading(miObj) { // // Get the id of updated component var id = miObj.args[1]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } function postLost(miObj) { // // Get the id of updated component var id = miObj.args[0]; // // Here your code Dojo.byId(loader).Show return miObj.proceed(); } ciao.michael. -Ursprüngliche Nachricht- Von: Tapestry users users@tapestry.apache.org Gesendet: 16.01.07 14:03:40 An: Tapestry users users@tapestry.apache.org Betreff: Ajax Loading Indicator (google style) Hello all. I'm using Tapestry 4.1.1 and i'm learning to use ajax with it. Now i'm trying to make a
new binding similiar to context:
How would I go about creating a new binding static: used for assets instead of context: in order to direct assets to a server used only for static data? Is this possible? Thanks, Marcus
Re: script initializtion calls and event binding
The context of this is probably what is breaking. That particular keyword is deceptively similar to java this but much more specific. in a block like : dojo.addOnLoad(function(){ }); this refers to the closest containing object. In this case that would be the anonymous function(){} object. If you want to bind to something like the window being loaded reference window.onLoad.bindAs If it's the document you want to do it on do document.onLoad.bindAsblah bah ...Etc.. etc.. On 1/16/07, Chris Norris [EMAIL PROTECTED] wrote: Please bear with me though this explanation. We have some code that is broken, I believe, by the inclusion of all script initialization code in a dojo.addOnLoad call. The code this is being broken is a call to Scriptaculous' Event.observe: Event.observe(this.picture, load, this.onLoad.bindAsEventListener(this)); Even after this.picture loads, the this.onLoad function is never called. If, however, we take this code out of an initialize block in a script file and just include it in the html template in a normal Javascript block, it works fine. Something about dojo.addOnLoad is breaking the Scriptaculous Event handling. Has anyone ran into anything like this? If I didn't make the problem clear, let me know. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: script initializtion calls and event binding
Thanks for the reply. I think that's possible and I'll check it out, but I wanted to post a little more code. The example I gave was perhaps too simplified. Here's the line that is called in the initialization block: var cropper = new Cropper.Picture('${imageId}', options); and here's the constructor from the cropper.js file: Cropper.Picture.prototype = { initialize: function(element, options) { this.options = options || {handle: 'handle'}; this.picture = $(element); this.picContainer = this.picture.parentNode.parentNode; this.picContainer.style.cursor = crosshair; this.dragging = false; Event.observe(this.picture, load, this.onLoad.bindAsEventListener(this)); }, onLoad: function(event){ alert(I've been called!); }, I would think that in the context of the initialize function in the prototype that the this would be referring to the correct thing. -Original Message- From: Jesse Kuhnert [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 16, 2007 4:42 PM To: Tapestry users Subject: Re: script initializtion calls and event binding The context of this is probably what is breaking. That particular keyword is deceptively similar to java this but much more specific. in a block like : dojo.addOnLoad(function(){ }); this refers to the closest containing object. In this case that would be the anonymous function(){} object. If you want to bind to something like the window being loaded reference window.onLoad.bindAs If it's the document you want to do it on do document.onLoad.bindAsblah bah ...Etc.. etc.. On 1/16/07, Chris Norris [EMAIL PROTECTED] wrote: Please bear with me though this explanation. We have some code that is broken, I believe, by the inclusion of all script initialization code in a dojo.addOnLoad call. The code this is being broken is a call to Scriptaculous' Event.observe: Event.observe(this.picture, load, this.onLoad.bindAsEventListener(this)); Even after this.picture loads, the this.onLoad function is never called. If, however, we take this code out of an initialize block in a script file and just include it in the html template in a normal Javascript block, it works fine. Something about dojo.addOnLoad is breaking the Scriptaculous Event handling. Has anyone ran into anything like this? If I didn't make the problem clear, let me know. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - 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: Problem with InlineEditBox and Tapestry 4.1.1
Does anyone have an opinion as to whether or not this something I'm doing wrong or a bug? I'm really stuck. Should I switch to a 4.1.2 snapshot? Will this solve the problem? Only hesitation is that this is going to go to production soon... Help would be much appreciated. -Original Message- From: Leffel, Daniel [mailto:[EMAIL PROTECTED] Sent: Monday, January 15, 2007 4:31 PM To: users@tapestry.apache.org Subject: Problem with InlineEditBox and Tapestry 4.1.1 Hi all, I'm trying to use the InlineEditBox component. In looking at my debug, I see Dojo/Tapestry is trying to load the following classpath resource: /dojo/src/widget/html/ContentPane.js. After inspecting the Tapestry 4.1.1 distribution jar, that content is actually located at /dojo/src/widget/ContentPane.js. (See debug below) Am I doing something wrong? Source and debug is below: HTML: html jwcid=@Shell title=Vino Admin: Edit Styles stylesheets='ognl:{getAsset(mainStyleSheet), getAsset(adminStyleSheet)}' body jwcid=@Body class=body span jwcid=@Form table border=0 tr jwcid=@For source=ognl:styles value=ognl:style element=tr td width=50span jwcid=@Checkbox value=ognl:style.enabled //td td width=200span jwcid=@InlineEditBox value=ognl:style.styleName //td /tr /table /span /body /html Console Debug: DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2Fsrc/widget/html/ContentPane.js with error: [SyntaxError: XML tag name mismatch (expected HR), file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 96] DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2Fsrc/widget/html.js with error: [SyntaxError: XML tag name mismatch (expected HR), file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 96] DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2Fsrc/widget.js with error: [SyntaxError: XML tag name mismatch (expected HR), file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 96] DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2Fsrc/__package__.js with error: [SyntaxError: XML tag name mismatch (expected HR), file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 96] DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2Fsrc.js with error: [SyntaxError: XML tag name mismatch (expected HR), file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 96] DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2F__package__.js with error: [SyntaxError: XML tag name mismatch (expected HR), file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 96] FATAL: Could not load 'dojo.widget.html.ContentPane'; last tried '__package__.js' DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2Fsrc/widget/ContentPane.js with error: [Error: Could not load 'dojo.widget.html.ContentPane'; last tried '__package__.js', file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 84] DEBUG: failed loading /V2/app?service=assetpath=%2Fdojo%2F../tapestry/namespace.js with error: [TypeError: dojo.hostenv.moduleHasPrefix is not a function, file: http://127.0.0.1:8080/V2/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 116] DEBUG: no tag handler registed for type: dojo:inlineeditbox - 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: Nice speedup with prop
On 1/16/07, Holger Stolzenberg [EMAIL PROTECTED] wrote: But should there be no logic in the templates ? I don't really care if there is, or not, any logic in the templates, but doing some simple comparisons with ognl is saving me lots of uninteresting java code. -- Henri Dupre Actualis Center
Render qustion , Tapestry 4.1.2 , IE
I have noticed that page rendering on Internet Explorer seems to have flicker effect and you can see the page getting loaded twice , very distinctly. This can be observed even in the Tapestry 4.1.2 demo : http://opencomponentry.com:8080/timetracker/app . If the refresh button is pressed on the page, one can distinctly make out the render happening twice. This seems to happen far more distinctly in Internet Explorer (v 6.0) than Firefox. What causes this ? Is there any way to improve this ? regards, Nalin. NOTICE This e-mail and any attachments are confidential and may contain copyright material of Macquarie Bank or third parties. If you are not the intended recipient of this email you should not read, print, re-transmit, store or act in reliance on this e-mail or any attachments, and should destroy all copies of them. Macquarie Bank does not guarantee the integrity of any emails or any attached files. The views or opinions expressed are the author's own and may not reflect the views or opinions of Macquarie Bank.