RE: Memory consumption in T4.1.2 - Hard data
But that POM does use snapshots. You shouldn't need the repository http://people.apache.org/repo/m2-snapshot-repository at all. Probably, there are no very significant differences between the latest 4.1.2 snapshot and the release. But nevertheless, for a productive environment, I'd always go with a released version. -Original Message- From: Peter Stavrinides [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 7:45 AM To: Tapestry users Subject: Re: Memory consumption in T4.1.2 - Hard data This is my POM: repositories repository releases updatePolicyalways/updatePolicy checksumPolicywarn/checksumPolicy /releases snapshots updatePolicyalways/updatePolicy checksumPolicyfail/checksumPolicy repository idapache.snapshots/id urlhttp://people.apache.org/repo/m2-snapshot-repository/url /repository /repositories dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-portlet/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency [EMAIL PROTECTED] wrote: my configuration is as follows: JDK 6.01 32bit JVM (I have also tested on a 64 bit with no luck) Tomcat 5.5.20 Debian Linux (2.6.15.28 kernel) Tapestry 4.1.2-SNAPSHOT with ognl 2.7 Hi Peter, 4.1.2-SNAPSHOT is a typo, I suppose? regards, Peter Jesse Kuhnert wrote: I'd downgrade then if I were you. Extensive profiling with yourkit hasn't shed any new light on whatever problems others are having. The OGNL classes indeed aren't being kept in the javassist pool from what I can tell. I have another yourkit snapshot binary to look at so we'll see what that says. I don't remember - have you filed any bug reports or reported any problems? Are you getting ognl exceptions during development as well as production? Do these errors sound like umpotential errors that should be looked at further? On 8/28/07, Peter Stavrinides [EMAIL PROTECTED] wrote: Hi Jessie Any progress on this? sorry to bug you, but I have to take a decision soon, I have two production machines that will need to upgrade or downgrade Tapestry. Best wishes, Peter Jon Oakes wrote: Hi Bryan, I am a relative newbie but I was wondering if you are running with caching enabled or disabled? It might make sense to keep things around when caching is disabled whereas I think it would clearly be a bug to keep things around with it disabled. Jon Oakes Jesse Kuhnert wrote: Hmmm...well, I don't think I like the sound of any of that. I'm just going to pretend this problem doesn't exist. (just kidding) I had thought I was doing something special with the ognl compilations that would cause its generated classes to not hang around afterwards in any pools. I'll take a look at things this weekend and am sure a fix will appear in between now and Monday - if there is a reasonable fix to be found. (in 4.1.3 snapshot form) On 8/24/07, Bryan Dotzour [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: I and another colleague of mine have been investigating what seems to be a memory leak in our Tapestry application for about a month since we upgraded to T4.1.2. I won't bore you with the saga of the last month, but I would like to present the data I've gathered and look to the list for a proposed solution. I was reading a recent thread in which Jesse said (08/09/2007): There is a map that grows as large as the system using it internally to javassist of various cached reflection info - but it doesn't leak in any way. This is precisely what I've found in profiling our application and it *appears* to be this map that is causing our applications to eventually run out of memory. The YourKit profiler shows me that, as time goes on, there is an instance of HiveMindClassPool that grows and grows as class instances are created. This class extends from javassist.ClassPool and is the map that Jesse is talking about in his quote above. And he's right, I wouldn't say that the class
Re: Memory consumption in T4.1.2 - Hard data
Correct me if I am wrong 4.1.2 is not released as yet, and not in the main repository, so how else would I get to it? [EMAIL PROTECTED] wrote: But that POM does use snapshots. You shouldn't need the repository http://people.apache.org/repo/m2-snapshot-repository at all. Probably, there are no very significant differences between the latest 4.1.2 snapshot and the release. But nevertheless, for a productive environment, I'd always go with a released version. -Original Message- From: Peter Stavrinides [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 7:45 AM To: Tapestry users Subject: Re: Memory consumption in T4.1.2 - Hard data This is my POM: repositories repository releases updatePolicyalways/updatePolicy checksumPolicywarn/checksumPolicy /releases snapshots updatePolicyalways/updatePolicy checksumPolicyfail/checksumPolicy repository idapache.snapshots/id urlhttp://people.apache.org/repo/m2-snapshot-repository/url /repository /repositories dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-portlet/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency [EMAIL PROTECTED] wrote: my configuration is as follows: JDK 6.01 32bit JVM (I have also tested on a 64 bit with no luck) Tomcat 5.5.20 Debian Linux (2.6.15.28 kernel) Tapestry 4.1.2-SNAPSHOT with ognl 2.7 Hi Peter, 4.1.2-SNAPSHOT is a typo, I suppose? regards, Peter Jesse Kuhnert wrote: I'd downgrade then if I were you. Extensive profiling with yourkit hasn't shed any new light on whatever problems others are having. The OGNL classes indeed aren't being kept in the javassist pool from what I can tell. I have another yourkit snapshot binary to look at so we'll see what that says. I don't remember - have you filed any bug reports or reported any problems? Are you getting ognl exceptions during development as well as production? Do these errors sound like umpotential errors that should be looked at further? On 8/28/07, Peter Stavrinides [EMAIL PROTECTED] wrote: Hi Jessie Any progress on this? sorry to bug you, but I have to take a decision soon, I have two production machines that will need to upgrade or downgrade Tapestry. Best wishes, Peter Jon Oakes wrote: Hi Bryan, I am a relative newbie but I was wondering if you are running with caching enabled or disabled? It might make sense to keep things around when caching is disabled whereas I think it would clearly be a bug to keep things around with it disabled. Jon Oakes Jesse Kuhnert wrote: Hmmm...well, I don't think I like the sound of any of that. I'm just going to pretend this problem doesn't exist. (just kidding) I had thought I was doing something special with the ognl compilations that would cause its generated classes to not hang around afterwards in any pools. I'll take a look at things this weekend and am sure a fix will appear in between now and Monday - if there is a reasonable fix to be found. (in 4.1.3 snapshot form) On 8/24/07, Bryan Dotzour [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: I and another colleague of mine have been investigating what seems to be a memory leak in our Tapestry application for about a month since we upgraded to T4.1.2. I won't bore you with the saga of the last month, but I would like to present the data I've gathered and look to the list for a proposed solution. I was reading a recent thread in which Jesse said (08/09/2007): There is a map that grows as large as the system using it internally to javassist of various cached reflection info - but it doesn't leak in any way. This is precisely what I've found in profiling our application and it *appears* to be this map that is causing our applications to eventually run out
AW: Memory consumption in T4.1.2 - Hard data
T4.1.2 is released and in the main repo: http://mvnrepository.com/artifact/org.apache.tapestry/tapestry-framework My POM: dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2/version /dependency dependency groupIdcom.ewerk/groupId artifactIdewerk-tapestry-components/artifactId version0.0.7/version /dependency dependency groupIdcom.javaforge.tapestry/groupId artifactIdtapestry-spring/artifactId version1.0.0/version !-- exclude the old referenced version of tapestry -- exclusions exclusion groupIdtapestry/groupId artifactIdtapestry/artifactId /exclusion exclusion groupIdtapestry/groupId artifactIdtapestry-annotations/artifactId /exclusion /exclusions /dependency Mit lieben Grüßen aus dem eWerk | Holger Stolzenberg | Softwareentwickler | | Geschäftsführer: | Frank Richter, Erik Wende, Hendrik Schubert | | eWerk IT GmbH | Markt 16 | Leipzig 04109 | http://www.ewerk.com | HRB 9065, AG Leipzig | Hauptniederlassung Leipzig | | fon +49.341.4 26 49-0 | fax +49.341.4 26 49-88 | mailto:[EMAIL PROTECTED] | | Support: | fon 0700 CALLME24 (0700 22556324) | fax 0700 CALLME24 (0700 22556324) | | Auskünfte und Angebote per Mail | sind freibleibend und unverbindlich. -Ursprüngliche Nachricht- Von: Peter Stavrinides [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 29. August 2007 09:31 An: Tapestry users Betreff: Re: Memory consumption in T4.1.2 - Hard data Correct me if I am wrong 4.1.2 is not released as yet, and not in the main repository, so how else would I get to it? [EMAIL PROTECTED] wrote: But that POM does use snapshots. You shouldn't need the repository http://people.apache.org/repo/m2-snapshot-repository at all. Probably, there are no very significant differences between the latest 4.1.2 snapshot and the release. But nevertheless, for a productive environment, I'd always go with a released version. -Original Message- From: Peter Stavrinides [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 7:45 AM To: Tapestry users Subject: Re: Memory consumption in T4.1.2 - Hard data This is my POM: repositories repository releases updatePolicyalways/updatePolicy checksumPolicywarn/checksumPolicy /releases snapshots updatePolicyalways/updatePolicy checksumPolicyfail/checksumPolicy repository idapache.snapshots/id urlhttp://people.apache.org/repo/m2-snapshot-repository/url /repository /repositories dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-portlet/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency [EMAIL PROTECTED] wrote: my configuration is as follows: JDK 6.01 32bit JVM (I have also tested on a 64 bit with no luck) Tomcat 5.5.20 Debian Linux (2.6.15.28 kernel) Tapestry 4.1.2-SNAPSHOT with ognl 2.7 Hi Peter, 4.1.2-SNAPSHOT is a typo, I suppose? regards, Peter Jesse Kuhnert wrote: I'd downgrade then if I were you. Extensive profiling with yourkit hasn't shed any new light on whatever problems others are having. The OGNL classes indeed aren't being kept in the javassist pool from what I can tell. I have another yourkit snapshot binary to look at so we'll see what that says. I don't remember - have you filed any bug reports or reported any problems? Are you getting ognl exceptions during development as well as production? Do these errors sound like umpotential errors that should be looked at further? On 8/28/07, Peter Stavrinides [EMAIL PROTECTED] wrote: Hi Jessie Any progress on this? sorry to bug you, but I have to take a decision soon, I have two production machines that will need to upgrade or downgrade
Re: AW: Memory consumption in T4.1.2 - Hard data
Okay, I will try and build with this version... lets see if it makes a difference. Holger Stolzenberg wrote: T4.1.2 is released and in the main repo: http://mvnrepository.com/artifact/org.apache.tapestry/tapestry-framework My POM: dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2/version /dependency dependency groupIdcom.ewerk/groupId artifactIdewerk-tapestry-components/artifactId version0.0.7/version /dependency dependency groupIdcom.javaforge.tapestry/groupId artifactIdtapestry-spring/artifactId version1.0.0/version !-- exclude the old referenced version of tapestry -- exclusions exclusion groupIdtapestry/groupId artifactIdtapestry/artifactId /exclusion exclusion groupIdtapestry/groupId artifactIdtapestry-annotations/artifactId /exclusion /exclusions /dependency Mit lieben Grüßen aus dem eWerk | Holger Stolzenberg | Softwareentwickler | | Geschäftsführer: | Frank Richter, Erik Wende, Hendrik Schubert | | eWerk IT GmbH | Markt 16 | Leipzig 04109 | http://www.ewerk.com | HRB 9065, AG Leipzig | Hauptniederlassung Leipzig | | fon +49.341.4 26 49-0 | fax +49.341.4 26 49-88 | mailto:[EMAIL PROTECTED] | | Support: | fon 0700 CALLME24 (0700 22556324) | fax 0700 CALLME24 (0700 22556324) | | Auskünfte und Angebote per Mail | sind freibleibend und unverbindlich. -Ursprüngliche Nachricht- Von: Peter Stavrinides [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 29. August 2007 09:31 An: Tapestry users Betreff: Re: Memory consumption in T4.1.2 - Hard data Correct me if I am wrong 4.1.2 is not released as yet, and not in the main repository, so how else would I get to it? [EMAIL PROTECTED] wrote: But that POM does use snapshots. You shouldn't need the repository http://people.apache.org/repo/m2-snapshot-repository at all. Probably, there are no very significant differences between the latest 4.1.2 snapshot and the release. But nevertheless, for a productive environment, I'd always go with a released version. -Original Message- From: Peter Stavrinides [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 7:45 AM To: Tapestry users Subject: Re: Memory consumption in T4.1.2 - Hard data This is my POM: repositories repository releases updatePolicyalways/updatePolicy checksumPolicywarn/checksumPolicy /releases snapshots updatePolicyalways/updatePolicy checksumPolicyfail/checksumPolicy repository idapache.snapshots/id urlhttp://people.apache.org/repo/m2-snapshot-repository/url /repository /repositories dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-portlet/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency [EMAIL PROTECTED] wrote: my configuration is as follows: JDK 6.01 32bit JVM (I have also tested on a 64 bit with no luck) Tomcat 5.5.20 Debian Linux (2.6.15.28 kernel) Tapestry 4.1.2-SNAPSHOT with ognl 2.7 Hi Peter, 4.1.2-SNAPSHOT is a typo, I suppose? regards, Peter Jesse Kuhnert wrote: I'd downgrade then if I were you. Extensive profiling with yourkit hasn't shed any new light on whatever problems others are having. The OGNL classes indeed aren't being kept in the javassist pool from what I can tell. I have another yourkit snapshot binary to look at so we'll see what that says. I don't remember - have you filed any bug reports or reported any problems? Are you getting ognl exceptions during development as well as production? Do these errors sound like umpotential errors that should be looked at further? On 8/28/07, Peter Stavrinides [EMAIL PROTECTED] wrote:
Re: T4.1.2 / Spring 2.0.6 / Hib3 Lazy loading and PropertySelectionModel stuff
Problem indeed has to do with the 'equality' check that is performed... In there a class check likeif( obj instanceof MyClass ) is done, but obj is a CGLIB enhanced instance, which yields to an unequal class. What is the best solution to solve this? -J. Marcus Schulte wrote: One thing to be aware of is that the same db-row, in two different Hibernate-Session, corresponds to two different objects. So with session-per-request, if your PSModel is loaded in one request, and your value-parameter-object in another. If you don't override Object.equals appropriately, Tapestry cannot know which list member to show for a given value. 2007/8/28, Jan Vissers [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: Hi, I'm witnessing some 'interesting' behavior, using lazily loaded collections (Hibernate) combined with PropertySelectionModel stuff. Before getting into too much detail - using my JUnit tests I can prove that traversing the (nested) objectgraph actually has the information (albeit via CGLIB proxies). When using this in my T4.1.2 page however, I see that the correct poplist value doesn't get selected. In a read only version of the page on the other hand - where the poplist is dynamically replaced by a readonly display item - the information is shown. Is there something that I should be aware of in using T4/Hib3 regarding the selectionmodel component? -J. BTW: I'm using OpenSessionInView provided by Spring. - To unsubscribe, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] -- Marcus Schulte http://marcus-schulte.blogspot.com http://marcus-schulte.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] SelectObject component added to the Wiki
thnx, very nice example, I've liked it and modified it to use Tapestry builtin service: PropertyAccess instead of beanutils. If you like I can update the wiki.. Davor Hrg On 8/28/07, Marcelo lotif [EMAIL PROTECTED] wrote: http://wiki.apache.org/tapestry/Tapestry5SelectObject -- Atenciosamente, Marcelo Lotif
T5: Chinese localization
Hi, I'm trying out Chinese localization, I have following: configuration.add(tapestry.supported-locales, en,zh); two files app.properties, app_zh.properites, both file has one entry: layout.home=Home layout.home=主页 everything works in English, but when I switch: persistentLocaleService.set(Locale.SIMPLIFIED_CHINESE); what displays are questions marks. if I put English in the app_zh, it can display. the page is 'utf-8' and it displays utf-8 chinese correctly, just those strings coming out from app_zh, what I'm missing here? Thanks, A.C. -- View this message in context: http://www.nabble.com/T5%3A-Chinese-localization-tf4347158.html#a12385122 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Chinese localization
The question marks suggest the problem is on the Java (server) side. How are you encoding your Chinese characters in the properties files? You must escape them, which is easiest using an Eclipse plugin like: http://propedit.sourceforge.jp/index_en.html Cheers, Nick. Angelo Chen wrote: Hi, I'm trying out Chinese localization, I have following: configuration.add(tapestry.supported-locales, en,zh); two files app.properties, app_zh.properites, both file has one entry: layout.home=Home layout.home=主页 everything works in English, but when I switch: persistentLocaleService.set(Locale.SIMPLIFIED_CHINESE); what displays are questions marks. if I put English in the app_zh, it can display. the page is 'utf-8' and it displays utf-8 chinese correctly, just those strings coming out from app_zh, what I'm missing here? Thanks, A.C. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Chinese localization
Angelo Chen wrote: Hi, I'm trying out Chinese localization, I have following: [...] Have you tried this http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding ? -- Francois Armand Etudes Développements J2EE LINAGORA SA - http://www.linagora.com Tél.: +33 (0)1 58 18 68 28 --- InterLDAP - http://interldap.org FederID - http://www.federid.org/ Open Source identities management and federation - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] SelectObject component added to the Wiki
Hi Davor, Can you send it to me? 2007/8/29, Davor Hrg [EMAIL PROTECTED]: thnx, very nice example, I've liked it and modified it to use Tapestry builtin service: PropertyAccess instead of beanutils. If you like I can update the wiki.. Davor Hrg On 8/28/07, Marcelo lotif [EMAIL PROTECTED] wrote: http://wiki.apache.org/tapestry/Tapestry5SelectObject -- Atenciosamente, Marcelo Lotif -- Atenciosamente, Marcelo Lotif
Re: T5: Chinese localization
Hi Francois, I tried to modify the code, but requestGlobals.getHTTPServletRequest().setCharacterEncoding(UTF-8); configuration.add(Utf8Filter, utf8Filter); // handle UTF-8 setCharacterEncoding and utf8Filter can not be resolved. However I can put some Chinese in the template(utf8), all got displayed correctly. A.C. Francois Armand wrote: Angelo Chen wrote: Hi, I'm trying out Chinese localization, I have following: [...] Have you tried this http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding ? -- Francois Armand Etudes Développements J2EE LINAGORA SA - http://www.linagora.com Tél.: +33 (0)1 58 18 68 28 --- InterLDAP - http://interldap.org FederID - http://www.federid.org/ Open Source identities management and federation - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/T5%3A-Chinese-localization-tf4347158.html#a12385851 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Chinese localization
As I wrote before, your problem is most likely in your .properies encoding. Please re-read my previous email. Also carefully read the HowTo. T5.0.5 uses UTF-8 by default now, except for form submissions. If you are handling forms you still need to add the buildUtf8Filter() method, and also add the servelet jar since it accesses the HTTPServletRequest. Add this to your pom: dependency groupIdjavax.servlet/groupId artifactIdservlet-api/artifactId version2.4/version scopeprovided/scope /dependency Anyway, your original problem will remain, I suspect. Cheers, Nick. Angelo Chen wrote: Hi Francois, I tried to modify the code, but requestGlobals.getHTTPServletRequest().setCharacterEncoding(UTF-8); configuration.add(Utf8Filter, utf8Filter); // handle UTF-8 setCharacterEncoding and utf8Filter can not be resolved. However I can put some Chinese in the template(utf8), all got displayed correctly. A.C. Francois Armand wrote: Angelo Chen wrote: Hi, I'm trying out Chinese localization, I have following: [...] Have you tried this http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding ? -- Francois Armand Etudes Développements J2EE LINAGORA SA - http://www.linagora.com Tél.: +33 (0)1 58 18 68 28 --- InterLDAP - http://interldap.org FederID - http://www.federid.org/ Open Source identities management and federation - 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: [T5] SelectObject component added to the Wiki
or update the wiki, whatever... use a built in service looks more appropriate :] 2007/8/29, Marcelo lotif [EMAIL PROTECTED]: Hi Davor, Can you send it to me? 2007/8/29, Davor Hrg [EMAIL PROTECTED]: thnx, very nice example, I've liked it and modified it to use Tapestry builtin service: PropertyAccess instead of beanutils. If you like I can update the wiki.. Davor Hrg On 8/28/07, Marcelo lotif [EMAIL PROTECTED] wrote: http://wiki.apache.org/tapestry/Tapestry5SelectObject -- Atenciosamente, Marcelo Lotif -- Atenciosamente, Marcelo Lotif -- Atenciosamente, Marcelo Lotif
Re: T5: Chinese localization
2007/8/29, Angelo Chen [EMAIL PROTECTED]: Hi Francois, I tried to modify the code, but requestGlobals.getHTTPServletRequest().setCharacterEncoding(UTF-8); configuration.add(Utf8Filter, utf8Filter); // handle UTF-8 setCharacterEncoding and utf8Filter can not be resolved. However I can put some Chinese in the template(utf8), all got displayed correctly. A.C. I think your properties is wrong.You can check out the simple chinse forum based on T5. svn: http://lichen-forum.googlecode.com/svn/trunk/ demo: http://www.middleware.cn/lichen Francois Armand wrote: Angelo Chen wrote: Hi, I'm trying out Chinese localization, I have following: [...] Have you tried this http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding ? -- Francois Armand Etudes Développements J2EE LINAGORA SA - http://www.linagora.com Tél.: +33 (0)1 58 18 68 28 --- InterLDAP - http://interldap.org FederID - http://www.federid.org/ Open Source identities management and federation - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/T5%3A-Chinese-localization-tf4347158.html#a12385851 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- regards, Jun Tsai
Problem: PageBeginRender running twice in portlet
Hi, i have one problem. I use Tapestry 4.0.2 and have written a portlet with some heavy operations(loading data from database and reading preferences from portal server) All this operations are working from this method public void pageBeginRender(PageEvent event) { ... my own heavy operations ... { In servlet case this code running once, but in portlet case twice, so i have almost double response time for portlet. Maybe one is action phase,another is render phase... Is there two request absolutely equal or i can indicate each one by Tapestry standard way? Thanks.
T4.1: Submit and Informal Parameters
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi *, in my application I would like to pass informal CSS class parameters to my submit buttons, so that the buttons look different from the input fields. How can I achieve this? I have tried: input jwcid=@Submit class=button value=message:submit/ Result: the class parameter is not present in the html output. Is this maybe a bug? - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG1XWq9+lAHD7HULYRAuE9AJ9Xej6qwoDbup/dwrJkvO0WBNwmUQCaAtyj 7VLBOCTF8TfBMvXzl7qeKvE= =T9r3 -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Chinese localization
Hi Nick, You are right, the properties file has to be escaped, it works now, thanks. however I have observed some other problem: It always uses the app_zh.properties, even I do: persistentLocaleService.set(Locale.ENGLISH); the only time it will use the app.properties content is, when I delete the app_zh.properties file, any idea why it's like that? Thanks, A.C. Nick Westgate wrote: The question marks suggest the problem is on the Java (server) side. How are you encoding your Chinese characters in the properties files? You must escape them, which is easiest using an Eclipse plugin like: http://propedit.sourceforge.jp/index_en.html Cheers, Nick. Angelo Chen wrote: Hi, I'm trying out Chinese localization, I have following: configuration.add(tapestry.supported-locales, en,zh); two files app.properties, app_zh.properites, both file has one entry: layout.home=Home layout.home=主页 everything works in English, but when I switch: persistentLocaleService.set(Locale.SIMPLIFIED_CHINESE); what displays are questions marks. if I put English in the app_zh, it can display. the page is 'utf-8' and it displays utf-8 chinese correctly, just those strings coming out from app_zh, what I'm missing here? Thanks, A.C. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/T5%3A-Chinese-localization-tf4347158.html#a12387250 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: T4.1.2 / Spring 2.0.6 / Hib3 Lazy loading and PropertySelectionModel stuff
I also experienced some grief (4.0.x) with PropertySelectionModel when using Hibernate. The behavior also changed between the PropertySelection component and the Palette component because they use(d) different techniques to find the matching item. A good equality test and the tacos BeanPropertySelectionModel cleared up my problems. JB -Original Message- From: Jan Vissers [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 5:54 AM To: Marcus Schulte Cc: Tapestry users Subject: Re: T4.1.2 / Spring 2.0.6 / Hib3 Lazy loading and PropertySelectionModel stuff Problem indeed has to do with the 'equality' check that is performed... In there a class check likeif( obj instanceof MyClass ) is done, but obj is a CGLIB enhanced instance, which yields to an unequal class. What is the best solution to solve this? -J. Marcus Schulte wrote: One thing to be aware of is that the same db-row, in two different Hibernate-Session, corresponds to two different objects. So with session-per-request, if your PSModel is loaded in one request, and your value-parameter-object in another. If you don't override Object.equals appropriately, Tapestry cannot know which list member to show for a given value. 2007/8/28, Jan Vissers [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: Hi, I'm witnessing some 'interesting' behavior, using lazily loaded collections (Hibernate) combined with PropertySelectionModel stuff. Before getting into too much detail - using my JUnit tests I can prove that traversing the (nested) objectgraph actually has the information (albeit via CGLIB proxies). When using this in my T4.1.2 page however, I see that the correct poplist value doesn't get selected. In a read only version of the page on the other hand - where the poplist is dynamically replaced by a readonly display item - the information is shown. Is there something that I should be aware of in using T4/Hib3 regarding the selectionmodel component? -J. BTW: I'm using OpenSessionInView provided by Spring. - To unsubscribe, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] -- Marcus Schulte http://marcus-schulte.blogspot.com http://marcus-schulte.blogspot.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]
T4: Problem PageBeginRender running twice in portlet
Hi, i have one problem. I use Tapestry 4.0.2 and have written a portlet with some heavy operations(loading data from database and reading preferences from portal server) All this operations are working from this method public void pageBeginRender(PageEvent event) { ... my own heavy operations ... { In servlet case this code running once, but in portlet case twice, so i have almost double response time for portlet. Maybe one is action phase,another is render phase... Is there two request absolutely equal or i can indicate each one by Tapestry standard way? Thanks.
Re: T4.1.2 / Spring 2.0.6 / Hib3 Lazy loading and PropertySelectionModel stuff
Not sure about the best solution, but we use: public static Class checkForCGLIB(Class type) { if (type.getName().contains(CGLIB)) { return type.getSuperclass(); } else return type; } Kalle On 8/29/07, Jan Vissers [EMAIL PROTECTED] wrote: Problem indeed has to do with the 'equality' check that is performed... In there a class check likeif( obj instanceof MyClass ) is done, but obj is a CGLIB enhanced instance, which yields to an unequal class. What is the best solution to solve this? -J. Marcus Schulte wrote: One thing to be aware of is that the same db-row, in two different Hibernate-Session, corresponds to two different objects. So with session-per-request, if your PSModel is loaded in one request, and your value-parameter-object in another. If you don't override Object.equals appropriately, Tapestry cannot know which list member to show for a given value. 2007/8/28, Jan Vissers [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: Hi, I'm witnessing some 'interesting' behavior, using lazily loaded collections (Hibernate) combined with PropertySelectionModel stuff. Before getting into too much detail - using my JUnit tests I can prove that traversing the (nested) objectgraph actually has the information (albeit via CGLIB proxies). When using this in my T4.1.2 page however, I see that the correct poplist value doesn't get selected. In a read only version of the page on the other hand - where the poplist is dynamically replaced by a readonly display item - the information is shown. Is there something that I should be aware of in using T4/Hib3 regarding the selectionmodel component? -J. BTW: I'm using OpenSessionInView provided by Spring. - To unsubscribe, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] -- Marcus Schulte http://marcus-schulte.blogspot.com http://marcus-schulte.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Chinese localization
I'm not sure without seeing your code. What is top of the list in your browser's preferred languages? (In Firefox, Tools-Options-Advanced-Languages-Choose.) Cheers, Nick. - Original Message - From: Angelo Chen [EMAIL PROTECTED] To: users@tapestry.apache.org Sent: Wednesday, 29 August 2007 10:35 p.m. Subject: Re: T5: Chinese localization Hi Nick, You are right, the properties file has to be escaped, it works now, thanks. however I have observed some other problem: It always uses the app_zh.properties, even I do: persistentLocaleService.set(Locale.ENGLISH); the only time it will use the app.properties content is, when I delete the app_zh.properties file, any idea why it's like that? Thanks, A.C. Nick Westgate wrote: The question marks suggest the problem is on the Java (server) side. How are you encoding your Chinese characters in the properties files? You must escape them, which is easiest using an Eclipse plugin like: http://propedit.sourceforge.jp/index_en.html Cheers, Nick. Angelo Chen wrote: Hi, I'm trying out Chinese localization, I have following: configuration.add(tapestry.supported-locales, en,zh); two files app.properties, app_zh.properites, both file has one entry: layout.home=Home layout.home=主页 everything works in English, but when I switch: persistentLocaleService.set(Locale.SIMPLIFIED_CHINESE); what displays are questions marks. if I put English in the app_zh, it can display. the page is 'utf-8' and it displays utf-8 chinese correctly, just those strings coming out from app_zh, what I'm missing here? Thanks, A.C. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/T5%3A-Chinese-localization-tf4347158.html#a12387250 Sent from the Tapestry - User mailing list archive at Nabble.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: How to use contribute method´s, and how configure one service
It sounds somewhat like you are trying to share a configuration between two or more services. This was legit in HiveMind (the precursor to Tapestry 5 IoC). However, in the vast majority of cases, each service had at most one configuration associated with it (often sharing the same name as the service) and the sharing of configurations between services was rare. As a way to simplify things, in Tapestry 5 IoC, each service is allowed a single configuration. This effectively unifies service names with configuration names. In the situations where I have two services, A and B, that share a configuration, my approach has been to create a third service, C. C owns the configuration, and its service interface defines methods needed by A and B to access that configuration data. Often I've found that A and B don't need the raw configuration data, they need cooked data, derived from the raw configuration data. For instance, the configuration data may include Class objects, and the other services may need instances of those Classes. Thus the C service can be responsible for instantiating and caching those objects. Many other similar cases are present in the Tapestry source code. This is a great separation of concerns, and I think that your hypothetical tests for services A and B will be simpler, clearer and more effective because of it. On 8/29/07, Carlos Delfino Carvalho Pinheiro [EMAIL PROTECTED] wrote: Hi Howard Lewis!!! Dear, My name is Carlos Delfino, I AM work in one site like Orkut and LinkedIn with Tapestry 5.0.5, and I am trying create one service for use JPA on Tapestry 5, like Tapestry Hibernate. However I use the Tapestry Hibernate when base for work. But I don´t know how I transfer configuration for services, I think use contribute Methods but if this correct method who I get the configuration on services. In the Tapestry Hibernate, the HibernateModule class is only a example? or is need for make the new service module. Thanks. -- ¨~^.^~¨~^.^~¨~^.^~¨~^.^~¨~^.^~¨~^.^~¨ Carlos Delfino - [image: call_blue_white_124x52] Consultoria e Gestão de Projetos no Terceiro Setor http://www.linkedin.com/in/carlosdelfino ¨~^.^~¨~^.^~¨~^.^~¨~^.^~¨~^.^~¨~^.^~¨ -- Howard M. Lewis Ship Partner and Senior Architect at Feature50 Creator Apache Tapestry and Apache HiveMind
Customizing ValidationDelegate with writeLabelAttributes
I have a @FieldLabel that's written as follows: label class=desc jwcid=@FieldLabel field=component:usernameFieldUsername/label When the usernameField has an error, I want to change the class to desc error or just error. I've created my own ValidationDelegate and tried to overwrite writeLabelAttributes(), but it doesn't seem to work. Is there something I'm doing wrong in the code below? public void writeLabelAttributes(IMarkupWriter writer, IRequestCycle cycle, IFormComponent component) { if (isInError(component)) { writer.appendAttribute(class, error); } } Thanks, Matt -- View this message in context: http://www.nabble.com/Customizing-ValidationDelegate-with-writeLabelAttributes-tf4349798.html#a12393768 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Validation and CSS with 4.1.3-SNAPSHOT
I've got a new (and very strange) issue with client-side validation. When I click on a submit button in a form, I get a blank popup with no messages in it. If I disable JavaScript, the form submits without any validation errors. Any idea why there's a popup when no validation errors exist? Thanks, Matt Jessek wrote: The style related css stuff you want might be helped by looking here: http://tapestry.apache.org/tapestry4.1/usersguide/clientside-validation.html (i thought that Andy had made the css style for that stuff inlined automatically though, maybe there is some other weird collision happening) For customization of validation UI - you can do it however you like by overriding any of the tapestry javascript functions discussed here: http://tapestry.apache.org/tapestry4.1/javascript/form-validation.html For example, if you wanted to inline the error messages you could redefine tapestry.form.validation.summarizeErrors(form, results, profile) to do something more humane - like http://www.humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/. I keep forgetting to add it in but I implemented the humanized style toaster in dojo (before humanized talked about it) and you can find a tapestry impl of it here: http://blog.opencomponentry.com/2007/03/29/philly-is-burning/ If you want text to appear somewhere next to fields it might be easiest to override: tapestry.form.validation.handleMissingField(field, profile) tapestry.form.validation.handleInvalidField(field, profile) The most up to date API kind of javascript docs can be found here: http://tapestry.apache.org/tapestry4.1/jsdoc/index.html On 8/23/07, mraible [EMAIL PROTECTED] wrote: After upgrading from 4.0.2 to 4.1.3-SNAPSHOT, I'm getting some strange issues in regards to validation. When the client-side validation pops up, all I see is an OK button and nothing else. Are there some CSS styles I need to add in order to see the messages? Also, is it possible to have the errors inlined instead of in a popup? Screenshot: http://www.nabble.com/file/p12296912/Picture%2B1.png Thanks, Matt -- View this message in context: http://www.nabble.com/Validation-and-CSS-with-4.1.3-SNAPSHOT-tf4318536.html#a12296912 Sent from the Tapestry - User mailing list archive at Nabble.com. - 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] -- View this message in context: http://www.nabble.com/Validation-and-CSS-with-4.1.3-SNAPSHOT-tf4318536.html#a12393834 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
StaleLink issue
Hi I am getting this when I click a radio button which changes my UI via conditionals. If I go back and forth multiple times, eventually it breaks. I am using AnySubmits to cause the form to be submitted. I understand that during the submit I made a change that the rewind doesn't like. My question is how, in a Tapestry component, do I push off the changes so the rewind has a chance to happen. I usually use a submit listener or I use a form listener. What is available in BaseComponent? 13:52:24,048 ERROR [Exception] Unable to update expression 'parsed expression' of [EMAIL PROTECTED] to Rewind of form Home/form expected allocated id #47 to be '$FormConditional$21', but was 'mumTitlesConditional' (requested by component Holder/accountManagement.userList.mumTitlesConditional).. org.apache.tapestry.ApplicationRuntimeException: Unable to update expression 'parsed expression' of [EMAIL PROTECTED] to Rewind of form Home/form expected allocated id #47 to be '$FormConditional$21', but was 'mumTitlesConditional' (requested by component Holder/accountManagement.userList.mumTitlesConditional).. at org.apache.tapestry.util.prop.OgnlUtils.set(OgnlUtils.java:105) at org.apache.tapestry.util.prop.OgnlUtils.set(OgnlUtils.java:84) at org.apache.tapestry.AbstractComponent.setProperty(AbstractComponent.java:1134) at org.apache.tapestry.engine.AbstractEngine.handleStaleLinkException(AbstractEngine.java:1099) at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:907) at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:198) at org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:616) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) at com.pingidentity.appserver.jetty.DynamicSslListener.handleConnection(DynamicSslListener.java:187) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) Caused by: ognl.NoSuchPropertyException: com.pingidentity.page.Exception.message at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:133) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1629) at ognl.ASTProperty.setValueBody(ASTProperty.java:105) at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177) at ognl.SimpleNode.setValue(SimpleNode.java:246) at ognl.Ognl.setValue(Ognl.java:476) at org.apache.tapestry.util.prop.OgnlUtils.set(OgnlUtils.java:101) ... 22 more Thanks! Mark Mark J. Stang Software Engineer office: +1 303.468.2900 Ping Identity
T5 Server Side Scripting for CSS
[Background: I am beginning to abstract/distill my current application into something more general, where the GUI can be customized through an administrative interface without the admins having to touch GUI related code.] There was a post a while back regarding OGNL parsing of assets like CSS. This is along the same line, but with the parsing/generation done in Java code and only done once in a while. The resulting textual data representing the CSS would be persisted in an ASO or static. I have been thinking about an approach to the issue of CSS not supporting constants, which could be useful for things like colors, background images, user-driven style changes, etc. On this page http://icant.co.uk/articles/cssconstants/ the author notes SSI and server side scripting using languages like php, jsp, etc. I'd prefer to have the variables for my CSS be set and manipulated inside my Java code, which can possibly be changed on the fly. (Though if the browser is able to cache the CSS file, changes may not be picked up immediately if the header does not expire) Are there real benefits for my application server (i.e. Tomcat) to serve a concrete file, versus pulling a pre-baked one straight from RAM? Is there a way to fake the response for a CSS file request, so that the CSS comes from something like a Stream instead of an actual file? (So the browser wouldn't know the difference, and would cache it, etc) Of course we wouldn't want to inline all the css text, because I expect a couple hundred lines at least (My current optimized CSS has about 4000 lines across a few files) I guess this is a larger version of whatever issues we would have with the rounded corner service in T4, which is said to handle caching issues automagically. http://tapestry.apache.org/tapestry4.1/developmentguide/hivemind/roundedcorners.html
Tapestry/Javassist reading the wrong class type
I have the following contrib:Table that reds a Set of users from the servletContext (they're added to it as they login to maintain a list of active users). table jwcid=[EMAIL PROTECTED]:Table class=table contribTable id=user rowsClass=ognl:beans.rowsClass.next row=ognl:row columns=user.username:username, activeUsers.fullName:fullName source=ognl:getServletContext().getAttribute('userNames') initialSortColumn=username arrowUpAsset=asset:upArrow arrowDownAsset=asset:downArrow /table Even thought userNames is a list of User objects in the ServletContext, javassist doesn't seem to recognize that. It seems to cast it to its UserDetails interface instead of the User object. Any ideas how to fix this? ERROR [btpool0-2] HiveMindExpressionCompiler.compileExpression(224) | Error generating OGNL statements for expression username with root [EMAIL PROTECTED],enabled=false,accountExpired=false,credentialsExpired=false,accountLocked=false,Granted Authorities: ] org.apache.hivemind.ApplicationRuntimeException: Unable to add method void set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class $ASTProperty_114b3aa67a1: [source error] setUsername(java.lang.String) not found in org.acegisecurity.userdetails.UserDetails at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:214) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523) at ognl.Ognl.compileExpression(Ognl.java:141) at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152) at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115) at $ExpressionCache_114b3aa6746.getCompiledExpression($ExpressionCache_114b3aa6746.java) at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:108) at $ExpressionEvaluator_114b3aa6744.read($ExpressionEvaluator_114b3aa6744.java) at org.apache.tapestry.contrib.table.model.ognl.OgnlTableColumnEvaluator.getColumnValue(OgnlTableColumnEvaluator.java:59) Thanks, Matt -- View this message in context: http://www.nabble.com/Tapestry-Javassist-reading-the-wrong-class-type-tf4350783.html#a12396880 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Validation and CSS with 4.1.3-SNAPSHOT
I discovered (by pure luck) that the following validators binding was causing the problem: component id=countryField type=PropertySelection binding name=model value=countries/ binding name=value value=user.address.country/ binding name=validators value=validators:required/ binding name=displayName value=message:user.address.country/ /component When I removed the validators binding, everything works. Is Dojo's client-side validation incapable of handling select elements? Thanks, Matt mraible wrote: I've got a new (and very strange) issue with client-side validation. When I click on a submit button in a form, I get a blank popup with no messages in it. If I disable JavaScript, the form submits without any validation errors. Any idea why there's a popup when no validation errors exist? Thanks, Matt Jessek wrote: The style related css stuff you want might be helped by looking here: http://tapestry.apache.org/tapestry4.1/usersguide/clientside-validation.html (i thought that Andy had made the css style for that stuff inlined automatically though, maybe there is some other weird collision happening) For customization of validation UI - you can do it however you like by overriding any of the tapestry javascript functions discussed here: http://tapestry.apache.org/tapestry4.1/javascript/form-validation.html For example, if you wanted to inline the error messages you could redefine tapestry.form.validation.summarizeErrors(form, results, profile) to do something more humane - like http://www.humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/. I keep forgetting to add it in but I implemented the humanized style toaster in dojo (before humanized talked about it) and you can find a tapestry impl of it here: http://blog.opencomponentry.com/2007/03/29/philly-is-burning/ If you want text to appear somewhere next to fields it might be easiest to override: tapestry.form.validation.handleMissingField(field, profile) tapestry.form.validation.handleInvalidField(field, profile) The most up to date API kind of javascript docs can be found here: http://tapestry.apache.org/tapestry4.1/jsdoc/index.html On 8/23/07, mraible [EMAIL PROTECTED] wrote: After upgrading from 4.0.2 to 4.1.3-SNAPSHOT, I'm getting some strange issues in regards to validation. When the client-side validation pops up, all I see is an OK button and nothing else. Are there some CSS styles I need to add in order to see the messages? Also, is it possible to have the errors inlined instead of in a popup? Screenshot: http://www.nabble.com/file/p12296912/Picture%2B1.png Thanks, Matt -- View this message in context: http://www.nabble.com/Validation-and-CSS-with-4.1.3-SNAPSHOT-tf4318536.html#a12296912 Sent from the Tapestry - User mailing list archive at Nabble.com. - 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] -- View this message in context: http://www.nabble.com/Validation-and-CSS-with-4.1.3-SNAPSHOT-tf4318536.html#a12397222 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry/Javassist reading the wrong class type
Thanks Kalle - you are correct in that it still works. Thanks, Matt Kalle Korhonen-2 wrote: Matt, it's the OGNL expression compiler. It still works, you just see the exception logged as OGNL switches to interpreted mode, right? I've reported this issue as http://jira.opensymphony.com/browse/OGNL-115. Vote for the issue and downgrade your OGNL to 2.6.7. I wouldn't get my hopes up that anybody would fix it before Jesse comes back from his vacation... Kalle On 8/29/07, mraible [EMAIL PROTECTED] wrote: I have the following contrib:Table that reds a Set of users from the servletContext (they're added to it as they login to maintain a list of active users). table jwcid=[EMAIL PROTECTED]:Table class=table contribTable id=user rowsClass=ognl:beans.rowsClass.next row=ognl:row columns=user.username:username, activeUsers.fullName:fullName source=ognl:getServletContext().getAttribute('userNames') initialSortColumn=username arrowUpAsset=asset:upArrow arrowDownAsset=asset:downArrow /table Even thought userNames is a list of User objects in the ServletContext, javassist doesn't seem to recognize that. It seems to cast it to its UserDetails interface instead of the User object. Any ideas how to fix this? ERROR [btpool0-2] HiveMindExpressionCompiler.compileExpression(224) | Error generating OGNL statements for expression username with root [EMAIL PROTECTED] [username=admin,enabled=false,accountExpired=false,credentialsExpired=false,accountLocked=false,Granted Authorities: ] org.apache.hivemind.ApplicationRuntimeException: Unable to add method void set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class $ASTProperty_114b3aa67a1: [source error] setUsername(java.lang.String) not found in org.acegisecurity.userdetails.UserDetails at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression (HiveMindExpressionCompiler.java:214) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523) at ognl.Ognl.compileExpression(Ognl.java:141) at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse( ExpressionCacheImpl.java:152) at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression (ExpressionCacheImpl.java:115) at $ExpressionCache_114b3aa6746.getCompiledExpression($ExpressionCache_114b3aa6746.java) at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read( ExpressionEvaluatorImpl.java:108) at $ExpressionEvaluator_114b3aa6744.read($ExpressionEvaluator_114b3aa6744.java) at org.apache.tapestry.contrib.table.model.ognl.OgnlTableColumnEvaluator.getColumnValue (OgnlTableColumnEvaluator.java:59) Thanks, Matt -- View this message in context: http://www.nabble.com/Tapestry-Javassist-reading-the-wrong-class-type-tf4350783.html#a12396880 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Tapestry-Javassist-reading-the-wrong-class-type-tf4350783.html#a12397224 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry/Javassist reading the wrong class type
I tried downgrading to OGNL 2.6.7 (I'm using Tapestry 4.1.3-SNAPSHOT). Unfortunately, I get the following error after this change: java.lang.NoClassDefFoundError: ognl/enhance/ExpressionAccessor at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2365) at java.lang.Class.privateGetPublicMethods(Class.java:2488) at java.lang.Class.getMethods(Class.java:1406) at org.apache.hivemind.service.MethodIterator.(MethodIterator.java:47) at org.apache.hivemind.impl.ProxyBuilder.addServiceMethods(ProxyBuilder.java:125) at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxyClass(SingletonServiceModel.java:183) at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:102) at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getService(SingletonServiceModel.java:57) at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:210) at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:223) at org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:207) at org.apache.hivemind.impl.ModuleImpl.getService(ModuleImpl.java:105) Strangely enough, viewing the page that causes the javassist/ognl exception causes an OOM error when I'm running tests. If I remove the test, no OOM error. I'm using Canoo WebTest (built on top of HtmlUnit). Matt Kalle Korhonen-2 wrote: Matt, it's the OGNL expression compiler. It still works, you just see the exception logged as OGNL switches to interpreted mode, right? I've reported this issue as http://jira.opensymphony.com/browse/OGNL-115. Vote for the issue and downgrade your OGNL to 2.6.7. I wouldn't get my hopes up that anybody would fix it before Jesse comes back from his vacation... Kalle On 8/29/07, mraible [EMAIL PROTECTED] wrote: I have the following contrib:Table that reds a Set of users from the servletContext (they're added to it as they login to maintain a list of active users). table jwcid=[EMAIL PROTECTED]:Table class=table contribTable id=user rowsClass=ognl:beans.rowsClass.next row=ognl:row columns=user.username:username, activeUsers.fullName:fullName source=ognl:getServletContext().getAttribute('userNames') initialSortColumn=username arrowUpAsset=asset:upArrow arrowDownAsset=asset:downArrow /table Even thought userNames is a list of User objects in the ServletContext, javassist doesn't seem to recognize that. It seems to cast it to its UserDetails interface instead of the User object. Any ideas how to fix this? ERROR [btpool0-2] HiveMindExpressionCompiler.compileExpression(224) | Error generating OGNL statements for expression username with root [EMAIL PROTECTED] [username=admin,enabled=false,accountExpired=false,credentialsExpired=false,accountLocked=false,Granted Authorities: ] org.apache.hivemind.ApplicationRuntimeException: Unable to add method void set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class $ASTProperty_114b3aa67a1: [source error] setUsername(java.lang.String) not found in org.acegisecurity.userdetails.UserDetails at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression (HiveMindExpressionCompiler.java:214) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523) at ognl.Ognl.compileExpression(Ognl.java:141) at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse( ExpressionCacheImpl.java:152) at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression (ExpressionCacheImpl.java:115) at $ExpressionCache_114b3aa6746.getCompiledExpression($ExpressionCache_114b3aa6746.java) at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read( ExpressionEvaluatorImpl.java:108) at $ExpressionEvaluator_114b3aa6744.read($ExpressionEvaluator_114b3aa6744.java) at org.apache.tapestry.contrib.table.model.ognl.OgnlTableColumnEvaluator.getColumnValue (OgnlTableColumnEvaluator.java:59) Thanks, Matt -- View this message in context: http://www.nabble.com/Tapestry-Javassist-reading-the-wrong-class-type-tf4350783.html#a12396880 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Tapestry-Javassist-reading-the-wrong-class-type-tf4350783.html#a12397448 Sent from the Tapestry - User mailing list archive at Nabble.com. - To
Re: T5:Tiles?
On 8/29/07, Angelo Chen [EMAIL PROTECTED] wrote: Hi Josh, if I use the approach quoted below, I got an error like this from runtime console, and the title was not set: [ERROR] Login Embedded component(s) layout are defined within component class org.sample.t5.pages.Login, but are not present in the component template. The error message says that you don't have the component in your template. You can't inject the component into your class if it doesn't exist in the template If you do have the layout component in the template then try adding an t:id=layout to the template. -- -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox.
Does Tapestry (4) and Hibernate coexist nicely
When it comes to lazy loading? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Does Tapestry (4) and Hibernate coexist nicely
Thx. I'm using Spring 2.0.6 and the OpenSessionInView Filter (for Hibernate) that comes with it - and have configured that in my web.xml. Doing some thorough testing currently... Yes, although it depends on how you implement it. You need to ensure that the session is closed by HiveMind in a threaded model, or problems will arise while rendering. I do it thusly: service-point id=HSessionManagerFactory interface=com.myasd.db.dao.ISessionManagerFactory create-instance class=com.myasd.db.dao.HibernateSessionManagerFactory/ /service-point service-point id=SessionManager interface=com.myasd.db.dao.ISessionManager invoke-factory model=threaded construct class=com.myasd.db.dao.HibernateSessionManager/ /invoke-factory /service-point All my DAO's are then done via invoke-factory: service-point id=AccountDAO interface=com.myasd.db.dao.proto.AccountDAO invoke-factory construct class=com.myasd.db.dao.impl.AccountDAO/ /invoke-factory /service-point I've been doing this in production for 6 months or longer and it's been working very, very well. Adding database operations to a Tapestry page is trivial after the setup. Norman Franke www.myasd.com On Aug 29, 2007, at 8:40 PM, Jan Vissers wrote: When it comes to lazy loading? - 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: T5:Tiles?
Hi Josh, This error is interesting, it comes out only once even you have several pages using the approach 2 and it works with the error around. adding t:id=layout' eliminate the error message. probably a minor problem in the error reporting? A.C. Josh Canfield-2 wrote: On 8/29/07, Angelo Chen [EMAIL PROTECTED] wrote: Hi Josh, if I use the approach quoted below, I got an error like this from runtime console, and the title was not set: [ERROR] Login Embedded component(s) layout are defined within component class org.sample.t5.pages.Login, but are not present in the component template. The error message says that you don't have the component in your template. You can't inject the component into your class if it doesn't exist in the template If you do have the layout component in the template then try adding an t:id=layout to the template. -- -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox. -- View this message in context: http://www.nabble.com/T5%3ATiles--tf4310807.html#a12399469 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5:Tiles?
Hi Josh, When i tested in the localhost, the speed is fast, so that behavor is not noticeable, but when I put the war file in a slow server in the net, I can notice that in Safari, not in IE and FireFox. I believe I have put those pages/components in the right places. I did not notice reloading of the page, but the change of url only. A.C. Josh Canfield wrote: you will see in the address field first: http://localhost/sample/layout.forums then it goes back to http://localhost/sample/forums but for Firefox or IE either in mac or windows, the layout.forums will not be shown, only the final one. I've tried it in Safari on my Mac and I've never seen that behavior. I don't believe that another request is generated simply by loading the page. Can you provide more information about what you are doing? Are your components and pages in the right folders? TheDailyTube.com. The best new videos on the internet delivered fresh to your inbox. -- View this message in context: http://www.nabble.com/T5%3ATiles--tf4310807.html#a12399480 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T4: Problem PageBeginRender running twice in portlet
I have no experience with Portlets (or Tapestry 4, really ;-) but PageRenderListener methods being called twice is normal operation for form submits. - first for the form rewind - again for the actual rendering of the page The usual boilerplate code is something like: public void pageBeginRender(PageEvent event) { if (!event.getRequestCycle().isRewinding()) { // initialize properties etc } } Cheers, Nick. Yavorskiy Dmitriy wrote: Hi, i have one problem. I use Tapestry 4.0.2 and have written a portlet with some heavy operations(loading data from database and reading preferences from portal server) All this operations are working from this method public void pageBeginRender(PageEvent event) { ... my own heavy operations ... { In servlet case this code running once, but in portlet case twice, so i have almost double response time for portlet. Maybe one is action phase,another is render phase... Is there two request absolutely equal or i can indicate each one by Tapestry standard way? Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Does Tapestry (4) and Hibernate coexist nicely
I've had an application based on Tap 4.0.2, Hibernate 3.1, Spring 1.2.5, Acegi 1.0.0 with complicated inheritance and relationships, and Hibernate interceptors. I haven't touched the code in 10 months and it works like a charm. I ran into issues during development with Class cast exceptions for component parameters when accessing through OGNL, but just got around it by putting the accessors into Java code instead. This problem was not exclusive to lazy loading, but it did cause me to change to eager loading for a few relationships. Make sure you have a good equals() definition for your model classes - I added an oid property to a BaseModelObject populated from a UUID generator and used that for equality. I read a lot of different perspectives on equality testing for hibernate - and that's the religion I chose. All in all, lazy loading works very well. -Original Message- From: Jan Vissers [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 8:41 PM To: users@tapestry.apache.org Subject: Does Tapestry (4) and Hibernate coexist nicely When it comes to lazy loading? - 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: AW: Memory consumption in T4.1.2 - Hard data
The problem continues... I will file a bug report. Peter Stavrinides wrote: Okay, I will try and build with this version... lets see if it makes a difference. Holger Stolzenberg wrote: T4.1.2 is released and in the main repo: http://mvnrepository.com/artifact/org.apache.tapestry/tapestry-framework My POM: dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2/version /dependency dependency groupIdcom.ewerk/groupId artifactIdewerk-tapestry-components/artifactId version0.0.7/version /dependency dependency groupIdcom.javaforge.tapestry/groupId artifactIdtapestry-spring/artifactId version1.0.0/version !-- exclude the old referenced version of tapestry -- exclusions exclusion groupIdtapestry/groupId artifactIdtapestry/artifactId /exclusion exclusion groupIdtapestry/groupId artifactIdtapestry-annotations/artifactId /exclusion /exclusions /dependency Mit lieben Grüßen aus dem eWerk | Holger Stolzenberg | Softwareentwickler | | Geschäftsführer: | Frank Richter, Erik Wende, Hendrik Schubert | | eWerk IT GmbH | Markt 16 | Leipzig 04109 | http://www.ewerk.com | HRB 9065, AG Leipzig | Hauptniederlassung Leipzig | | fon +49.341.4 26 49-0 | fax +49.341.4 26 49-88 | mailto:[EMAIL PROTECTED] | | Support: | fon 0700 CALLME24 (0700 22556324) | fax 0700 CALLME24 (0700 22556324) | | Auskünfte und Angebote per Mail | sind freibleibend und unverbindlich. -Ursprüngliche Nachricht- Von: Peter Stavrinides [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 29. August 2007 09:31 An: Tapestry users Betreff: Re: Memory consumption in T4.1.2 - Hard data Correct me if I am wrong 4.1.2 is not released as yet, and not in the main repository, so how else would I get to it? [EMAIL PROTECTED] wrote: But that POM does use snapshots. You shouldn't need the repository http://people.apache.org/repo/m2-snapshot-repository at all. Probably, there are no very significant differences between the latest 4.1.2 snapshot and the release. But nevertheless, for a productive environment, I'd always go with a released version. -Original Message- From: Peter Stavrinides [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 7:45 AM To: Tapestry users Subject: Re: Memory consumption in T4.1.2 - Hard data This is my POM: repositories repository releases updatePolicyalways/updatePolicy checksumPolicywarn/checksumPolicy /releases snapshots updatePolicyalways/updatePolicy checksumPolicyfail/checksumPolicy repository idapache.snapshots/id urlhttp://people.apache.org/repo/m2-snapshot-repository/url /repository /repositories dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-framework/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-portlet/artifactId version4.1.2-SNAPSHOT/version scopetest/scope /dependency [EMAIL PROTECTED] wrote: my configuration is as follows: JDK 6.01 32bit JVM (I have also tested on a 64 bit with no luck) Tomcat 5.5.20 Debian Linux (2.6.15.28 kernel) Tapestry 4.1.2-SNAPSHOT with ognl 2.7 Hi Peter, 4.1.2-SNAPSHOT is a typo, I suppose? regards, Peter Jesse Kuhnert wrote: I'd downgrade then if I were you. Extensive profiling with yourkit hasn't shed any new light on whatever problems others are having. The OGNL classes indeed aren't being kept in the javassist pool from what I can tell. I have another yourkit snapshot binary to look at so we'll see what that says. I don't remember - have you filed any bug reports or reported any problems? Are you getting ognl exceptions during development as well as production? Do these errors sound like umpotential errors that should be looked at further? On 8/28/07, Peter Stavrinides [EMAIL PROTECTED] wrote: Hi Jessie Any progress on this? sorry to bug you, but I have to take a
Re: [T5] SelectObject component added to the Wiki
I user it it works well select component's html source is option value=IndexIndex no /option how to rectify it?? if i want to get this style ,how to modify the source select size=1 opiton value=1 IT department/option /select the value and display value is defferent. 2007/8/29, Marcelo lotif [EMAIL PROTECTED]: or update the wiki, whatever... use a built in service looks more appropriate :] 2007/8/29, Marcelo lotif [EMAIL PROTECTED]: Hi Davor, Can you send it to me? 2007/8/29, Davor Hrg [EMAIL PROTECTED]: thnx, very nice example, I've liked it and modified it to use Tapestry builtin service: PropertyAccess instead of beanutils. If you like I can update the wiki.. Davor Hrg On 8/28/07, Marcelo lotif [EMAIL PROTECTED] wrote: http://wiki.apache.org/tapestry/Tapestry5SelectObject -- Atenciosamente, Marcelo Lotif -- Atenciosamente, Marcelo Lotif -- Atenciosamente, Marcelo Lotif -- 得与失都是生活