Re: Session and application scope
How can i instanciate an Application Object? @ApplicationState private MyObject objectName_; how i use a request @Inject private RequestGlobals requestGlobals_; Then you have access to the Servlet API with things like: HttpServletRequest request = requestGlobals.getHTTPServletRequest(); Gianluigi wrote: Hi to all, i'm a JSP developer and i want to know a more on Tapestry 5, it seem very cool! :) Only a question, how i use a request or a Session in Tapestry 5? How can i instanciate an Application Object? in JSP i wrote : HttpSession session and session.setProperty("Key"); and in Tapestry 5? Thanks a lot Muzero ___ L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html - 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]
Is there any change in 5.0.6 address resolution???
Dear All, I am sorry, but is there any change in 5.0.6 address resolution? Because all my asset can not be shown? Here is my 5.0.5 asset address resolution : /* images */ @Inject @Path("classpath:crms/images/openresearch.ico") private Asset _openResearchIcon; What is it like in 5.0.6? Because my images were not shown. Thanks in advance... Best wishes, Eko SW http://swdev.blogs.friendster.com/my_blog/
Re: Tapestry 5 Roadmap
On 10/23/07, Howard Lewis Ship <[EMAIL PROTECTED]> wrote: > Let me repeat ... I have seven years of experience (in Tapestry) on how NOT > to be backwards compatible. T5 is all about ensuring future backwards > compatibility without compromising the ability to enhance the framework > going forward. I am not familiar with T3/T4 - only T5 - but if one builds a framework to eliminate future incompatibilities would not it be possible to make a backward compatibility as well? I guess this would be a good test case for the functionality you are developing. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5.07 SNAPSHOT! Where is the Inject Annotation??
https://issues.apache.org/jira/browse/TAPESTRY-1800 Its a good idea to keep an eye on jira or the developer mailing list for some forewarning of such chanages :). On 10/24/07, Donyee <[EMAIL PROTECTED]> wrote: > I tried the t5.07 snapshot today, the Inject Annotation is not found in the > src. > the doc is not mentioned, Is there anything new? > > > > 徐 依伟 >
Re: T5.07 SNAPSHOT! Where is the Inject Annotation??
I had a similar "discovery". It appears to have been replaced by org.apache.tapestry.ioc.annotations.Inject. http://tapestry.formos.com/nightly/tapestry5/apidocs/org/apache/tapestry/ioc/annotations/Inject.html I just chalked it up to the refactoring that you have to live with when playing with alpha software. Josh On 10/23/07, Donyee <[EMAIL PROTECTED]> wrote: > > I tried the t5.07 snapshot today, the Inject Annotation is not found in > the > src. > the doc is not mentioned, Is there anything new? > > > > 徐 依伟 > -- -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox.
T5: customize the Grid component
Hi, Sorry for my newbie question and bad English. I used the component 'Grid' and succeeded to display DB-stored-data to the browser (thanks to committers). Now, I want to give hyper links to some columns. 1. does 'Grid' has this function? 2. or maybe 'Grid*' components are useful? 3. or I have to write codes from scratch? Could you give me some hints? thanks. Ken. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5.07 SNAPSHOT! Where is the Inject Annotation??
I tried the t5.07 snapshot today, the Inject Annotation is not found in the src. the doc is not mentioned, Is there anything new? 徐 依伟
Re: T4.1.3 : 100% CPU usage on tomcat due to server-side email validation
thx for all - i'll see if i can have the test do performance check, and commit asap Ulrich Stärk wrote: I Just created a JIRA report and a fix for that problem. https://issues.apache.org/jira/browse/TAPESTRY-1857 Uli Ulrich Stärk schrieb: I just came to the same conclusion. The problem is with the ([-_\\.]*[A-Za-z0-9]+)* part of the regexp in the user as well as the domain part. Apart from that this regexp will reject email addresses which are valid according to RFC 3696 like [EMAIL PROTECTED] Uli andyhot schrieb: hmmm - nice report - looks like that specific email regex is problematic when the given string is not email and contains lots of chars (>25-30 result in more than 10 iterations according to RegexBuddy) - we'll probably have to find a better regex i guess http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html looks quite interesting though ;) Christian Dutaret wrote: Hi all, Occasionally, my T4.1.3 application running on tomcat/jdk5/linux gets to take 100% CPU and then never release it until I restart the JVM. Doesn't happen too often, maybe 5 times in a few months. After I restart Tomcat, everything goes back to normal. I eventually decided to try to find out the suspected infinite loop that causes all this. So I did a thread dump on the JVM, identified the cpu-consuming threads. I found 3 threads wasting 33% of the CPU each, and according to the thread dump, they're all running infinite loops on regexp matching. Here is an extract of the thread dump for one of these threads : at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4721) at java.util.regex.Pattern$Prolog.match(Pattern.java:4658) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Begin.match(Pattern.java:3084) at java.util.regex.Matcher.match(Matcher.java:1114) at java.util.regex.Matcher.matches(Matcher.java:495) at org.apache.tapestry.util.RegexpMatcher.matches(RegexpMatcher.java :71) at org.apache.tapestry.form.validator.Email.validate(Email.java:61) at org.apache.tapestry.form.ValidatableFieldSupportImpl.validate( ValidatableFieldSupportImpl.java:99) at $ValidatableFieldSupport_115c315e3ad.validate($ValidatableFieldSupport_115c315e3ad.java) at org.apache.tapestry.form.TextField.rewindFormComponent( TextField.java:103) As you can see, it seems that the email validator regexp matching causes an infinite loop in some rare cases. Unfortunately, I am not able to retrieve which values did cause this. In the mean time, I'll try my own simpler regexp, or maybe I'll just skip email validation until I get a better idea. Thanks for any hint on this Ch. --
Re: T4.1.3 : 100% CPU usage on tomcat due to server-side email validation
I Just created a JIRA report and a fix for that problem. https://issues.apache.org/jira/browse/TAPESTRY-1857 Uli Ulrich Stärk schrieb: I just came to the same conclusion. The problem is with the ([-_\\.]*[A-Za-z0-9]+)* part of the regexp in the user as well as the domain part. Apart from that this regexp will reject email addresses which are valid according to RFC 3696 like [EMAIL PROTECTED] Uli andyhot schrieb: hmmm - nice report - looks like that specific email regex is problematic when the given string is not email and contains lots of chars (>25-30 result in more than 10 iterations according to RegexBuddy) - we'll probably have to find a better regex i guess http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html looks quite interesting though ;) Christian Dutaret wrote: Hi all, Occasionally, my T4.1.3 application running on tomcat/jdk5/linux gets to take 100% CPU and then never release it until I restart the JVM. Doesn't happen too often, maybe 5 times in a few months. After I restart Tomcat, everything goes back to normal. I eventually decided to try to find out the suspected infinite loop that causes all this. So I did a thread dump on the JVM, identified the cpu-consuming threads. I found 3 threads wasting 33% of the CPU each, and according to the thread dump, they're all running infinite loops on regexp matching. Here is an extract of the thread dump for one of these threads : at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4721) at java.util.regex.Pattern$Prolog.match(Pattern.java:4658) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Begin.match(Pattern.java:3084) at java.util.regex.Matcher.match(Matcher.java:1114) at java.util.regex.Matcher.matches(Matcher.java:495) at org.apache.tapestry.util.RegexpMatcher.matches(RegexpMatcher.java :71) at org.apache.tapestry.form.validator.Email.validate(Email.java:61) at org.apache.tapestry.form.ValidatableFieldSupportImpl.validate( ValidatableFieldSupportImpl.java:99) at $ValidatableFieldSupport_115c315e3ad.validate($ValidatableFieldSupport_115c315e3ad.java) at org.apache.tapestry.form.TextField.rewindFormComponent( TextField.java:103) As you can see, it seems that the email validator regexp matching causes an infinite loop in some rare cases. Unfortunately, I am not able to retrieve which values did cause this. In the mean time, I'll try my own simpler regexp, or maybe I'll just skip email validation until I get a better idea. Thanks for any hint on this Ch. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e
Re: T4.1.3 : 100% CPU usage on tomcat due to server-side email validation
I now remember where I saw that one before. Jeffrey Friedl included it in "Mastering Regular Expressions". In print! :) Uli andyhot schrieb: hmmm - nice report - looks like that specific email regex is problematic when the given string is not email and contains lots of chars (>25-30 result in more than 10 iterations according to RegexBuddy) - we'll probably have to find a better regex i guess http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html looks quite interesting though ;) Christian Dutaret wrote: Hi all, Occasionally, my T4.1.3 application running on tomcat/jdk5/linux gets to take 100% CPU and then never release it until I restart the JVM. Doesn't happen too often, maybe 5 times in a few months. After I restart Tomcat, everything goes back to normal. I eventually decided to try to find out the suspected infinite loop that causes all this. So I did a thread dump on the JVM, identified the cpu-consuming threads. I found 3 threads wasting 33% of the CPU each, and according to the thread dump, they're all running infinite loops on regexp matching. Here is an extract of the thread dump for one of these threads : at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4721) at java.util.regex.Pattern$Prolog.match(Pattern.java:4658) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Begin.match(Pattern.java:3084) at java.util.regex.Matcher.match(Matcher.java:1114) at java.util.regex.Matcher.matches(Matcher.java:495) at org.apache.tapestry.util.RegexpMatcher.matches(RegexpMatcher.java :71) at org.apache.tapestry.form.validator.Email.validate(Email.java:61) at org.apache.tapestry.form.ValidatableFieldSupportImpl.validate( ValidatableFieldSupportImpl.java:99) at $ValidatableFieldSupport_115c315e3ad.validate($ValidatableFieldSupport_115c315e3ad.java) at org.apache.tapestry.form.TextField.rewindFormComponent( TextField.java:103) As you can see, it seems that the email validator regexp matching causes an infinite loop in some rare cases. Unfortunately, I am not able to retrieve which values did cause this. In the mean time, I'll try my own simpler regexp, or maybe I'll just skip email validation until I get a better idea. Thanks for any hint on this Ch. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [t5] decoding utf-8 in form submissions
Hi, I am using Tapestry 5.0.5. Thanks. Ken Hi, I copied 'buildUtf8Filter' method from the URL below (in citation) and add: configuration.add("Utf8Filter", utf8Filter); in my AppModule. Then I got: HTTP ERROR: 500 Internal Server Error RequestURI=/sample/ Powered by Jetty:// What am I wrong? I have some concern. 1. in Tapestry5Utf8Encoding, it uses: requestGlobals.getHTTPServletRequest() but there is no method 'getHTTPServletRequest' for class RequestGlobals. So I rewrite it to 'getRequest'. 2. likewise, method 'setCharacterEncoding' does not in HttpServletResponse, so I rewrite it to 'setEncoding'. thanks. Ken Nick Westgate wrote: If you are using file upload there may be an incompatibility. Otherwise, are you sure you added this line to contributeRequestHandler()? configuration.add("Utf8Filter", utf8Filter); // handle UTF-8 Cheers, Nick. Lauri Benno wrote: Hi, I'm totally lost on this. I'm using UTF-8 on my application and output is working fine. I followed instructions on http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding and added UTF-8 filter to AppModule but I'm still receiving gibberish in my page class when I try to submit a form that has characters outside the English alphabet (like ö,ä,ü) in it. As I'm using Jetty I did even set org.mortbay.util.URI.charset=UTF-8 but still no help. What am I missing here? Below is my dev environment: Tapestry 5.0.6-SNAPSHOT Java 6 u3 Maven Jetty plugin (Jetty 6.1.6rc0) OS: openSuse 10.3 Lauri - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [t5] decoding utf-8 in form submissions
Hi, I copied 'buildUtf8Filter' method from the URL below (in citation) and add: configuration.add("Utf8Filter", utf8Filter); in my AppModule. Then I got: HTTP ERROR: 500 Internal Server Error RequestURI=/sample/ Powered by Jetty:// What am I wrong? I have some concern. 1. in Tapestry5Utf8Encoding, it uses: requestGlobals.getHTTPServletRequest() but there is no method 'getHTTPServletRequest' for class RequestGlobals. So I rewrite it to 'getRequest'. 2. likewise, method 'setCharacterEncoding' does not in HttpServletResponse, so I rewrite it to 'setEncoding'. thanks. Ken Nick Westgate wrote: If you are using file upload there may be an incompatibility. Otherwise, are you sure you added this line to contributeRequestHandler()? configuration.add("Utf8Filter", utf8Filter); // handle UTF-8 Cheers, Nick. Lauri Benno wrote: Hi, I'm totally lost on this. I'm using UTF-8 on my application and output is working fine. I followed instructions on http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding and added UTF-8 filter to AppModule but I'm still receiving gibberish in my page class when I try to submit a form that has characters outside the English alphabet (like ö,ä,ü) in it. As I'm using Jetty I did even set org.mortbay.util.URI.charset=UTF-8 but still no help. What am I missing here? Below is my dev environment: Tapestry 5.0.6-SNAPSHOT Java 6 u3 Maven Jetty plugin (Jetty 6.1.6rc0) OS: openSuse 10.3 Lauri - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 5 Roadmap
I am apparently a bit touchy this week, Kranga, et al. Please forgive. I also wasn't stating that lack of compatibility was an industry norm. I was saying, merely, that often (and demonstrably) a major version number implies a lack of complete backwards compatibility. That was all. Just that it wasn't crazy to be unsurprised by lack of compatibility between components in v3.x, v4.x, and v5.x. However wrong or unreasonable that might be, it is still explicit in the version policies I cited earlier. But we can all be glad that Howard and co. are working on making things such that future releases can rely on V5 apis. I'm normally not this irritable. Again, I apologize. Christian. On 23-Oct-07, at 6:31 PM, kranga wrote: I didn't implicate you as stupid. You wouldn't be using Tapestry if you were stupid. I was commenting on you summarily dismissing the concerns of quite a few Tapestry users about the lack of version compatiblity and your implying that this was the industry norm. Look, Howard has carte blanche on what he wants to do or not do with Tapestry. He states that T5 is laying the foundation for future compatiblity. So be it. All I can say is that in a few years when there is the "next new thing" out there and T5 cannot support it, he may yet again abandon backwards compatiblity. If he does, again, he has carte blanche. But, you cannot claim that the lack of backward compatiblity is a non-issue. That is a slap in the face of corporations and consultants like me who pushed to get T3/T4 adopted and now look not so good because the corporation is faced with finding developers who can code to an outdated framework and where the upgrade path is steep. But that is open source and life. Just don't call it "normal business practice in the marketplace." I didn't and never meant to insult anyone personally. No ad hominim attacks .. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Newbie question - example needed
Thanks for the link, if you want more blocks in action see the wiki: http://wiki.apache.org/tapestry/Tapestry5HowToCreateATabPanel César. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: T5: @Persist form field or not?
This topic comes up periodically. Under T4, it might come up under null-handlers for OGNL where a usr object could automatically be created if one did not exist already. One way or another, you need to make sure that usr is not null when you go to assign the name. It's OK for name to be null in Edit1, and usr.name to be null in Edit2, but you can't have usr be null in Edit2. That's half the answer anyway. The other half must be in the behavior of @Persist, or in code that you have not included. > -Original Message- > From: Angelo Chen [mailto:[EMAIL PROTECTED] > Sent: Monday, October 22, 2007 4:15 AM > To: users@tapestry.apache.org > Subject: T5: @Persist form field or not? > > > Hi, > > I have two classes, Edit1 and Edit2, name is the form field, when I > submit > the form using Edit1, everything works, and when I tried Edit2, it > generates > an exception: > > java.lang.NullPointerException > Stack trace > . org.bfe.test.t5.pages.Edit.setName(Edit.java:52) > . > org.apache.tapestry.internal.bindings.PropBinding.set(PropBinding.java:67) > > What's the difference here? if I @Persist usr, error goes away, then why I > don't have @Persist name in the Edit1's case? thanks. > > A.C. > > > public class Edit1 { > private String name; > > public String getName() { > return name; > } > > public void setName(String name) { > this.name; > } > > public class Edit2 { > private Usr usr; > > public String getName() { > return usr.getName(); > } > > public void setName(String name) { > this.usr.setName(name); > } > > > -- > View this message in context: http://www.nabble.com/T5%3A-%40Persist-form- > field-or-not--tf4669367.html#a13338569 > 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: Tapestry 5 Roadmap
I didn't implicate you as stupid. You wouldn't be using Tapestry if you were stupid. I was commenting on you summarily dismissing the concerns of quite a few Tapestry users about the lack of version compatiblity and your implying that this was the industry norm. Look, Howard has carte blanche on what he wants to do or not do with Tapestry. He states that T5 is laying the foundation for future compatiblity. So be it. All I can say is that in a few years when there is the "next new thing" out there and T5 cannot support it, he may yet again abandon backwards compatiblity. If he does, again, he has carte blanche. But, you cannot claim that the lack of backward compatiblity is a non-issue. That is a slap in the face of corporations and consultants like me who pushed to get T3/T4 adopted and now look not so good because the corporation is faced with finding developers who can code to an outdated framework and where the upgrade path is steep. But that is open source and life. Just don't call it "normal business practice in the marketplace." I didn't and never meant to insult anyone personally. No ad hominim attacks .. - Original Message - From: "Christian Gruber" <[EMAIL PROTECTED]> To: "Tapestry users" Sent: Tuesday, October 23, 2007 11:32 AM Subject: Re: Tapestry 5 Roadmap Ok, whatever. I give in. I'll go and use T4 and whine at Howard now. Oh wait, no I won't. I'll work on T5 and try to encourage it into as re-usable, and less brittle and change-vulnerable a form as I can, so that there is more likelihood of upgradability. (Howard's doing quite well about that already) Honestly, I wouldn't be so hostile at the moment if Kranga hadn't dropped the implication that I was stupid for merely observing something about version numbers. Just follow the links. I'm not saying anyone's wrong for saying that they want compatibility. I'm just saying (and it was all I was saying) that often (and provably often - see the links) major version numbers indicate incompatibility. That's not my opinion - that's an observation. I wasn't saying it was right, or better. I'm saying it's fair of the author to do what other software has clearly done before him, and Howard had the decency to make a major version bump to indicate that it's a new platform. I suppose he could have called it TapestryNG or something. Anyway, I'm out of this conversation. When people are comparing opinion with observed (and referenced) facts and giving me grief for it, they should try editing Wikipedia more. There at least that kind of thing isn't tolerated. Christian. On 23-Oct-07, at 9:15 AM, Peter Stavrinides wrote: Christian, kranga is right. You can't keep telling yourself it is okay to change the framework to the point that an entire rewrite is needed to existing code. Some upgrading is expected (and necessary), but Tapestry will die a quick death, no matter how good it is under the hood, if you slap devotees in the face again and again. - 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: Tapestry 5 Roadmap
I am speaking from my experience (and based on others in the mailing list who have echoed a similar sentiment). It is very frustrating for an organization to decide to use a framework and then find it is "legacy" in 6 months. Such is software development (and open source) and developers and corporations take that into account when putting their resources in. This shows in the lack of Tapestry adoption. And btw native database apis don't change. Oracle for e.g. has a huge backward compatiblity legacy. There are changes in most software, but not a complete rewrite. - Original Message - From: "Christian Gruber" <[EMAIL PROTECTED]> To: "Tapestry users" Sent: Friday, October 19, 2007 11:52 AM Subject: Re: Tapestry 5 Roadmap Egregious? That demands and answer and perhaps an apology. Firstly, try porting and app from Weblogic Portal 8 to Weblogic Portal 9. It has conversion tools, but it's not compatible without up- conversion. Upconversion doesn't count. Then think of eclipse and the plugins geared for such. As to appservers themselves, core platforms have a higher bar for backwards compatibility and always have than component frameworks. Databases are also externally compatible only because they conform to an API they didn't write themselves (SQL92, etc.). I'm not sure about MySQL, but many SQL databases that have native APIs are not API compatible between releases when using that native API. And try to move the files over between databases, and you have to do an export and an import, because you can't just install an upgrade and have everything work. As I said, upconversion doesn't count. We're talking about a component framework, which is highly finicky. If you update the major versions, it's not unreasonable that existing components won't work. I mean Howard could have spent a lot of effort making a bridge or translation system to maintain compatibility (which is often how total rewrites gain their backwards compatibility... see windows), but he didn't (clearly) think that was worth his time. Of course, it's open-source, so you could do it, if you wanted it badly enough. Oh, and blah blah blah fork blah blah. You know that part. Regardless of all of this, at least one major apache project has this policy too, and that's from 2 minutes on google.http://apr.apache.org/versioning.html . Major versions mean incompatible releases. That's (in my experience, except for platforms themselves) often the (non-marketing) meaning of major versions. A few other examples: http://www.jmock.org/versioning.html http://xstream.codehaus.org/versioning.html http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/VersionInformation.html http://wiki.eclipse.org/Version_Numbering ... oh, and most unix libraries. While not absolutely true in all cases, it is most certainly true in many cases, and is not unreasonable. Now apologize for your imputation, sir, for you are substantially, demonstrably incorrect. Christian. P.S. Ok, I'm not really that offended, just irritated with how personal you just made it. I don't like being called out for simple observations from 15 years in software development. On 19-Oct-07, at 7:00 AM, kranga wrote: That is an incredible statement! There have been numerous discussions on this mailing list on the way T4 was made completely incompatible since it was going to incorporate the very best and then T5 was made even more incompatible to incorporate the latest. This has been a vexing issue with quite a few people and organizations who invested in T3/T4 based projects. By way of example, tell me how these products are not compatible within major releases: Websphere 4, 5, 6 WebLogic: 8, 9, 10 MySQL: 4, 5 Hibernate: 2, 3 There are some pieces that change and new features are introduced. But your don't have to do a major rewrite to use the newer version. As an example, if T5 were T4 + annotations, that would be a compatible release. But Howard has chosen to rewrite it from the ground up with no compatiblity concern. Well, thats his prerogative as this is open-source community driven development. If I want, I can take the T3 code base and establish my own framework. However, it also reflects on the popularly or lack of for Tapestry. This topic has been beaten to death and I don't wish to bring it up again. However, your point regarding versions was egregious. - Original Message - From: "Christian Gruber" <[EMAIL PROTECTED] > To: "Tapestry users" Sent: Thursday, October 18, 2007 10:58 AM Subject: Re: Tapestry 5 Roadmap I'm not sure where "incompatible releases" comes in. No one releases 1.0 -> 2.0 compatible releases except O/S vendors. That's typically what the large version number change means - these are incompatible. That's not a strike against Tapestry, that's an industry expectation. Christian On 18-Oct-07, at 6:45 AM, kranga wr
Re: [T5] components collection release 0.3.0
Oh, I know we _could_ each create our own, but I remember back in T4 it was nice to have a contrib jar that contained several useful components. I guess if I put out a library, I better make it worthwhile (several interesting things)! :-) On 10/23/07, Thiago H. de Paula Figueiredo <[EMAIL PROTECTED]> wrote: > Em Tue, 23 Oct 2007 18:55:56 -0200, Daniel Jue <[EMAIL PROTECTED]> > escreveu: > > > This is great Sven! Do you intend to have this library become T5's > > "contrib" library? Or would you suggest potential contributors to > > start their own public library for people to download? > > One of the beauties of open source is that one can write its own > libraries/components/whatever in separate and, if the community likes and > uses them, they can be part of the main Tapestry 5 distribution, for > example. :) These projects also help Howard and the other committers, as > they can focus on the framework internals while other people contribute > more specific components/services/whatever. :) > > Thiago > > - > 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] Will a BeanEditor accept a parameter block to property override?
OK, so I've done more digging and although it's not working, I think I know why, but I don't know how to fix it. Please help. This BeanEditor is being uses as a customer property editor as described in the "Adding New Property Editors" (here http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html). I'm using it as a BeanEditor because it's being rendered inside a BeanEditForm on a parent page. After looking at the documentation, I noticed that it mentions that BeanEditor looks for overides in the parent BeanEditForm. I've tried placing the parameter override there, but it is also ignored. What is the proper way to do this? On 10/23/07, Daniel Leffel <[EMAIL PROTECTED]> wrote: > > I realize a BeanEditForm will, but I have a BeanEditor which is ignoring > the parameter blocks and was wondering if this behavior is by design or a > bug. Does anyone know? > > In this code, the parameter block is being ignored: > > > > > > > >
[T5] Will a BeanEditor accept a parameter block to property override?
I realize a BeanEditForm will, but I have a BeanEditor which is ignoring the parameter blocks and was wondering if this behavior is by design or a bug. Does anyone know? In this code, the parameter block is being ignored:
Re: [T5] components collection release 0.3.0
Em Tue, 23 Oct 2007 18:55:56 -0200, Daniel Jue <[EMAIL PROTECTED]> escreveu: This is great Sven! Do you intend to have this library become T5's "contrib" library? Or would you suggest potential contributors to start their own public library for people to download? One of the beauties of open source is that one can write its own libraries/components/whatever in separate and, if the community likes and uses them, they can be part of the main Tapestry 5 distribution, for example. :) These projects also help Howard and the other committers, as they can focus on the framework internals while other people contribute more specific components/services/whatever. :) Thiago - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] components collection release 0.3.0
This is great Sven! Do you intend to have this library become T5's "contrib" library? Or would you suggest potential contributors to start their own public library for people to download? Daniel Jue On 10/23/07, Sven Homburg <[EMAIL PROTECTED]> wrote: > Hi there, > > components collection release 0.3.0 is accessable now > at http://code.google.com/p/tapestry5-components > > (requiers tapestry 5.0.6) > > -- > best regards > Sven > > > - > 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]
[T5] components collection release 0.3.0
Hi there, components collection release 0.3.0 is accessable now at http://code.google.com/p/tapestry5-components (requiers tapestry 5.0.6) -- best regards Sven - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T4 Custom components with iterated child components
Cool, thanks! I see it creates @Block components at the page level. I've done the same thing with my component and that works great. -Norman Franke On Oct 23, 2007, at 11:08 AM, Miguel Angel Hernández wrote: BeanForm component does something similar... you can look at the code to give you some idea. On 10/23/07, Norman Franke <[EMAIL PROTECTED]> wrote: I've been working on my custom inline table editor component, and I figured it would be easier to allow the user of the component to specify the component used for display and editing of each column. I was thinking doing something like this: This every time the component needed to display column one, it would insert a copy of the columnOneDisplay component here (sort of like @For does) and similarly for edit mode, it would create a columnOneEditor component. How does one go about doing this? I've looked in the @For component, but that didn't really help. My component doesn't have a renderComponent, since I'm using HTML templates. -Norman Franke - 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: T4.1.3 : 100% CPU usage on tomcat due to server-side email validation
I just came to the same conclusion. The problem is with the ([-_\\.]*[A-Za-z0-9]+)* part of the regexp in the user as well as the domain part. Apart from that this regexp will reject email addresses which are valid according to RFC 3696 like [EMAIL PROTECTED] Uli andyhot schrieb: hmmm - nice report - looks like that specific email regex is problematic when the given string is not email and contains lots of chars (>25-30 result in more than 10 iterations according to RegexBuddy) - we'll probably have to find a better regex i guess http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html looks quite interesting though ;) Christian Dutaret wrote: Hi all, Occasionally, my T4.1.3 application running on tomcat/jdk5/linux gets to take 100% CPU and then never release it until I restart the JVM. Doesn't happen too often, maybe 5 times in a few months. After I restart Tomcat, everything goes back to normal. I eventually decided to try to find out the suspected infinite loop that causes all this. So I did a thread dump on the JVM, identified the cpu-consuming threads. I found 3 threads wasting 33% of the CPU each, and according to the thread dump, they're all running infinite loops on regexp matching. Here is an extract of the thread dump for one of these threads : at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4721) at java.util.regex.Pattern$Prolog.match(Pattern.java:4658) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Begin.match(Pattern.java:3084) at java.util.regex.Matcher.match(Matcher.java:1114) at java.util.regex.Matcher.matches(Matcher.java:495) at org.apache.tapestry.util.RegexpMatcher.matches(RegexpMatcher.java :71) at org.apache.tapestry.form.validator.Email.validate(Email.java:61) at org.apache.tapestry.form.ValidatableFieldSupportImpl.validate( ValidatableFieldSupportImpl.java:99) at $ValidatableFieldSupport_115c315e3ad.validate($ValidatableFieldSupport_115c315e3ad.java) at org.apache.tapestry.form.TextField.rewindFormComponent( TextField.java:103) As you can see, it seems that the email validator regexp matching causes an infinite loop in some rare cases. Unfortunately, I am not able to retrieve which values did cause this. In the mean time, I'll try my own simpler regexp, or maybe I'll just skip email validation until I get a better idea. Thanks for any hint on this Ch. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] Handle AjaxDirectLink when session expired?
Below is the response that came over the wire. The HTTP Return code was a "302". IE reported an "(Error 0x80070005)" in my httpwatch plugin. HTTP/1.1 302 Moved Temporarily Date: Tue, 23 Oct 2007 14:19:08 GMT Server: Apache/1.3.33 (Darwin) mod_jk/1.2.5 Set-Cookie: JSESSIONID=FD8DB6FDD00F93C4DE1E87A52D6652E5; Path=/dmi Location: http://localhost:8080/authsumserver/dmi?service=page&page=LoginPage&authsumOriginalUrl=http%3A%2F%2Fdmidev.r-effects.com%2Fdmi%2Fj_acegi_authsum_security_check&applicationName=dmi Content-Length: 0 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/plain - Original Message - From: "andyhot" <[EMAIL PROTECTED]> To: "Tapestry users" Sent: Tuesday, October 23, 2007 2:13:49 PM (GMT-0500) America/New_York Subject: Re: [T4] Handle AjaxDirectLink when session expired? No, this is tacos 4.0 specific - what are the contents of the response? I think it was caused due to invalid xml in the response... Also, try setting tacosConfig.debugAjaxResponseError to true and see if it presents any more info Phillip Rhodes wrote: > While this is happening in tapestry/tacos, I feel it might be global to > ajax/tapestry in general. > > 1) User has expired session > 2) User clicks AjaxDirectLink > 3) Application detects an expired session and sends Redirect to login page > back to the user > 4) Browser receives the redirect, but both IE and Firefox display a "[object > Object]" in the browser screen. > > Any ideas on how to solve this problem? > Thanks. > Phillip > > > > > - > 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 / JEE Consulting - 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: Newbie question - example needed
For those interested, here is a demo with source code: http://lombok.demon.co.uk/tapestry5Demo/test/delegate/block - J jblier wrote: > > I'm making progress with T5.0.5 and I'm eager to switch to 5.0.6 when it > will be available. > > In 5.0.5, I am now able to create advanced Layouts by merging a page > template with a component. And I am also able to use the > element to load specific content inside the layout. All of > this thanks for the examples and discussion published in this list. Thanks > everyone. > > However, I'd like to know how to create a simple and know how to > render it. > > Can anyone give me a quick example? > > Also, is the element only for T5.0.6 and up? > -- View this message in context: http://www.nabble.com/T5%3A-Newbie-question---%3Cblock%3E-example-needed-tf4673279.html#a13370593 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] Handle AjaxDirectLink when session expired?
No, this is tacos 4.0 specific - what are the contents of the response? I think it was caused due to invalid xml in the response... Also, try setting tacosConfig.debugAjaxResponseError to true and see if it presents any more info Phillip Rhodes wrote: While this is happening in tapestry/tacos, I feel it might be global to ajax/tapestry in general. 1) User has expired session 2) User clicks AjaxDirectLink 3) Application detects an expired session and sends Redirect to login page back to the user 4) Browser receives the redirect, but both IE and Firefox display a "[object Object]" in the browser screen. Any ideas on how to solve this problem? Thanks. Phillip - 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 / JEE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T4.1.3 : 100% CPU usage on tomcat due to server-side email validation
hmmm - nice report - looks like that specific email regex is problematic when the given string is not email and contains lots of chars (>25-30 result in more than 10 iterations according to RegexBuddy) - we'll probably have to find a better regex i guess http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html looks quite interesting though ;) Christian Dutaret wrote: Hi all, Occasionally, my T4.1.3 application running on tomcat/jdk5/linux gets to take 100% CPU and then never release it until I restart the JVM. Doesn't happen too often, maybe 5 times in a few months. After I restart Tomcat, everything goes back to normal. I eventually decided to try to find out the suspected infinite loop that causes all this. So I did a thread dump on the JVM, identified the cpu-consuming threads. I found 3 threads wasting 33% of the CPU each, and according to the thread dump, they're all running infinite loops on regexp matching. Here is an extract of the thread dump for one of these threads : at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.match(Pattern.java:4702) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4634) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Curly.match0(Pattern.java:4247) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575) at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4721) at java.util.regex.Pattern$Prolog.match(Pattern.java:4658) at java.util.regex.Pattern$Curly.match0(Pattern.java:4240) at java.util.regex.Pattern$Curly.match(Pattern.java:4202) at java.util.regex.Pattern$Begin.match(Pattern.java:3084) at java.util.regex.Matcher.match(Matcher.java:1114) at java.util.regex.Matcher.matches(Matcher.java:495) at org.apache.tapestry.util.RegexpMatcher.matches(RegexpMatcher.java :71) at org.apache.tapestry.form.validator.Email.validate(Email.java:61) at org.apache.tapestry.form.ValidatableFieldSupportImpl.validate( ValidatableFieldSupportImpl.java:99) at $ValidatableFieldSupport_115c315e3ad.validate($ValidatableFieldSupport_115c315e3ad.java) at org.apache.tapestry.form.TextField.rewindFormComponent( TextField.java:103) As you can see, it seems that the email validator regexp matching causes an infinite loop in some rare cases. Unfortunately, I am not able to retrieve which values did cause this. In the mean time, I'll try my own simpler regexp, or maybe I'll just skip email validation until I get a better idea. Thanks for any hint on this Ch. -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / JEE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Strange problem with OGNL (just happening on our production servers)
Hi Martino We are seeing these stack traces too, but the applications doesn't hang. http://jira.opensymphony.com/browse/OGNL-115 The error happens when a getter method doesn't have the matching setter method. Does the page still work? or it brakes your app? In case you don't need a setter method an option to avoid the stack traces is to explicitly call the getter, like this: Salutti. Alejandro. On 10/23/07, Martino Piccinato <[EMAIL PROTECTED]> wrote: > Hi, > > we are experiencing a very strange problem just on our production > server, from time to time bindings/ognl starts giving strange > exceptions it does not give on our dev workstations. The problem is > also difficult to reproduce on production server so I think it might > be some race condition problem. > > > We are using tapetry 4.1.2 and latest stable OGNL. It might be worth > mentioning that the production server is 64bit (and obviously much > faster) than our poor workstations. > > as an example of these exception take this component: > > > mobile > > > the component is used on a page called ViewPoSPage having a > String getMobile() method. > > > This is the exception that comes out from time to time: > > 2007-10-23 09:41:35,947 ERROR > [org.apache.tapestry.services.impl.HiveMindExpressionCompiler] - Error > generating OGNL getter for expression mobile with root $ViewPoSPag > [EMAIL PROTECTED] and body: > { return (($ViewPoSPage_149)$2).mobile();} > org.apache.hivemind.ApplicationRuntimeException: Unable to add method > java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class > $ASTProperty_115c9fd5cb4: [sour > ce error] mobile() not found in $ViewPoSPage_149 > at > org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) > at > org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:172) > at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:498) > 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_115c9fd5801.getCompiledExpression($ExpressionCache_115c9fd5801.java) > at > org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134) > at > org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125) > at > org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84) > at $Insert_6.getValue($Insert_6.java) > at > org.apache.tapestry.components.Insert.renderComponent(Insert.java:48) > at > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725) > at > org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180) > > > > > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) > at > org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) > at > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Thread.java:595) > Caused by: javassist.CannotCompileException: [source error] mobile() > not found in $ViewPoSPage_149 > at javassist.CtBehavior.setBody(CtBehavior.java:347) > at javassist.CtBehavior.setBody(CtBehavior.java:316) > at > org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272) > ... 91 more > Caused by: compile error: mobile() not found in $ViewPoSPage_149 > at > javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716) > at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681) > at > javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156) > at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45) > at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235) > at javassist.compiler.CodeGen.compileExpr(CodeGen.java:222) > at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:591) > at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java > > the only "strange" thing I can see on the page is a > > String mobile(Person person) > > so I thought it might have been > http://jira.opensymphony.com/browse/OGNL-129 but the signature as you > can see is different and the problem is not happening everytime... > > Any suggestion? > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
Other problems with ognl/enhancements
It seems it's ognl time for us :-) I send a different messages for this problem because it seems it might be due to another. After some time (2/3 hours?) my server is running I keep getting the exception I copied down here. It seems to be a different one from the one I reported. It's like javassist can't find his own created classes so I thought about a PermGen/Memory issue but I have no other evidence of it that this behaviour. We are running tapestry 4.1.2 org.apache.hivemind.ApplicationRuntimeException: Unable to add method java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class $ASTProperty_115cc 5d1360: [source error] no such class: $ViewRealEstateEvaluationsForm_176 at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:172) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:498) 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_115cc5d0759.getCompiledExpression($ExpressionCache_115cc5d0759.java) at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134) at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125) at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84) at $Insert_6.getValue($Insert_6.java) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Caused by: javassist.CannotCompileException: [source error] no such class: $ViewRealEstateEvaluationsForm_176 at javassist.CtBehavior.setBody(CtBehavior.java:347) at javassist.CtBehavior.setBody(CtBehavior.java:316) at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272) ... 114 more Caused by: compile error: no such class: $ViewRealEstateEvaluationsForm_176 at javassist.compiler.MemberResolver.searchImports(MemberResolver.java:416) at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:392) at javassist.compiler.MemberResolver.lookupClassByName(MemberResolver.java:306) at javassist.compiler.MemberResolver.resolveClassName(MemberResolver.java:450) at javassist.compiler.TypeChecker.resolveClassName(TypeChecker.java:131) at javassist.compiler.TypeChecker.atCastExpr(TypeChecker.java:545) at javassist.compiler.JvstTypeChecker.atCastExpr(JvstTypeChecker.java:103) at javassist.compiler.ast.CastExpr.accept(CastExpr.java:54) at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:653) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 5 Roadmap
I with you, here. But (as you know, 'cause you did it) sometimes you have to start over to get it right. One can architect one into a corner, and evolving back into a good state isn't always possible. Christian. On 23-Oct-07, at 11:51 AM, Howard Lewis Ship wrote: Let me repeat ... I have seven years of experience (in Tapestry) on how NOT to be backwards compatible. T5 is all about ensuring future backwards compatibility without compromising the ability to enhance the framework going forward. On 10/23/07, Christian Gruber <[EMAIL PROTECTED]> wrote: Ok, whatever. I give in. I'll go and use T4 and whine at Howard now. Oh wait, no I won't. I'll work on T5 and try to encourage it into as re-usable, and less brittle and change-vulnerable a form as I can, so that there is more likelihood of upgradability. (Howard's doing quite well about that already) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 5 Roadmap
Let me repeat ... I have seven years of experience (in Tapestry) on how NOT to be backwards compatible. T5 is all about ensuring future backwards compatibility without compromising the ability to enhance the framework going forward. On 10/23/07, Christian Gruber <[EMAIL PROTECTED]> wrote: > > Ok, whatever. I give in. I'll go and use T4 and whine at Howard > now. Oh wait, no I won't. I'll work on T5 and try to encourage it > into as re-usable, and less brittle and change-vulnerable a form as I > can, so that there is more likelihood of upgradability. (Howard's > doing quite well about that already) > > Honestly, I wouldn't be so hostile at the moment if Kranga hadn't > dropped the implication that I was stupid for merely observing > something about version numbers. Just follow the links. I'm not > saying anyone's wrong for saying that they want compatibility. I'm > just saying (and it was all I was saying) that often (and provably > often - see the links) major version numbers indicate > incompatibility. That's not my opinion - that's an observation. I > wasn't saying it was right, or better. I'm saying it's fair of the > author to do what other software has clearly done before him, and > Howard had the decency to make a major version bump to indicate that > it's a new platform. I suppose he could have called it TapestryNG or > something. > > Anyway, I'm out of this conversation. When people are comparing > opinion with observed (and referenced) facts and giving me grief for > it, they should try editing Wikipedia more. There at least that kind > of thing isn't tolerated. > > Christian. > > On 23-Oct-07, at 9:15 AM, Peter Stavrinides wrote: > > > Christian, kranga is right. You can't keep telling yourself it is > > okay to change the framework to the point that an entire rewrite is > > needed to existing code. Some upgrading is expected (and necessary), > > but Tapestry will die a quick death, no matter how good it is under > > the hood, if you slap devotees in the face again and again. > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Partner and Senior Architect at Feature50 Creator Apache Tapestry and Apache HiveMind
Re: Tapestry 5 Roadmap
Ok, whatever. I give in. I'll go and use T4 and whine at Howard now. Oh wait, no I won't. I'll work on T5 and try to encourage it into as re-usable, and less brittle and change-vulnerable a form as I can, so that there is more likelihood of upgradability. (Howard's doing quite well about that already) Honestly, I wouldn't be so hostile at the moment if Kranga hadn't dropped the implication that I was stupid for merely observing something about version numbers. Just follow the links. I'm not saying anyone's wrong for saying that they want compatibility. I'm just saying (and it was all I was saying) that often (and provably often - see the links) major version numbers indicate incompatibility. That's not my opinion - that's an observation. I wasn't saying it was right, or better. I'm saying it's fair of the author to do what other software has clearly done before him, and Howard had the decency to make a major version bump to indicate that it's a new platform. I suppose he could have called it TapestryNG or something. Anyway, I'm out of this conversation. When people are comparing opinion with observed (and referenced) facts and giving me grief for it, they should try editing Wikipedia more. There at least that kind of thing isn't tolerated. Christian. On 23-Oct-07, at 9:15 AM, Peter Stavrinides wrote: Christian, kranga is right. You can't keep telling yourself it is okay to change the framework to the point that an entire rewrite is needed to existing code. Some upgrading is expected (and necessary), but Tapestry will die a quick death, no matter how good it is under the hood, if you slap devotees in the face again and again. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T4 Custom components with iterated child components
BeanForm component does something similar... you can look at the code to give you some idea. On 10/23/07, Norman Franke <[EMAIL PROTECTED]> wrote: > > I've been working on my custom inline table editor component, and I > figured it would be easier to allow the user of the component to > specify the component used for display and editing of each column. I > was thinking doing something like this: > > > > > > > This every time the component needed to display column one, it would > insert a copy of the columnOneDisplay component here (sort of like > @For does) and similarly for edit mode, it would create a > columnOneEditor component. > > How does one go about doing this? I've looked in the @For component, > but that didn't really help. > > My component doesn't have a renderComponent, since I'm using HTML > templates. > > -Norman Franke > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
T4 Custom components with iterated child components
I've been working on my custom inline table editor component, and I figured it would be easier to allow the user of the component to specify the component used for display and editing of each column. I was thinking doing something like this: This every time the component needed to display column one, it would insert a copy of the columnOneDisplay component here (sort of like @For does) and similarly for edit mode, it would create a columnOneEditor component. How does one go about doing this? I've looked in the @For component, but that didn't really help. My component doesn't have a renderComponent, since I'm using HTML templates. -Norman Franke - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] Handle AjaxDirectLink when session expired?
While this is happening in tapestry/tacos, I feel it might be global to ajax/tapestry in general. 1) User has expired session 2) User clicks AjaxDirectLink 3) Application detects an expired session and sends Redirect to login page back to the user 4) Browser receives the redirect, but both IE and Firefox display a "[object Object]" in the browser screen. Any ideas on how to solve this problem? Thanks. Phillip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 5 Roadmap
On Tue, 23 Oct 2007 10:15:03 -0300, Peter Stavrinides <[EMAIL PROTECTED]> wrote: but Tapestry will die a quick death, no matter how good it is under the hood, if you slap devotees in the face again and again. Howard has stated very clearly that there will be no Tapestry 6 or, at least, that an eventual Tapestry 6 would be backwards compatible with Tapestry 5. Read the Howard's comments here: http://jroller.com/WarnerOnstine/entry/why_hasn_t_tapestry_been -- Thiago H. de Paula Figueiredo Desenvolvedor, Instrutor e Consultor de Tecnologia Eteg Tecnologia da Informação Ltda. http://www.eteg.com.br - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How can I change Locale in 5.0.6
Hi All, Is 5.0.6 already capable of changing HTTP locale ? I see that 5.0.5 can't do it. How we do it? Thanks in advance -- Best wishes, Eko SW http://swdev.blogs.friendster.com/my_blog/
Re: Why Can't I get the 5.0.6?
Woaw. Great. Many thanks! 2007/10/23, Francois Armand <[EMAIL PROTECTED]>: > > Eko S.W. wrote: > > I change the 5.0.5 to 5.0.6-SNAPSHOT > > But why I can't get it? > > Is there any new place to store the 5.0.6-SNAPSHOT? > > > The repository for Tapestry Snapshot is : > 8< > > tapestry-snapshot > http://tapestry.formos.com/maven-snapshot-repository > > > true > > > 8< > > It is also where the site that follows snapshot evolution is > (http://tapestry.formos.com) > > -- > Francois Armand > Etudes & Développements J2EE > Groupe Linagora - 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] > > -- Best wishes, Eko SW http://swdev.blogs.friendster.com/my_blog/
Re: Tapestry 5 Roadmap
Christian, kranga is right. You can't keep telling yourself it is okay to change the framework to the point that an entire rewrite is needed to existing code. Some upgrading is expected (and necessary), but Tapestry will die a quick death, no matter how good it is under the hood, if you slap devotees in the face again and again. Christian Gruber wrote: Egregious? That demands and answer and perhaps an apology. Firstly, try porting and app from Weblogic Portal 8 to Weblogic Portal 9. It has conversion tools, but it's not compatible without up-conversion. Upconversion doesn't count. Then think of eclipse and the plugins geared for such. As to appservers themselves, core platforms have a higher bar for backwards compatibility and always have than component frameworks. Databases are also externally compatible only because they conform to an API they didn't write themselves (SQL92, etc.). I'm not sure about MySQL, but many SQL databases that have native APIs are not API compatible between releases when using that native API. And try to move the files over between databases, and you have to do an export and an import, because you can't just install an upgrade and have everything work. As I said, upconversion doesn't count. We're talking about a component framework, which is highly finicky. If you update the major versions, it's not unreasonable that existing components won't work. I mean Howard could have spent a lot of effort making a bridge or translation system to maintain compatibility (which is often how total rewrites gain their backwards compatibility... see windows), but he didn't (clearly) think that was worth his time. Of course, it's open-source, so you could do it, if you wanted it badly enough. Oh, and blah blah blah fork blah blah. You know that part. Regardless of all of this, at least one major apache project has this policy too, and that's from 2 minutes on google.http://apr.apache.org/versioning.html. Major versions mean incompatible releases. That's (in my experience, except for platforms themselves) often the (non-marketing) meaning of major versions. A few other examples: http://www.jmock.org/versioning.html http://xstream.codehaus.org/versioning.html http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/VersionInformation.html http://wiki.eclipse.org/Version_Numbering ... oh, and most unix libraries. While not absolutely true in all cases, it is most certainly true in many cases, and is not unreasonable. Now apologize for your imputation, sir, for you are substantially, demonstrably incorrect. Christian. P.S. Ok, I'm not really that offended, just irritated with how personal you just made it. I don't like being called out for simple observations from 15 years in software development. On 19-Oct-07, at 7:00 AM, kranga wrote: That is an incredible statement! There have been numerous discussions on this mailing list on the way T4 was made completely incompatible since it was going to incorporate the very best and then T5 was made even more incompatible to incorporate the latest. This has been a vexing issue with quite a few people and organizations who invested in T3/T4 based projects. By way of example, tell me how these products are not compatible within major releases: Websphere 4, 5, 6 WebLogic: 8, 9, 10 MySQL: 4, 5 Hibernate: 2, 3 There are some pieces that change and new features are introduced. But your don't have to do a major rewrite to use the newer version. As an example, if T5 were T4 + annotations, that would be a compatible release. But Howard has chosen to rewrite it from the ground up with no compatiblity concern. Well, thats his prerogative as this is open-source community driven development. If I want, I can take the T3 code base and establish my own framework. However, it also reflects on the popularly or lack of for Tapestry. This topic has been beaten to death and I don't wish to bring it up again. However, your point regarding versions was egregious. - Original Message - From: "Christian Gruber" <[EMAIL PROTECTED]> To: "Tapestry users" Sent: Thursday, October 18, 2007 10:58 AM Subject: Re: Tapestry 5 Roadmap I'm not sure where "incompatible releases" comes in. No one releases 1.0 -> 2.0 compatible releases except O/S vendors. That's typically what the large version number change means - these are incompatible. That's not a strike against Tapestry, that's an industry expectation. Christian On 18-Oct-07, at 6:45 AM, kranga wrote: The question is very relevant. The concern of the project should be to build out the business functionality using existing tools. If the tools in question are not yet released and in production, there is a very legitimate concern that the maintenance of the tool will become a partial focus. Tapestry may be a compelling offering technologically, but it has many other factors going against it - lack of a developer mindshar
Re: why Tapestry 5.0.6 hasn't released yet?
Penyihir Kecil wrote: i saw @ http://tapestry.formos.com/maven-snapshot-repository/org/apache/tapestry/tapestry-core/ tapestry 5.0.6-SNAPSHOT development has moved to tapestry 5.0.7-SNAPSHOT. then...why the 5.0.6 hasn't released yet ? The vote for the release of 5.0.6 is not finished (one day remaining, I think), and after that, if it is positive, there is the time taken for publication and synchro. So be patient, but you should not have too much to wait, see : http://tapestryjava.blogspot.com/2007/10/tapestry-506-soon.html -- Francois Armand Etudes & Développements J2EE Groupe Linagora - 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]
why Tapestry 5.0.6 hasn't released yet?
i saw @ http://tapestry.formos.com/maven-snapshot-repository/org/apache/tapestry/tapestry-core/ tapestry 5.0.6-SNAPSHOT development has moved to tapestry 5.0.7-SNAPSHOT. then...why the 5.0.6 hasn't released yet ? sorry for bothering i just curious... ^_^ Dwi Ardi Irawan ~ ...and the story goes ~ Blog : http://dwiardiirawan.blogspot.com __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: Checking null value using If component on UI
In Tapestry 4 try On 10/23/07, Joshua Jackson <[EMAIL PROTECTED]> wrote: > > Dear all, > > How do I check whether an instance is null on user interface using the > If component? I tried this: > > > but it doesn't work. > > Thanks in advance :) > > -- > What you want today, may not exist tommorrow > > Blog: http://joshuajava.wordpress.com/ > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
Checking null value using If component on UI
Dear all, How do I check whether an instance is null on user interface using the If component? I tried this: but it doesn't work. Thanks in advance :) -- What you want today, may not exist tommorrow Blog: http://joshuajava.wordpress.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Strange problem with OGNL (just happening on our production servers)
Hi, we are experiencing a very strange problem just on our production server, from time to time bindings/ognl starts giving strange exceptions it does not give on our dev workstations. The problem is also difficult to reproduce on production server so I think it might be some race condition problem. We are using tapetry 4.1.2 and latest stable OGNL. It might be worth mentioning that the production server is 64bit (and obviously much faster) than our poor workstations. as an example of these exception take this component: mobile the component is used on a page called ViewPoSPage having a String getMobile() method. This is the exception that comes out from time to time: 2007-10-23 09:41:35,947 ERROR [org.apache.tapestry.services.impl.HiveMindExpressionCompiler] - Error generating OGNL getter for expression mobile with root $ViewPoSPag [EMAIL PROTECTED] and body: { return (($ViewPoSPage_149)$2).mobile();} org.apache.hivemind.ApplicationRuntimeException: Unable to add method java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class $ASTProperty_115c9fd5cb4: [sour ce error] mobile() not found in $ViewPoSPage_149 at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:172) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:498) 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_115c9fd5801.getCompiledExpression($ExpressionCache_115c9fd5801.java) at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134) at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125) at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84) at $Insert_6.getValue($Insert_6.java) at org.apache.tapestry.components.Insert.renderComponent(Insert.java:48) at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725) at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Caused by: javassist.CannotCompileException: [source error] mobile() not found in $ViewPoSPage_149 at javassist.CtBehavior.setBody(CtBehavior.java:347) at javassist.CtBehavior.setBody(CtBehavior.java:316) at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272) ... 91 more Caused by: compile error: mobile() not found in $ViewPoSPage_149 at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716) at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681) at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156) at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45) at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235) at javassist.compiler.CodeGen.compileExpr(CodeGen.java:222) at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:591) at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java the only "strange" thing I can see on the page is a String mobile(Person person) so I thought it might have been http://jira.opensymphony.com/browse/OGNL-129 but the signature as you can see is different and the problem is not happening everytime... Any suggestion? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: how to let pojo (no component) have reference to PropertyAccess
Never mind. I thought it would be difficult to define SelectModelRepository in Tapestry-IOC given the existing spring-ioc chain it needs for construction. I didn't realize injecting spring-instances in the build()-method of Tapestry-IOC works just as good as normally in components.. and i love it ;-) Britske wrote: > > I have a helperclass SelectModelRepository which centralizes logic > concerning selectmodels which different pages/ components can access. This > class needs a reference to PropertyAccess to do some of its work, which > normally is available as: > > @Inject PropertyAccess _access. > > However, this only works on components and not ordinary pojo's like the > one described above (i know... components are pojo's too ;-) > > I tried passing the PropertyAccess-instance from a component to the > SelectModelRepository, but that didn't work because the > PropertyAccess-instance is only seen as a proxy since the > JustInTimeCreator proxies the class until it is needed. This all results > in NullPointer-exceptions when referencing the PropertyAccess-instance > form the SelectModelRepository. > > Is there any way to get a valid reference to the PropertyAccess-instance > from my > SelectModelRepository-instance? > > The SelectModelRepository-instance is a singleton, so of course it could > be injected through Tapestry-ioc, although i havn't tried tapestry-ioc > yet at all though. The trouble is that now it is configured as a > Spring-IOC instance with a whole chain of spring-ioc-references to build > it. So transferring it to Tapestry-ioc gets a bit messy i guess. If no > other solution exists, could you show a simple example of where (what > file) and how to configure the SelectModelRepository-instance as > Tapestry-ioc service, > > thanks, > Geert-Jan > -- View this message in context: http://www.nabble.com/T5%3A-how-to-let-pojo-%28no-component%29-have-reference-to-PropertyAccess-tf4676141.html#a13360773 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: how to let pojo (no component) have reference to PropertyAccess
I have a helperclass SelectModelRepository which centralizes logic concerning selectmodels which different pages/ components can access. This class needs a reference to PropertyAccess to do some of its work, which normally is available as: @Inject PropertyAccess _access. However, this only works on components and not ordinary pojo's like the one described above (i know... components are pojo's too ;-) I tried passing the PropertyAccess-instance from a component to the SelectModelRepository, but that didn't work because the PropertyAccess-instance is only seen as a proxy since the JustInTimeCreator proxies the class until it is needed. This all results in NullPointer-exceptions when referencing the PropertyAccess-instance form the SelectModelRepository. Is there any way to get a valid reference to the PropertyAccess-instance from my SelectModelRepository-instance? The SelectModelRepository-instance is a singleton, so of course it could be injected through Tapestry-ioc, although i havn't tried tapestry-ioc yet at all though. The trouble is that now it is configured as a Spring-IOC instance with a whole chain of spring-ioc-references to build it. So transferring it to Tapestry-ioc gets a bit messy i guess. If no other solution exists, could you show a simple example of where (what file) and how to configure the SelectModelRepository-instance as Tapestry-ioc service, thanks, Geert-Jan -- View this message in context: http://www.nabble.com/T5%3A-how-to-let-pojo-%28no-component%29-have-reference-to-PropertyAccess-tf4676141.html#a13360247 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Antwort: [T5] howto decorate the ComponentClassResolver
overriding a service is done using the alias service. please look at the tapestry-ioc documentation or earch the mailing list (nabble). there are several examples using the alias service. it think there's also an example in the tapestry wiki :) g, kris "Joost Schouten" <[EMAIL PROTECTED]> 23.10.2007 06:30 Bitte antworten an "Tapestry users" An "'Tapestry users'" Kopie Thema [T5] howto decorate the ComponentClassResolver Hi, I made a filter to check the urls and see if the path starts with a locale (eg. en_US/myPage) and if so, set it and redirect to the page without the defined locale. Otherwise just let the request pass through. I now would like to overwrite Tapestries ComponentClassResolver to generate url's with the locale prefixed (as I assume tapestrie uses this internally to generate its url's). It seems to me I should be able to decorate the available ComponentClassResolver but am unsure as to how to define this in my AppModule. Cheers, Joost - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Session and application scope
On 10/23/07, Gianluigi <[EMAIL PROTECTED]> wrote: > Only a question, how i use a request or a Session in Tapestry 5? How can i > instanciate an > Application Object? > > in JSP i wrote : HttpSession session and session.setProperty("Key"); > and in Tapestry 5? Take a look at application state: http://tapestry.formos.com/nightly/tapestry5/tapestry-core/guide/appstate.html -- Massimo http://meridio.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: form enctype
Dear all, I've done this through creating component which extends AbstractFormComponent. protected void renderFormComponent(IMarkupWriter w, IRequestCycle c) { IForm form = getForm(); form.setEncodingType("multipart/form-data"); } Now, the form renders as enctype="multipart/form-data" : Another problem occured I'm using common file upload to get the files uploaded by user: FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(getRequest()); //request injected using: why the parseRequest always return no items? Is it because tapestry already consumed it? Thanks, Yohan Yudanara On Tue, 2007-10-23 at 13:04 +0700, Yohan Yudanara wrote: > Dear all, > > I need a way to set the enctype of a form. Could anyone help me, plz. > > I'm using tapestry form, and I fill in the controls within the form > dynamically. (which is can contains ) > That's why I need to set enctype="multipart/form-data" without using > Tapestry's upload components. > > I'm using Tapestry 4.0 > > Thanks, > Yohan > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why Can't I get the 5.0.6?
Eko S.W. wrote: I change the 5.0.5 to 5.0.6-SNAPSHOT But why I can't get it? Is there any new place to store the 5.0.6-SNAPSHOT? The repository for Tapestry Snapshot is : 8< tapestry-snapshot http://tapestry.formos.com/maven-snapshot-repository true 8< It is also where the site that follows snapshot evolution is (http://tapestry.formos.com) -- Francois Armand Etudes & Développements J2EE Groupe Linagora - 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]
Session and application scope
Hi to all, i'm a JSP developer and i want to know a more on Tapestry 5, it seem very cool! :) Only a question, how i use a request or a Session in Tapestry 5? How can i instanciate an Application Object? in JSP i wrote : HttpSession session and session.setProperty("Key"); and in Tapestry 5? Thanks a lot Muzero ___ L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Why Can't I get the 5.0.6?
I change the 5.0.5 to 5.0.6-SNAPSHOT But why I can't get it? Is there any new place to store the 5.0.6-SNAPSHOT? Thanks in advance, and sorry for the dumb question -- Best wishes, Eko SW http://swdev.blogs.friendster.com/my_blog/