Re: AW: T5: determine button clicked in a beaneditor
Hi Martin, It works, thanks, I'll update that wiki. A.C. Martin Kersten-2 wrote: > > Hi A.C. > > > If this works for you, can you do me a favor? > Check out: > http://wiki.apache.org/tapestry/Tapestry5HowToUseForms > > And add this multi button handling. I am to buzzy right > now but I can do it as well at weekend. > > > Cheers, > > Martin (Kersten) > > > -Ursprüngliche Nachricht- > Von: Angelo Chen [mailto:[EMAIL PROTECTED] > Gesendet: Mittwoch, 5. März 2008 04:03 > An: users@tapestry.apache.org > Betreff: T5: determine button clicked in a beaneditor > > > Hi, > > How to determine which button is clicked in the following case: > > > > > >id="update"/> > > > Thanks, > > A.C. > -- > View this message in context: > http://www.nabble.com/T5%3A-determine-button-clicked-in-a-beaneditor-tp15841944p15841944.html > 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] > > > -- View this message in context: http://www.nabble.com/T5%3A-determine-button-clicked-in-a-beaneditor-tp15841944p15844779.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AW: T5: determine button clicked in a beaneditor
Hi A.C. I asked the very same question before but in conjunction with normal t:form component. Since the bean-editor is based on that t:form component it should apply to this scenario as well: Rule of Thumb: If you have a button you have an onSelected event! So in your case: class MyPage { final int DONE = 0; final int FAILED = 1; int submitType = DONE; boolean onSelectedFromDone() { submitType = DONE; return true; } boolean onSelectedFromFailed() { submitType = FAILED; return true; } onSuccess() { switch(submitType) { case DONE: ... case FAILED: ... default: throw new UnsupportedOperationException( "unknown submit type"); } } } If this works for you, can you do me a favor? Check out: http://wiki.apache.org/tapestry/Tapestry5HowToUseForms And add this multi button handling. I am to buzzy right now but I can do it as well at weekend. Cheers, Martin (Kersten) -Ursprüngliche Nachricht- Von: Angelo Chen [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 5. März 2008 04:03 An: users@tapestry.apache.org Betreff: T5: determine button clicked in a beaneditor Hi, How to determine which button is clicked in the following case: Thanks, A.C. -- View this message in context: http://www.nabble.com/T5%3A-determine-button-clicked-in-a-beaneditor-tp15841944p15841944.html 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]
T5, SEO & and Stripping JSession Id effects
Hi, We're in the process of developing a webapp using T5. The site leverages session persistence on many pages, including a number of pages important for the natural search content. It seems to us that levering a filter to strip the jessionid from non-cookie enabled user agents would be an effective way to keep jsessionids from popping up in the url. Other than insuring all pages gracefully handle sessions which are effectively stateless (from non-cookied enabled user agents), are there any other concerns we should be thinking about? Danny
T5: Nice to have features for beaneditor
Hi, Following is a list of features that will make the use of beaneditor/beaneditform easy: 1. RemoveAllExcept: in addition to remove, removeAllExcept will remove all the properties except those listed. 2. Option to disable the display of labels, this is very useful when the column contains action links like "delete", "update", etc, if the caption has been displayed in the grid row, what's the use of column label? 3. Option to default the columns to non - sortable until it is turned on, say, we have a bean that has 20 properties, very few of them need to be sortable, so leaving the heading to be sortable make the screen messy, and turning those things off requires a lot of effort, rather make it default. Care to add what you like to have? A.C. -- View this message in context: http://www.nabble.com/T5%3A-Nice-to-have-features-for-beaneditor-tp15843900p15843900.html 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 "skin" .properties files? Localization almost good...
Hello. I already had this minor problem with Tapestry versions prior to T5, and it seems to me that it still persists... Anyway, sometimes I deploy my Tapestry application to various customers which want to have dfferent text messages or maybe even outlook of some pages. I can use CSS for some of it, but lets say that I want to pick different page/global .property file for displaying different messages stored in them. Actually, perfect solution for me would be some kindof Locale which could be set initially through Tapestry configuration, so I could have smething like: Home.properties Home_customer1.properties Home_customer2.properties Home.html Home_customer1.html Home_customer2.html Unfortunately, setting some dummy Locales like "customer1" via JVM parameters doesn't work. It raises errors on multiple places in my app (not related to Tapestry). Ideas? BTW, has old Tapestry guys like Erik Hatcher, Mindbridge etc.. left to some other web open source projects? :) Regads, Vjeran - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: beaneditor and remove
Hi, I like beaneditor, it's very powerful, however I found this 'remove' option time consuming, many time I need to display or edit only a few fields, maybe we can add another parameter like 'removeAllExcept'? this will remove all the fields from the model except those listed, that will be a good time saving feature, what do you think? A.C. -- View this message in context: http://www.nabble.com/T5%3A-beaneditor-and-remove-tp15843373p15843373.html 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: determine button clicked in a beaneditor
Hi, How to determine which button is clicked in the following case: Thanks, A.C. -- View this message in context: http://www.nabble.com/T5%3A-determine-button-clicked-in-a-beaneditor-tp15841944p15841944.html 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: [FAQ] common design
Does this actually work properly? I tried with 5.0.10 and 5.0.11- SNAPSHOT. A component like this: http://tapestry.apache.org/schema/tapestry_5_0_0.xsd "> ${page} will render the tags (outside the ) every time the component is used (in another component, in my case). I checked in jumpstart 3.3.3 as well, and it has the same problem (see BasicCustomComponent). BTW, I would also love to know how to do informal parameters (as you can see from my example). J On Feb 29, 2008, at 9:10 AM, Christian Koeberl wrote: Jesper Zedlitz <[EMAIL PROTECTED]> wrote This is the T4 feature: < http://tapestry.apache.org/tapestry4/UsersGuide/template.html#template.directives.content Is something like this possible with T5? The replacement of $content$ is the t:container construct (see https://issues.apache.org/jira/browse/TAPESTRY-1469). So, you could write: This is a test http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> T5 only renders the contents in the container, the stuff around is ignored (works since 5.0.6). There is no real replacement of $remove$ but there are some options: - use t:block around content to be removed - write a custom component Remove which returns false in beginRender. You could use it like: . Maybe Howard will write some kind of stuff (or take your comonent if you add it to a JIRA). -- Chris - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: T5: client state problem
The form will retrieve stock quote for the symbol entered. The Quote object is then set on the response page. The response page is using client persistence strategy via the following meta annotation @Meta("tapestry.persistence-strategy=client") The quote object is declared as following public class Quote implements Serializable { private String symbol; private String price; private String changeToday; private String securityName; /** * @return Returns the changeToday. */ public String getChangeToday() { return changeToday; } /** * @param changeToday The changeToday to set. */ public void setChangeToday(String changeToday) { this.changeToday = changeToday; } /** * @return The stock price */ public String getPrice() { return price; } /** * @param price The stock price */ public void setPrice(String price) { this.price = price; } /** * @return The stock symbol */ public String getSymbol() { return symbol; } /** * @param symbol The stock symbol */ public void setSymbol(String symbol) { this.symbol = symbol; } /** * @return The security name */ public String getSecurityName() { return securityName; } /** * @param securityName The security name */ public void setSecurityName(String securityName) { this.securityName = securityName; } } Will one instance of such object be serialized into such a long string? The retrieved quote contains the following exact content, Symbol="MSFT" securityName="MICROSOFT CORPORATION" Price="27.5900" changeToday="0.600" -Original Message- From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 5:08 PM To: Tapestry users Subject: Re: T5: client state problem I believe the wiki has code for a "client:form" persistent strategy that persists data, but only inside elements. I would also be concerned at the amount of data here; perhaps an entire StockSymbol entity (or whatever) is being serialized into the form, rather than just the stock ticker id. On Tue, Mar 4, 2008 at 1:25 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > Hi > > It seems that, on a form submit, T5 automatically redirect to a "GET" > url with client state encoded in the URL. This produces a bookmarkable > URL which is very nice. However, I am running into the following problem > where T5 generates an extremely long "t:state:client" parameter as the > following, > > > /viewquotes?t:state:client=H4sIAE2QPUsDQRCGJ18GYypFrAQLmzSbICQKV > iEQOL3kYhJsw3o3uazc3W5295I7C8HKUiwV/Af+D3s7axsbOytt3IQgdjPD7DvPs8+fUJjnA > SCjJJxw6RMqqDtBoqlApWVKWKRRRjQgCuWMuahIK2AY6R5KxZQ2VZth4A00l9RHKxTB/immb > 187d8X379ss5Gwoj1weCh6ZXcvTsGlf0hmtBjTyqwMtWeQf21AajRcxXRriFK4hY8P6SJjAv > 0EihIa1acy14YLSOcP52bIx4FuLQBJrFpCmlDS1DVhy87r78EKfcpCxIK/YFSZi4bm0LZlHF > QNFxqEkihpoJNR1eRzpmQlGSTweUhaR5YnKvdv4eTz6yELehg13YsBxyD2arkgLQpqPWTVlh > W4smU7/qaypNLzgwcrDaNRIvVGraSgeHJJ6 > > My form only contains one text field that allows user to input a stock > symbol. This long parameter gets carried to all pages and ofter leads to > the following failure > > An unexpected application exception has occurred. > Serialized client state was corrupted. This may indicate that too much > state is being stored, which can cause the encoded string to be > truncated by the client web browser. > > Any idea why such a long state parameter? Why it gets attached to other > unrelated pages as well? How to avoid this? I am using 5.0.11-snapshot. > > Thanks, > Xiaohong > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - 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: Autocomplete Using Selection as Criteria
Just want to share my solution. I don't like to do "onchange='this.form.submit()'" on t:select input, because that can trigger early validation errors before the user is actually ready to submit the form. Also, by default the first element in t:select is selected, onchange only triggers when the user actually changes the selection. If the user is fine with the default selection, onchange event would never trigger, but I still need to use it as a criteria. I finally reach the following solution that I'm happy with. NewUser.java == public class NewUser { ... @Persist private String serverRegionField; private String serverNameField; void onActionFromServerRegionFieldLink(String context) { setServerRegionField(context); } String[] onProvideCompletionsFromServerNameField(String input) { Dao dao = Dao.getRequestInstance(requestGlobals); Query query = dao.createNamedQuery("findServerNameLikeForRegion"); query.setParameter("name", input + "%"); query.setParameter("region", serverRegionField); List serverNameList = (List) query.getResultList(); return serverNameList.toArray(new String[serverNameList.size()]); } ... } NewUser.tml = -- View this message in context: http://www.nabble.com/Autocomplete-Using-Selection-as-Criteria-tp15821577p15841150.html 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: client state problem
I believe the wiki has code for a "client:form" persistent strategy that persists data, but only inside elements. I would also be concerned at the amount of data here; perhaps an entire StockSymbol entity (or whatever) is being serialized into the form, rather than just the stock ticker id. On Tue, Mar 4, 2008 at 1:25 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > Hi > > It seems that, on a form submit, T5 automatically redirect to a "GET" > url with client state encoded in the URL. This produces a bookmarkable > URL which is very nice. However, I am running into the following problem > where T5 generates an extremely long "t:state:client" parameter as the > following, > > > /viewquotes?t:state:client=H4sIAE2QPUsDQRCGJ18GYypFrAQLmzSbICQKV > iEQOL3kYhJsw3o3uazc3W5295I7C8HKUiwV/Af+D3s7axsbOytt3IQgdjPD7DvPs8+fUJjnA > SCjJJxw6RMqqDtBoqlApWVKWKRRRjQgCuWMuahIK2AY6R5KxZQ2VZth4A00l9RHKxTB/immb > 187d8X379ss5Gwoj1weCh6ZXcvTsGlf0hmtBjTyqwMtWeQf21AajRcxXRriFK4hY8P6SJjAv > 0EihIa1acy14YLSOcP52bIx4FuLQBJrFpCmlDS1DVhy87r78EKfcpCxIK/YFSZi4bm0LZlHF > QNFxqEkihpoJNR1eRzpmQlGSTweUhaR5YnKvdv4eTz6yELehg13YsBxyD2arkgLQpqPWTVlh > W4smU7/qaypNLzgwcrDaNRIvVGraSgeHJJ6 > > My form only contains one text field that allows user to input a stock > symbol. This long parameter gets carried to all pages and ofter leads to > the following failure > > An unexpected application exception has occurred. > Serialized client state was corrupted. This may indicate that too much > state is being stored, which can cause the encoded string to be > truncated by the client web browser. > > Any idea why such a long state parameter? Why it gets attached to other > unrelated pages as well? How to avoid this? I am using 5.0.11-snapshot. > > Thanks, > Xiaohong > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
May be related to TAPESTRY-2229, which was just fixed this morning. On Tue, Mar 4, 2008 at 12:50 PM, jack Nuzbit <[EMAIL PROTECTED]> wrote: > Hi Marcus, looks like this is tapestry 5.0.11-SNAPSHOT specific. My fault > for being too eager. > I switched over to 5.0.10 and everything works fine. > > In case this is a bug and not just a work in progress, to recreate it just > create a new project with the tapestry 5 archetype, change the tapestry > version to 5.0.11-SNAPSHOT > > Add a form to the prebuilt Start class > > public class Start > { > private MyForm myForm; > public Date getCurrentTime() > { > return new Date(); > } > public static class MyForm { > private String myField; > public String getMyField() { > return myField; > } > public void setMyField(String myField) { > this.myField = myField; > } > } > public MyForm getMyForm() { > return myForm; > } >public void setMyForm(MyForm myForm) { > this.myForm = myForm; > } > } > > Add the beaneditform to the Start.tml file > > > > mvn jetty:run and you should get the exception. > > Cheers, > > Jack > > > > > On Tue, Mar 4, 2008 at 6:36 PM, Marcus <[EMAIL PROTECTED]> wrote: > > > Hi Jack, > > > > Can you post the code of this class? > > > > http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> > > Login: > > > > > > > > maybe the problem is there. > > > > Marcus > > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: client state problem
Hi It seems that, on a form submit, T5 automatically redirect to a "GET" url with client state encoded in the URL. This produces a bookmarkable URL which is very nice. However, I am running into the following problem where T5 generates an extremely long "t:state:client" parameter as the following, /viewquotes?t:state:client=H4sIAE2QPUsDQRCGJ18GYypFrAQLmzSbICQKV iEQOL3kYhJsw3o3uazc3W5295I7C8HKUiwV/Af+D3s7axsbOytt3IQgdjPD7DvPs8+fUJjnA SCjJJxw6RMqqDtBoqlApWVKWKRRRjQgCuWMuahIK2AY6R5KxZQ2VZth4A00l9RHKxTB/immb 187d8X379ss5Gwoj1weCh6ZXcvTsGlf0hmtBjTyqwMtWeQf21AajRcxXRriFK4hY8P6SJjAv 0EihIa1acy14YLSOcP52bIx4FuLQBJrFpCmlDS1DVhy87r78EKfcpCxIK/YFSZi4bm0LZlHF QNFxqEkihpoJNR1eRzpmQlGSTweUhaR5YnKvdv4eTz6yELehg13YsBxyD2arkgLQpqPWTVlh W4smU7/qaypNLzgwcrDaNRIvVGraSgeHJJ6 My form only contains one text field that allows user to input a stock symbol. This long parameter gets carried to all pages and ofter leads to the following failure An unexpected application exception has occurred. Serialized client state was corrupted. This may indicate that too much state is being stored, which can cause the encoded string to be truncated by the client web browser. Any idea why such a long state parameter? Why it gets attached to other unrelated pages as well? How to avoid this? I am using 5.0.11-snapshot. Thanks, Xiaohong - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Hi Marcus, looks like this is tapestry 5.0.11-SNAPSHOT specific. My fault for being too eager. I switched over to 5.0.10 and everything works fine. In case this is a bug and not just a work in progress, to recreate it just create a new project with the tapestry 5 archetype, change the tapestry version to 5.0.11-SNAPSHOT Add a form to the prebuilt Start class public class Start { private MyForm myForm; public Date getCurrentTime() { return new Date(); } public static class MyForm { private String myField; public String getMyField() { return myField; } public void setMyField(String myField) { this.myField = myField; } } public MyForm getMyForm() { return myForm; } public void setMyForm(MyForm myForm) { this.myForm = myForm; } } Add the beaneditform to the Start.tml file mvn jetty:run and you should get the exception. Cheers, Jack On Tue, Mar 4, 2008 at 6:36 PM, Marcus <[EMAIL PROTECTED]> wrote: > Hi Jack, > > Can you post the code of this class? > > http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> > Login: > > > > maybe the problem is there. > > Marcus >
Re: T5: Need HTTP Forward
You could have two onActivate() methods, maybe something like: public class MyPage { @Persist private String _b; @Inject private ComponentResources _resources; Object onActivate(String a, String b) { _b = b; return _resources.createPageLink(_resources.getPageName(), false, a); } void onActivate(String a) { ... } } Event methods with the same name are invoked in order of parameter count, largest number to fewest. On Tue, Mar 4, 2008 at 9:12 AM, Bill Holloway <[EMAIL PROTECTED]> wrote: > I need an http forward like this: > > http://example.org/mypage/a/b --> http://example.org/mypage/a > > The last two path elements are activation context items. I'm chopping > off "/b" to shorten the URL to a form that is desirable for > bookmarking. I could persist the "/b" as a persistent page property, > but I'd rather not. > > Bill > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: default css in grid's pager
I think if you look at the page structure, there are encloding elements with a particular class you can use in a CSS selector. On Tue, Mar 4, 2008 at 9:32 AM, Adam Zimowski <[EMAIL PROTECTED]> wrote: > It looks like when there is enough pages in a grid to start wrapping, > the page blocks (anchor elements) overlap each other (see attached). > Attached is a shot from Konqueror, but the same happens in IE6. I > tried adding my own CSS to fix this but only currently selected page > is wrapped around a span, all other pages are ordinary anchor > elements, without a class or id. > > Please let me know if I'm missing anything obvious, but otherwise my > questions are: > > - Is this something that should be properly handled out of the box? > - Is it possible for grid pager to put a class or id (like page1, etc) > into anchors which are non-selected pages? This would allow for CSS > customisation. > > > 5.0.10 > > Regards, > -adam > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Hi Jack, Can you post the code of this class? http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> Login: maybe the problem is there. Marcus
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Thanks for the suggestion Bill, I've just tried adding the following to the containing page but the problem remains: @Inject private ComponentResources _resources; Am I right in thinking that the beaneditform should work out of the box? On Tue, Mar 4, 2008 at 6:03 PM, Bill Holloway <[EMAIL PROTECTED]> wrote: > I believe that the "internal" APIs in T5 are "off limits". Injecting > ComponentResources, an interface, doesn't do what you want? > > Bill h > > On Tue, Mar 4, 2008 at 11:29 AM, jack Nuzbit <[EMAIL PROTECTED]> > wrote: > > Hi All, > > > > I'm trying to use the beaneditform component but i'm getting the > following > > exception bubbling up. Do i have to create a Service to implement the > > InternalComponentResources class? > > I can't find anything about this in any documentation so i'm inclined > to > > think i've misconfigured something but could anybody shed any light on > where > > i might be going wrong. > > > > ... > > Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: > > Exception instantiating instance of > > uk.co.myapp.tapestry.pages.account.LoginForm (for component > 'account/Login: > > beaneditform.editor'): Error invoking constructor > > uk.co.myapp.tapestry.pages.account.LoginForm > (InternalComponentResources) > > (for service 'BeanModelSource'): No service implements the interface > > org.apache.tapestry.internal.InternalComponentResources. [at > > classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line > 8, > > column 81] > > at > > org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke( > > ComponentPageElementImpl.java:884) > > at > > > org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100 > ( > > ComponentPageElementImpl.java:54) > > at > > > org.apache.tapestry.internal.structure.ComponentPageElementImpl$13.render( > > ComponentPageElementImpl.java:482) > > at org.apache.tapestry.internal.services.RenderQueueImpl.run( > > RenderQueueImpl.java:63) > > ... 65 more > > Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: > > Exception instantiating instance of > > uk.co.myapp.tapestry.pages.account.LoginForm (for component > 'account/Login: > > beaneditform.editor'): Error invoking constructor > > uk.co.myapp.tapestry.pages.account.LoginForm > (InternalComponentResources) > > (for service 'BeanModelSource'): No service implements the interface > > org.apache.tapestry.internal.InternalComponentResources. [at > > classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line > 8, > > column 81] > > at org.apache.tapestry.corelib.components.BeanEditor.doPrepare( > > BeanEditor.java:151) > > at > org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute > > (BeanEditor.java:46) > > at > org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute > > (BeanEditor.java:40) > > at > > org.apache.tapestry.corelib.internal.FormSupportImpl.storeAndExecute( > > FormSupportImpl.java:116) > > at org.apache.tapestry.corelib.components.BeanEditor.setupRender > ( > > BeanEditor.java:125) > > at org.apache.tapestry.corelib.components.BeanEditor.setupRender > ( > > BeanEditor.java) > > at > > > org.apache.tapestry.internal.structure.ComponentPageElementImpl$13$1.run( > > ComponentPageElementImpl.java:478) > > at > > org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke( > > ComponentPageElementImpl.java:874) > > ... 68 more > > Caused by: java.lang.RuntimeException: Error invoking constructor > > uk.co.myapp.tapestry.pages.account.LoginForm > (InternalComponentResources) > > (for service 'BeanModelSource'): No service implements the interface > > org.apache.tapestry.internal.InternalComponentResources. > > at > > org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject > ( > > ConstructorServiceCreator.java:62) > > at > org.apache.tapestry.ioc.internal.ServiceResourcesImpl.autobuild( > > ServiceResourcesImpl.java:123) > > at > org.apache.tapestry.internal.beaneditor.BeanModelImpl.newInstance > > (BeanModelImpl.java:75) > > at org.apache.tapestry.corelib.components.BeanEditor.doPrepare( > > BeanEditor.java:144) > > ... 75 more > > Caused by: java.lang.RuntimeException: No service implements the > interface > > org.apache.tapestry.internal.InternalComponentResources. > > at org.apache.tapestry.ioc.internal.RegistryImpl.getService( > > RegistryImpl.java:517) > > at > > > org.apache.tapestry.ioc.internal.services.MasterObjectProviderImpl.provide > ( > > MasterObjectProviderImpl.java:46) > > at > > > > $MasterObjectProvider_1187ad554bb.provide($MasterObjectProvider_1187ad554bb.java) > > at org.apache.tapestry.ioc.internal.RegistryImpl.getObject( > > RegistryImpl.java:621) > > at org.apache.tapestry.ioc.internal.Regis
AW: T5: How to handle lookup?
Hi Angelo, by asking for a good practice I have one for you: I use GWT + GWT-Ext works well (but this should work with every kind of java script). This example: When your GWT component loads you simply add your Button / Image behind the textfield of all divs with a given class or id to open up the popup and save the selection to the textfield within your div. Sweet and simple. In the end you can also add a marker class to the input field just to save you a div. If you dont use GWT you will have the right idea now. Just walk the DOM at start up and add a button behind the textfield to open popup and at the end write the value in the textfield. Cheers, Martin -Ursprüngliche Nachricht- Von: Angelo Chen [mailto:[EMAIL PROTECTED] Gesendet: Montag, 3. März 2008 16:19 An: users@tapestry.apache.org Betreff: Re: T5: How to handle lookup? hi Davor, In the case of zone, another area in the same page will be opened for the user to do some query/selection and return the result back to main form when done? I tried jQuery with Thickbox, it pops up another window and we can do some selection, although it appears like another window, but actually part of the same page, works too. The need for this is quite common in the Intranet app, would like to know what is the usual practice to adopt, thanks for the idea. A.C. Davor Hrg wrote: > > to use popup window you need a separate page, and pair of javascript > functions to connect the page in popup with parent page's input > > I personaly don't like popup windows because they're slow to open, a > zone would make a better choice here.. > .. I haven't played arround with it, just some thoughts ... > > Davor Hrg > > > -- View this message in context: http://www.nabble.com/T5%3A-How-to-handle-lookup--tp15799598p15806120.html 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: T5: Tapestry and Tomcat
It's still grumbling about security. Take a look in /etc/init.d/tomcat5.5 Find the line that says: TOMCAT5_SECURITY=yes And change it to TOMCAT5_SECURITY=no See if that works. > -Original Message- > From: MoritzGilsdorf [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 04, 2008 3:41 AM > To: users@tapestry.apache.org > Subject: RE: T5: Tapestry and Tomcat > > > Thanks a lot! That was the (first) Problem. > > Tomcat is now able to run the Webapp but is now showing the following > Stack: > > exception > > javax.servlet.ServletException: > org/apache/tapestry/corelib/components/Loop$1 > org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java: > 294) > > org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java: > 218) > > root cause > > java.lang.NoClassDefFoundError: > org/apache/tapestry/corelib/components/Loop$1 > org.apache.tapestry.corelib.components.Loop.(Loop.java:45) > $Instantiator_11878e793c0.newInstance($Instantiator_11878e793c0.java > ) > > org.apache.tapestry.internal.structure.InternalComponentResourcesImpl. t>(InternalComponentResourcesImpl.java:78) > > org.apache.tapestry.internal.structure.ComponentPageElementImpl.(Com > ponentPageElementImpl.java:571) > > org.apache.tapestry.internal.structure.ComponentPageElementImpl.newChild(C > omponentPageElementImpl.java:506) > > org.apache.tapestry.internal.services.PageElementFactoryImpl.newComponentE > lement(PageElementFactoryImpl.java:224) > > $PageElementFactory_11878e79398.newComponentElement($PageElementFactory_11 > 878e79398.java) > > org.apache.tapestry.internal.services.PageLoaderProcessor.startComponent(P > ageLoaderProcessor.java:656) > > org.apache.tapestry.internal.services.PageLoaderProcessor.loadTemplateForC > omponent(PageLoaderProcessor.java:501) > > org.apache.tapestry.internal.services.PageLoaderProcessor.workComponentQue > ue(PageLoaderProcessor.java:808) > > org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoa > derProcessor.java:393) > > org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderIm > pl.java:60) > $PageLoader_11878e79396.loadPage($PageLoader_11878e79396.java) > > org.apache.tapestry.internal.services.PagePoolCache.checkout(PagePoolCache > .java:188) > > org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.j > ava:107) > $PagePool_11878e79395.checkout($PagePool_11878e79395.java) > > org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPage > CacheImpl.java:43) > $RequestPageCache_11878e79394.get($RequestPageCache_11878e79394.java > ) > $RequestPageCache_11878e79367.get($RequestPageCache_11878e79367.java > ) > > org.apache.tapestry.internal.services.DefaultRequestExceptionHandler.handl > eRequestException(DefaultRequestExceptionHandler.java:47) > > $RequestExceptionHandler_11878e79381.handleRequestException($RequestExcept > ionHandler_11878e79381.java) > > org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java: > 513) > $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java > ) > > org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFile > sFilter.java:79) > $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java > ) > > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Check > ForUpdatesFilter.java:93) > > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Check > ForUpdatesFilter.java:84) > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(Concurren > tBarrier.java:77) > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckF > orUpdatesFilter.java:106) > $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java > ) > $RequestHandler_11878e7937c.service($RequestHandler_11878e7937c.java > ) > > org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java > :891) > > org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPa > thsFilter.java:62) > > $HttpServletRequestFilter_11878e7937b.service($HttpServletRequestFilter_11 > 878e7937b.java) > > $HttpServletRequestHandler_11878e7937d.service($HttpServletRequestHandler_ > 11878e7937d.java) > > $HttpServletRequestHandler_11878e7937a.service($HttpServletRequestHandler_ > 11878e7937a.java) > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164) > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm > pl.java:25) > java.lang.reflect.Method.invoke(Method.java:585) > org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:24 > 4) > java.security.AccessController.doPrivileged(Native Method) > javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
I believe that the "internal" APIs in T5 are "off limits". Injecting ComponentResources, an interface, doesn't do what you want? Bill h On Tue, Mar 4, 2008 at 11:29 AM, jack Nuzbit <[EMAIL PROTECTED]> wrote: > Hi All, > > I'm trying to use the beaneditform component but i'm getting the following > exception bubbling up. Do i have to create a Service to implement the > InternalComponentResources class? > I can't find anything about this in any documentation so i'm inclined to > think i've misconfigured something but could anybody shed any light on where > i might be going wrong. > > ... > Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: > Exception instantiating instance of > uk.co.myapp.tapestry.pages.account.LoginForm (for component 'account/Login: > beaneditform.editor'): Error invoking constructor > uk.co.myapp.tapestry.pages.account.LoginForm(InternalComponentResources) > (for service 'BeanModelSource'): No service implements the interface > org.apache.tapestry.internal.InternalComponentResources. [at > classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line 8, > column 81] > at > org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke( > ComponentPageElementImpl.java:884) > at > org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100( > ComponentPageElementImpl.java:54) > at > org.apache.tapestry.internal.structure.ComponentPageElementImpl$13.render( > ComponentPageElementImpl.java:482) > at org.apache.tapestry.internal.services.RenderQueueImpl.run( > RenderQueueImpl.java:63) > ... 65 more > Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: > Exception instantiating instance of > uk.co.myapp.tapestry.pages.account.LoginForm (for component 'account/Login: > beaneditform.editor'): Error invoking constructor > uk.co.myapp.tapestry.pages.account.LoginForm(InternalComponentResources) > (for service 'BeanModelSource'): No service implements the interface > org.apache.tapestry.internal.InternalComponentResources. [at > classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line 8, > column 81] > at org.apache.tapestry.corelib.components.BeanEditor.doPrepare( > BeanEditor.java:151) > at org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute > (BeanEditor.java:46) > at org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute > (BeanEditor.java:40) > at > org.apache.tapestry.corelib.internal.FormSupportImpl.storeAndExecute( > FormSupportImpl.java:116) > at org.apache.tapestry.corelib.components.BeanEditor.setupRender( > BeanEditor.java:125) > at org.apache.tapestry.corelib.components.BeanEditor.setupRender( > BeanEditor.java) > at > org.apache.tapestry.internal.structure.ComponentPageElementImpl$13$1.run( > ComponentPageElementImpl.java:478) > at > org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke( > ComponentPageElementImpl.java:874) > ... 68 more > Caused by: java.lang.RuntimeException: Error invoking constructor > uk.co.myapp.tapestry.pages.account.LoginForm(InternalComponentResources) > (for service 'BeanModelSource'): No service implements the interface > org.apache.tapestry.internal.InternalComponentResources. > at > org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject( > ConstructorServiceCreator.java:62) > at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.autobuild( > ServiceResourcesImpl.java:123) > at org.apache.tapestry.internal.beaneditor.BeanModelImpl.newInstance > (BeanModelImpl.java:75) > at org.apache.tapestry.corelib.components.BeanEditor.doPrepare( > BeanEditor.java:144) > ... 75 more > Caused by: java.lang.RuntimeException: No service implements the interface > org.apache.tapestry.internal.InternalComponentResources. > at org.apache.tapestry.ioc.internal.RegistryImpl.getService( > RegistryImpl.java:517) > at > org.apache.tapestry.ioc.internal.services.MasterObjectProviderImpl.provide( > MasterObjectProviderImpl.java:46) > at > > $MasterObjectProvider_1187ad554bb.provide($MasterObjectProvider_1187ad554bb.java) > at org.apache.tapestry.ioc.internal.RegistryImpl.getObject( > RegistryImpl.java:621) > at org.apache.tapestry.ioc.internal.RegistryImpl.getObject( > RegistryImpl.java:675) > at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject( > ObjectLocatorImpl.java:50) > at > org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue( > InternalUtils.java:209) > at > org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters( > InternalUtils.java:239) > at > > org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForConstructor > (InternalUtils.java:227) > at > org.apache.tapestr
T5: default css in grid's pager
It looks like when there is enough pages in a grid to start wrapping, the page blocks (anchor elements) overlap each other (see attached). Attached is a shot from Konqueror, but the same happens in IE6. I tried adding my own CSS to fix this but only currently selected page is wrapped around a span, all other pages are ordinary anchor elements, without a class or id. Please let me know if I'm missing anything obvious, but otherwise my questions are: - Is this something that should be properly handled out of the box? - Is it possible for grid pager to put a class or id (like page1, etc) into anchors which are non-selected pages? This would allow for CSS customisation. 5.0.10 Regards, -adam - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Hi All, I'm trying to use the beaneditform component but i'm getting the following exception bubbling up. Do i have to create a Service to implement the InternalComponentResources class? I can't find anything about this in any documentation so i'm inclined to think i've misconfigured something but could anybody shed any light on where i might be going wrong. ... Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: Exception instantiating instance of uk.co.myapp.tapestry.pages.account.LoginForm (for component 'account/Login: beaneditform.editor'): Error invoking constructor uk.co.myapp.tapestry.pages.account.LoginForm(InternalComponentResources) (for service 'BeanModelSource'): No service implements the interface org.apache.tapestry.internal.InternalComponentResources. [at classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line 8, column 81] at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke( ComponentPageElementImpl.java:884) at org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100( ComponentPageElementImpl.java:54) at org.apache.tapestry.internal.structure.ComponentPageElementImpl$13.render( ComponentPageElementImpl.java:482) at org.apache.tapestry.internal.services.RenderQueueImpl.run( RenderQueueImpl.java:63) ... 65 more Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: Exception instantiating instance of uk.co.myapp.tapestry.pages.account.LoginForm (for component 'account/Login: beaneditform.editor'): Error invoking constructor uk.co.myapp.tapestry.pages.account.LoginForm(InternalComponentResources) (for service 'BeanModelSource'): No service implements the interface org.apache.tapestry.internal.InternalComponentResources. [at classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line 8, column 81] at org.apache.tapestry.corelib.components.BeanEditor.doPrepare( BeanEditor.java:151) at org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute (BeanEditor.java:46) at org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute (BeanEditor.java:40) at org.apache.tapestry.corelib.internal.FormSupportImpl.storeAndExecute( FormSupportImpl.java:116) at org.apache.tapestry.corelib.components.BeanEditor.setupRender( BeanEditor.java:125) at org.apache.tapestry.corelib.components.BeanEditor.setupRender( BeanEditor.java) at org.apache.tapestry.internal.structure.ComponentPageElementImpl$13$1.run( ComponentPageElementImpl.java:478) at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke( ComponentPageElementImpl.java:874) ... 68 more Caused by: java.lang.RuntimeException: Error invoking constructor uk.co.myapp.tapestry.pages.account.LoginForm(InternalComponentResources) (for service 'BeanModelSource'): No service implements the interface org.apache.tapestry.internal.InternalComponentResources. at org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject( ConstructorServiceCreator.java:62) at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.autobuild( ServiceResourcesImpl.java:123) at org.apache.tapestry.internal.beaneditor.BeanModelImpl.newInstance (BeanModelImpl.java:75) at org.apache.tapestry.corelib.components.BeanEditor.doPrepare( BeanEditor.java:144) ... 75 more Caused by: java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources. at org.apache.tapestry.ioc.internal.RegistryImpl.getService( RegistryImpl.java:517) at org.apache.tapestry.ioc.internal.services.MasterObjectProviderImpl.provide( MasterObjectProviderImpl.java:46) at $MasterObjectProvider_1187ad554bb.provide($MasterObjectProvider_1187ad554bb.java) at org.apache.tapestry.ioc.internal.RegistryImpl.getObject( RegistryImpl.java:621) at org.apache.tapestry.ioc.internal.RegistryImpl.getObject( RegistryImpl.java:675) at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject( ObjectLocatorImpl.java:50) at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue( InternalUtils.java:209) at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters( InternalUtils.java:239) at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForConstructor (InternalUtils.java:227) at org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject( ConstructorServiceCreator.java:46) ... 78 more I'm using the tapestry 5.0.11-snapshot. I've got a very simple page: http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> Login: And a similarly simple form: package mytapestry.pages.account; import org.apache.tapestry.internal.InternalComponentResources; public class LoginForm { private String emailAddress; private String password; public String
T5: Need HTTP Forward
I need an http forward like this: http://example.org/mypage/a/b --> http://example.org/mypage/a The last two path elements are activation context items. I'm chopping off "/b" to shorten the URL to a form that is desirable for bookmarking. I could persist the "/b" as a persistent page property, but I'd rather not. Bill - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with Page pooling
Yeeswar, The normal model I've seen for logon is something like this: //Once created, this is shared within the session on any page where it is declared. The name //of the variable doesn't matter. You can have one page where it is called user1 and another //where it is called user2. The class is what determines what to pull out of the session. So //you can only have one application state variable per class type. @ApplicationState private User user; //this can be used to check to see if the user has been created without instantiating it. //Tapestry will automatically fill this is with the state of the variable called user. private boolean userExists; private String userName; private String password; Object onSubmitFromLoginForm() { _logger.debug("Password: "+password +"\nCorrect: " + _messages.get("password")); user = Security.authenticate(userName, password); if(user == null) { _logger.debug("Incorrect password. Reload login page"); return null; } return "admin/Menu"; } getters and accessors Also if you have a page that needs to be only available on login you can do something like this: public class AbstractAuthenticatedPage { @ApplicationState private User user; private boolean userExists; @InjectPage private Login loginPage; Object onActivate() { if(!userExists) { loginPage.setNext(this.getClass()); return loginPage; } return null; } } And then extend this class for login protected pages. In this case the loginPage keeps track of where you were trying to go so it can send you back once you login. (It doesn't keep track of the context, so if you are going to a detail page, that information is lost.) Mark On Mar 4, 2008, at 7:05 AM, Yeeswara Nadapana (HCL Financial Services) wrote: Hi Ted and Chris, Thanks. Great help from u guys. I have used @Persist("session") with my code and got it fixed. My assumptions with the Page pooling was wrong. You guided me the right way. Thanks. Regards, Yeeswar. -Original Message- From: Ted Steen [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 6:13 PM To: Tapestry users Subject: Re: Problem with Page pooling It's all here http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html 2008/3/4, Yeeswara Nadapana (HCL Financial Services) <[EMAIL PROTECTED]>: Hi Chris and Ted, Thanks to you guys. I am new to Tapestry. Can you help me more in this context. Do I need to configure my AppModule.java with the ApplicationStateCreator() to handle ASOs in my Tapestry project? Please explain. Thanks, Yeeswara N. -Original Message- From: Ted Steen [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 4:39 PM To: Tapestry users Subject: Re: Problem with Page pooling Exactly. Also, from what I can see you use the constructor for setting up login-logic. you should use public void onActivate() {...} for this, as the page class is created only once. 2008/3/4, Chris Lewis <[EMAIL PROTECTED]>: I think you are expecting @Persist to work as @ApplicationState, and it doesn't. Read about application state here: http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html This line is from the start of that page: "Ordinary persistent page data is not appropriate, since persistent fields apply to a specific page and aren't shared across pages." In your case "isLoggedIn" will only contain the value in the context of that page (or component, as it seems), because persistent properties are associated with specific page classes. Yeeswara Nadapana (HCL Financial Services) wrote: Hi Chris and Ted, Thanks for u fast replies. Here's what I am doing... This is my header.java class: @Persist private boolean isLoggedIn = true; public Header() { LogonCheck logonCheck = new LogonCheck(); String logonStatus = logonCheck.checkLogon(); if(!logonStatus.equals("1.0")) isLoggedIn = false; } // followed by my getters and setters.. This is my header.tml: Introduction class="horizontal_navi"> LogIn Thanks, Yeeswar. -Original Message- From: Chris Lewis [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 4:14 PM To: Tapestry users Subject: Re: Problem with Page pooling If you can, you should paste some code. What you're saying sounds like a logic problem, but it almost certainly has nothing to do with page pooling. Page pooling has to do with created instances of your p
RE: Problem with Page pooling
Hi Ted and Chris, Thanks. Great help from u guys. I have used @Persist("session") with my code and got it fixed. My assumptions with the Page pooling was wrong. You guided me the right way. Thanks. Regards, Yeeswar. -Original Message- From: Ted Steen [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 6:13 PM To: Tapestry users Subject: Re: Problem with Page pooling It's all here http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html 2008/3/4, Yeeswara Nadapana (HCL Financial Services) <[EMAIL PROTECTED]>: > Hi Chris and Ted, > > Thanks to you guys. I am new to Tapestry. Can you help me more in this > context. Do I need to configure my AppModule.java with the > ApplicationStateCreator() to handle ASOs in my Tapestry project? Please > explain. > > Thanks, > Yeeswara N. > > > -Original Message- > From: Ted Steen [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 04, 2008 4:39 PM > To: Tapestry users > Subject: Re: Problem with Page pooling > > Exactly. Also, from what I can see you use the constructor for setting > up login-logic. > you should use public void onActivate() {...} for this, as the page > class is created only once. > > > 2008/3/4, Chris Lewis <[EMAIL PROTECTED]>: > > I think you are expecting @Persist to work as @ApplicationState, and > it > > doesn't. Read about application state here: > > > http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html > > > > This line is from the start of that page: > > "Ordinary persistent page data is not appropriate, since persistent > > fields apply to a specific page and aren't shared across pages." > > > > In your case "isLoggedIn" will only contain the value in the context > of > > that page (or component, as it seems), because persistent properties > are > > associated with specific page classes. > > > > > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > > Hi Chris and Ted, > > > > > > Thanks for u fast replies. Here's what I am doing... > > > > > > This is my header.java class: > > > > > > @Persist > > > private boolean isLoggedIn = true; > > > > > > public Header() { > > > LogonCheck logonCheck = new LogonCheck(); > > > String logonStatus = logonCheck.checkLogon(); > > > if(!logonStatus.equals("1.0")) > > > isLoggedIn = false; > > > } > > > // followed by my getters and setters.. > > > > > > This is my header.tml: > > > > > > > > > Introduction > > > > > > > > > > > > class="horizontal_navi"> > > > LogIn > > > > > > > > > > > > > > > > > > > > > Thanks, > > > Yeeswar. > > > > > > -Original Message- > > > From: Chris Lewis [mailto:[EMAIL PROTECTED] > > > Sent: Tuesday, March 04, 2008 4:14 PM > > > To: Tapestry users > > > Subject: Re: Problem with Page pooling > > > > > > If you can, you should paste some code. What you're saying sounds > like a > > > logic problem, but it almost certainly has nothing to do with page > > > pooling. Page pooling has to do with created instances of your page > > > classes. These instances do not retain any kind of cached state. > Instead > > > the relevant rendering and/or component event methods are executed > > > freshly on each request. Even when you use an ASO or a persistent > field, > > > those members are not tied to that instance of that page. Instead > they > > > are tied to the client's request (session) and read by the page > class on > > > each request. > > > > > > chris > > > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > > > > >> Hi, > > >> > > >> > > >> > > >> I am using Tapestry 5.0.7 for my application. On my menu bar, I > put > > >> > > > some > > > > > >> links with . I have put some links under > conditions > > >> so as to check the Login status. > > >> > > >> > > >> > > >> Problem is::: When I was not logged in, some links doesn't show > up, > > >> which is CORRECT. Now, I logs in and can find those links. Now, > when I > > >> click on a link which I clicked prior to Loggin in, I will get the > > >> > > > page > > > > > >> from Tapestry POOL and cannot see those links under > conditions > > >> even logged in. Please suggest me a way to solve this. Or shall I > have > > >> to disable page pooling for this. > > >> > > >> > > >> > > >> Thanks and Regards > > >> > > >> Yeeswara N > > >> > > >> > > >> > > > > > > > > > >> > > >> > > >> This mail is transmitted to you on behalf of HCL Technologies. > > >> > > >> Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt > > >> > > >> > > >> > > > > ***
Re: Problem with Page pooling
It's all here http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html 2008/3/4, Yeeswara Nadapana (HCL Financial Services) <[EMAIL PROTECTED]>: > Hi Chris and Ted, > > Thanks to you guys. I am new to Tapestry. Can you help me more in this > context. Do I need to configure my AppModule.java with the > ApplicationStateCreator() to handle ASOs in my Tapestry project? Please > explain. > > Thanks, > Yeeswara N. > > > -Original Message- > From: Ted Steen [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 04, 2008 4:39 PM > To: Tapestry users > Subject: Re: Problem with Page pooling > > Exactly. Also, from what I can see you use the constructor for setting > up login-logic. > you should use public void onActivate() {...} for this, as the page > class is created only once. > > > 2008/3/4, Chris Lewis <[EMAIL PROTECTED]>: > > I think you are expecting @Persist to work as @ApplicationState, and > it > > doesn't. Read about application state here: > > > http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html > > > > This line is from the start of that page: > > "Ordinary persistent page data is not appropriate, since persistent > > fields apply to a specific page and aren't shared across pages." > > > > In your case "isLoggedIn" will only contain the value in the context > of > > that page (or component, as it seems), because persistent properties > are > > associated with specific page classes. > > > > > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > > Hi Chris and Ted, > > > > > > Thanks for u fast replies. Here's what I am doing... > > > > > > This is my header.java class: > > > > > > @Persist > > > private boolean isLoggedIn = true; > > > > > > public Header() { > > > LogonCheck logonCheck = new LogonCheck(); > > > String logonStatus = logonCheck.checkLogon(); > > > if(!logonStatus.equals("1.0")) > > > isLoggedIn = false; > > > } > > > // followed by my getters and setters.. > > > > > > This is my header.tml: > > > > > > > > > Introduction > > > > > > > > > > > > class="horizontal_navi"> > > > LogIn > > > > > > > > > > > > > > > > > > > > > Thanks, > > > Yeeswar. > > > > > > -Original Message- > > > From: Chris Lewis [mailto:[EMAIL PROTECTED] > > > Sent: Tuesday, March 04, 2008 4:14 PM > > > To: Tapestry users > > > Subject: Re: Problem with Page pooling > > > > > > If you can, you should paste some code. What you're saying sounds > like a > > > logic problem, but it almost certainly has nothing to do with page > > > pooling. Page pooling has to do with created instances of your page > > > classes. These instances do not retain any kind of cached state. > Instead > > > the relevant rendering and/or component event methods are executed > > > freshly on each request. Even when you use an ASO or a persistent > field, > > > those members are not tied to that instance of that page. Instead > they > > > are tied to the client's request (session) and read by the page > class on > > > each request. > > > > > > chris > > > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > > > > >> Hi, > > >> > > >> > > >> > > >> I am using Tapestry 5.0.7 for my application. On my menu bar, I > put > > >> > > > some > > > > > >> links with . I have put some links under > conditions > > >> so as to check the Login status. > > >> > > >> > > >> > > >> Problem is::: When I was not logged in, some links doesn't show > up, > > >> which is CORRECT. Now, I logs in and can find those links. Now, > when I > > >> click on a link which I clicked prior to Loggin in, I will get the > > >> > > > page > > > > > >> from Tapestry POOL and cannot see those links under > conditions > > >> even logged in. Please suggest me a way to solve this. Or shall I > have > > >> to disable page pooling for this. > > >> > > >> > > >> > > >> Thanks and Regards > > >> > > >> Yeeswara N > > >> > > >> > > >> > > > > > > > > > >> > > >> > > >> This mail is transmitted to you on behalf of HCL Technologies. > > >> > > >> Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt > > >> > > >> > > >> > > > > > > > > > >> > > >> > > >> > > >> > > >> > > >> > > >> DISCLAIMER: > > >> > > >> > > > > > > > --- > > > > > >> The contents of this e-mail and any attachment(s) are
RE: Problem with Page pooling
Hi Chris and Ted, Thanks to you guys. I am new to Tapestry. Can you help me more in this context. Do I need to configure my AppModule.java with the ApplicationStateCreator() to handle ASOs in my Tapestry project? Please explain. Thanks, Yeeswara N. -Original Message- From: Ted Steen [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 4:39 PM To: Tapestry users Subject: Re: Problem with Page pooling Exactly. Also, from what I can see you use the constructor for setting up login-logic. you should use public void onActivate() {...} for this, as the page class is created only once. 2008/3/4, Chris Lewis <[EMAIL PROTECTED]>: > I think you are expecting @Persist to work as @ApplicationState, and it > doesn't. Read about application state here: > http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html > > This line is from the start of that page: > "Ordinary persistent page data is not appropriate, since persistent > fields apply to a specific page and aren't shared across pages." > > In your case "isLoggedIn" will only contain the value in the context of > that page (or component, as it seems), because persistent properties are > associated with specific page classes. > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > Hi Chris and Ted, > > > > Thanks for u fast replies. Here's what I am doing... > > > > This is my header.java class: > > > > @Persist > > private boolean isLoggedIn = true; > > > > public Header() { > > LogonCheck logonCheck = new LogonCheck(); > > String logonStatus = logonCheck.checkLogon(); > > if(!logonStatus.equals("1.0")) > > isLoggedIn = false; > > } > > // followed by my getters and setters.. > > > > This is my header.tml: > > > > > > Introduction > > > > > > > > > > LogIn > > > > > > > > > > > > > > Thanks, > > Yeeswar. > > > > -Original Message- > > From: Chris Lewis [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, March 04, 2008 4:14 PM > > To: Tapestry users > > Subject: Re: Problem with Page pooling > > > > If you can, you should paste some code. What you're saying sounds like a > > logic problem, but it almost certainly has nothing to do with page > > pooling. Page pooling has to do with created instances of your page > > classes. These instances do not retain any kind of cached state. Instead > > the relevant rendering and/or component event methods are executed > > freshly on each request. Even when you use an ASO or a persistent field, > > those members are not tied to that instance of that page. Instead they > > are tied to the client's request (session) and read by the page class on > > each request. > > > > chris > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > > >> Hi, > >> > >> > >> > >> I am using Tapestry 5.0.7 for my application. On my menu bar, I put > >> > > some > > > >> links with . I have put some links under conditions > >> so as to check the Login status. > >> > >> > >> > >> Problem is::: When I was not logged in, some links doesn't show up, > >> which is CORRECT. Now, I logs in and can find those links. Now, when I > >> click on a link which I clicked prior to Loggin in, I will get the > >> > > page > > > >> from Tapestry POOL and cannot see those links under conditions > >> even logged in. Please suggest me a way to solve this. Or shall I have > >> to disable page pooling for this. > >> > >> > >> > >> Thanks and Regards > >> > >> Yeeswara N > >> > >> > >> > > > > > >> > >> > >> This mail is transmitted to you on behalf of HCL Technologies. > >> > >> Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt > >> > >> > >> > > > > > >> > >> > >> > >> > >> > >> > >> DISCLAIMER: > >> > >> > > > > --- > > > >> The contents of this e-mail and any attachment(s) are confidential and > >> > > intended for the named recipient(s) only. > > > >> It shall not attach any liability on the originator or HCL or its > >> > > affiliates. Any views or opinions presented in > > > >> this email are solely those of the author and may not necessarily > >> > > reflect the opinions of HCL or its affiliates. > > > >> Any form of reproduction, dissemination, copying, disclosure, > >> > > modification, distribution and / or publication of > > > >> this message without the prior written consent of the author of this > >> > > e-mail is strictly prohibited. If you have > > > >> received this email in error please delete it and notif
Re: JumpStart 3.3.3 now available - fixes 3.3.1 bugs
Tapestry-hibernate just provides Session the application chooses what to inject... I'll try out jumpstart when I catch some time... maybe it is not much trouble to make it work outside EJB3... Davor Hrg On Tue, Mar 4, 2008 at 1:07 PM, Geoff Callender <[EMAIL PROTECTED]> wrote: > Hi Michael, > > JumpStart requires a container that implements EJB3 simply because I'm > a big fan of it and my limited time prevents me addressing more than > one persistence and deployment model. > > For purely historical reasons the container I chose was JBoss - they > had an EJB3 implementation out very early and they implement > persistence with Hibernate. I expect the EAR file you can build from > JumpStart would run in WebLogic or any other container that supports > EJB3 with little change - you might have to tweak the persistence.xml > and reimplement IEJBExceptionInterpreter because they're tailored to > Hibernate. > > I have no idea of what's involved in making WebLogic do the live web > class reloading that you see in JumpStart with JBoss (and its embedded > Tomcat). > > I had always intended to address other EJB3 containers, especially > Glassfish, but I just haven't found the time. If you or anyone else > can offer the necessary tips for Glassfish, WebLogic, or any other > implementation, I will gladly incorporate them. > > As for Jetty and Tomcat, perhaps you could adapt JumpStart with > tapestry-hibernate, treating JumpStart's session beans as DAOs. > They're written to use JPA, which Hibernate fully supports, so maybe > it's all possible. I guess Tapestry would need to inject an > EntityManager instead of a Hibernate Session, which it may already > do. I haven't looked at tapestry-hibernate so I don't know. > > HTH, > > Geoff > > > > On 03/03/2008, at 5:08 PM, Nguyen, Michael wrote: > > > Geoff: > > I've just started reading the threads again and its great that > > there is a new tutorial up for Tapestry. I noticed that the package > > requires Jboss. If I wanted to configure it to work with Jetty or > > tomcat or even Weblogic, is there a lot of changes involved? I > > apologize in advance as I have only just looked at the homepage and > > noticed the set of requirements. We are planning to rewrite our > > current > > web application to utilize T5 as the framework in the next couple of > > months. If I can get this working in our current environment I could > > use this to teach my team how to use T5. > > > > Thanks > > Michael > > > > -Original Message- > > From: Geoff Callender [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, February 27, 2008 4:17 AM > > To: Tapestry users > > Subject: JumpStart 3.3.3 now available - fixes 3.3.1 bugs > > > > Hi all, > > > > JumpStart 3.3.3 is now available for T5.0.10. It fixes these bugs > > that > > were in 3.3.1 which was released a few days ago: > > > > * Editing a Person always displayed a "Double Wow!!!" error (My > > thanks to Julian Wood for reporting this). > > * Exploder directory is not set to "derived" in Eclipse, so > > searches don't bypass it. > > > > You'll find it at: > > > > http://files.doublenegative.com.au/jumpstart > > > > Comments and suggestions are always welcome. Be helpful or brutal - I > > don't care which, because it all helps to make this stuff more useful. > > > > Cheers, > > > > Geoff Callender > > > > - > > 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: JumpStart 3.3.3 now available - fixes 3.3.1 bugs
Hi Michael, JumpStart requires a container that implements EJB3 simply because I'm a big fan of it and my limited time prevents me addressing more than one persistence and deployment model. For purely historical reasons the container I chose was JBoss - they had an EJB3 implementation out very early and they implement persistence with Hibernate. I expect the EAR file you can build from JumpStart would run in WebLogic or any other container that supports EJB3 with little change - you might have to tweak the persistence.xml and reimplement IEJBExceptionInterpreter because they're tailored to Hibernate. I have no idea of what's involved in making WebLogic do the live web class reloading that you see in JumpStart with JBoss (and its embedded Tomcat). I had always intended to address other EJB3 containers, especially Glassfish, but I just haven't found the time. If you or anyone else can offer the necessary tips for Glassfish, WebLogic, or any other implementation, I will gladly incorporate them. As for Jetty and Tomcat, perhaps you could adapt JumpStart with tapestry-hibernate, treating JumpStart's session beans as DAOs. They're written to use JPA, which Hibernate fully supports, so maybe it's all possible. I guess Tapestry would need to inject an EntityManager instead of a Hibernate Session, which it may already do. I haven't looked at tapestry-hibernate so I don't know. HTH, Geoff On 03/03/2008, at 5:08 PM, Nguyen, Michael wrote: Geoff: I've just started reading the threads again and its great that there is a new tutorial up for Tapestry. I noticed that the package requires Jboss. If I wanted to configure it to work with Jetty or tomcat or even Weblogic, is there a lot of changes involved? I apologize in advance as I have only just looked at the homepage and noticed the set of requirements. We are planning to rewrite our current web application to utilize T5 as the framework in the next couple of months. If I can get this working in our current environment I could use this to teach my team how to use T5. Thanks Michael -Original Message- From: Geoff Callender [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 27, 2008 4:17 AM To: Tapestry users Subject: JumpStart 3.3.3 now available - fixes 3.3.1 bugs Hi all, JumpStart 3.3.3 is now available for T5.0.10. It fixes these bugs that were in 3.3.1 which was released a few days ago: * Editing a Person always displayed a "Double Wow!!!" error (My thanks to Julian Wood for reporting this). * Exploder directory is not set to "derived" in Eclipse, so searches don't bypass it. You'll find it at: http://files.doublenegative.com.au/jumpstart Comments and suggestions are always welcome. Be helpful or brutal - I don't care which, because it all helps to make this stuff more useful. Cheers, Geoff Callender - 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: JumpStart 3.3.3 now available - fixes 3.3.1 bugs
Hi Greg, I can't explain why this would be happening, as I'm successfully running it on OS X 10.5 and Windows XP SP2, all with JBoss 4.2.2.GA on Java 1.5, to browsers running Safari, Firefox, and IE 7. What are the details of your operating environment? What's in the JBoss log on the console (please paste any stacktrace in your reply)? If you choose Project > Clean... in Eclipse and restart JBoss do you get the same result? if so, what was in the Eclipse Console following the clean (please paste the exploder's output in your reply). Cheers, Geoff On 03/03/2008, at 2:57 AM, Gregory Mazurek wrote: Hi Geoff, I'm new to Tapestry coming recently from RoR (encountered scaling problems in some of my web applications but still use it occasionally!). I'm going through the JumpStart 3.3.3 installation process and all has been going well until step 9 (of http://files.doublenegative.com.au/jumpstart/installation.html). I'm encountering an error that I haven't been able to resolve for the past 3 days. When I load localhost:8080/jumpstart, I get this error: An unexpected application exception has occurred. Render queue error in BeginRender[Start:pagelink_10]: Could not convert 'errorMessage' into a component parameter binding: java.lang.NoClassDefFoundError: jumpstart/web/pages/examples/request/PageLinkOrActionLink2 Can you point me to what might be happening/what I need to do? Thanks for any help you can offer, Greg On Wed, Feb 27, 2008 at 7:16 AM, Geoff Callender < [EMAIL PROTECTED]> wrote: Hi all, JumpStart 3.3.3 is now available for T5.0.10. It fixes these bugs that were in 3.3.1 which was released a few days ago: * Editing a Person always displayed a "Double Wow!!!" error (My thanks to Julian Wood for reporting this). * Exploder directory is not set to "derived" in Eclipse, so searches don't bypass it. You'll find it at: http://files.doublenegative.com.au/jumpstart Comments and suggestions are always welcome. Be helpful or brutal - I don't care which, because it all helps to make this stuff more useful. Cheers, Geoff Callender - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with Page pooling
Exactly. Also, from what I can see you use the constructor for setting up login-logic. you should use public void onActivate() {...} for this, as the page class is created only once. 2008/3/4, Chris Lewis <[EMAIL PROTECTED]>: > I think you are expecting @Persist to work as @ApplicationState, and it > doesn't. Read about application state here: > http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html > > This line is from the start of that page: > "Ordinary persistent page data is not appropriate, since persistent > fields apply to a specific page and aren't shared across pages." > > In your case "isLoggedIn" will only contain the value in the context of > that page (or component, as it seems), because persistent properties are > associated with specific page classes. > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > Hi Chris and Ted, > > > > Thanks for u fast replies. Here's what I am doing... > > > > This is my header.java class: > > > > @Persist > > private boolean isLoggedIn = true; > > > > public Header() { > > LogonCheck logonCheck = new LogonCheck(); > > String logonStatus = logonCheck.checkLogon(); > > if(!logonStatus.equals("1.0")) > > isLoggedIn = false; > > } > > // followed by my getters and setters.. > > > > This is my header.tml: > > > > > > Introduction > > > > > > > > > > LogIn > > > > > > > > > > > > > > Thanks, > > Yeeswar. > > > > -Original Message- > > From: Chris Lewis [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, March 04, 2008 4:14 PM > > To: Tapestry users > > Subject: Re: Problem with Page pooling > > > > If you can, you should paste some code. What you're saying sounds like a > > logic problem, but it almost certainly has nothing to do with page > > pooling. Page pooling has to do with created instances of your page > > classes. These instances do not retain any kind of cached state. Instead > > the relevant rendering and/or component event methods are executed > > freshly on each request. Even when you use an ASO or a persistent field, > > those members are not tied to that instance of that page. Instead they > > are tied to the client's request (session) and read by the page class on > > each request. > > > > chris > > > > Yeeswara Nadapana (HCL Financial Services) wrote: > > > >> Hi, > >> > >> > >> > >> I am using Tapestry 5.0.7 for my application. On my menu bar, I put > >> > > some > > > >> links with . I have put some links under conditions > >> so as to check the Login status. > >> > >> > >> > >> Problem is::: When I was not logged in, some links doesn't show up, > >> which is CORRECT. Now, I logs in and can find those links. Now, when I > >> click on a link which I clicked prior to Loggin in, I will get the > >> > > page > > > >> from Tapestry POOL and cannot see those links under conditions > >> even logged in. Please suggest me a way to solve this. Or shall I have > >> to disable page pooling for this. > >> > >> > >> > >> Thanks and Regards > >> > >> Yeeswara N > >> > >> > >> > > > > > >> > >> > >> This mail is transmitted to you on behalf of HCL Technologies. > >> > >> Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt > >> > >> > >> > > > > > >> > >> > >> > >> > >> > >> > >> DISCLAIMER: > >> > >> > > > > --- > > > >> The contents of this e-mail and any attachment(s) are confidential and > >> > > intended for the named recipient(s) only. > > > >> It shall not attach any liability on the originator or HCL or its > >> > > affiliates. Any views or opinions presented in > > > >> this email are solely those of the author and may not necessarily > >> > > reflect the opinions of HCL or its affiliates. > > > >> Any form of reproduction, dissemination, copying, disclosure, > >> > > modification, distribution and / or publication of > > > >> this message without the prior written consent of the author of this > >> > > e-mail is strictly prohibited. If you have > > > >> received this email in error please delete it and notify the sender > >> > > immediately. Before opening any mail and > > > >> attachments please check them for viruses and defect. > >> > >> > >> > > > > --- > > > >> > >> > > > > > > - > > To unsubscribe, e-mail: [EMAIL P
Re: Problem with Page pooling
I think you are expecting @Persist to work as @ApplicationState, and it doesn't. Read about application state here: http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html This line is from the start of that page: "Ordinary persistent page data is not appropriate, since persistent fields apply to a specific page and aren't shared across pages." In your case "isLoggedIn" will only contain the value in the context of that page (or component, as it seems), because persistent properties are associated with specific page classes. Yeeswara Nadapana (HCL Financial Services) wrote: > Hi Chris and Ted, > > Thanks for u fast replies. Here's what I am doing... > > This is my header.java class: > > @Persist > private boolean isLoggedIn = true; > > public Header() { > LogonCheck logonCheck = new LogonCheck(); > String logonStatus = logonCheck.checkLogon(); > if(!logonStatus.equals("1.0")) > isLoggedIn = false; > } > // followed by my getters and setters.. > > This is my header.tml: > > > Introduction > > > > > LogIn > > > > > > > Thanks, > Yeeswar. > > -Original Message- > From: Chris Lewis [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 04, 2008 4:14 PM > To: Tapestry users > Subject: Re: Problem with Page pooling > > If you can, you should paste some code. What you're saying sounds like a > logic problem, but it almost certainly has nothing to do with page > pooling. Page pooling has to do with created instances of your page > classes. These instances do not retain any kind of cached state. Instead > the relevant rendering and/or component event methods are executed > freshly on each request. Even when you use an ASO or a persistent field, > those members are not tied to that instance of that page. Instead they > are tied to the client's request (session) and read by the page class on > each request. > > chris > > Yeeswara Nadapana (HCL Financial Services) wrote: > >> Hi, >> >> >> >> I am using Tapestry 5.0.7 for my application. On my menu bar, I put >> > some > >> links with . I have put some links under conditions >> so as to check the Login status. >> >> >> >> Problem is::: When I was not logged in, some links doesn't show up, >> which is CORRECT. Now, I logs in and can find those links. Now, when I >> click on a link which I clicked prior to Loggin in, I will get the >> > page > >> from Tapestry POOL and cannot see those links under conditions >> even logged in. Please suggest me a way to solve this. Or shall I have >> to disable page pooling for this. >> >> >> >> Thanks and Regards >> >> Yeeswara N >> >> >> > > >> >> >> This mail is transmitted to you on behalf of HCL Technologies. >> >> Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt >> >> >> > > >> >> >> >> >> >> >> DISCLAIMER: >> >> > > --- > >> The contents of this e-mail and any attachment(s) are confidential and >> > intended for the named recipient(s) only. > >> It shall not attach any liability on the originator or HCL or its >> > affiliates. Any views or opinions presented in > >> this email are solely those of the author and may not necessarily >> > reflect the opinions of HCL or its affiliates. > >> Any form of reproduction, dissemination, copying, disclosure, >> > modification, distribution and / or publication of > >> this message without the prior written consent of the author of this >> > e-mail is strictly prohibited. If you have > >> received this email in error please delete it and notify the sender >> > immediately. Before opening any mail and > >> attachments please check them for viruses and defect. >> >> >> > > --- > >> >> > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > >
RE: Problem with Page pooling
Hi Chris and Ted, Thanks for u fast replies. Here's what I am doing... This is my header.java class: @Persist private boolean isLoggedIn = true; public Header() { LogonCheck logonCheck = new LogonCheck(); String logonStatus = logonCheck.checkLogon(); if(!logonStatus.equals("1.0")) isLoggedIn = false; } // followed by my getters and setters.. This is my header.tml: Introduction LogIn Thanks, Yeeswar. -Original Message- From: Chris Lewis [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 4:14 PM To: Tapestry users Subject: Re: Problem with Page pooling If you can, you should paste some code. What you're saying sounds like a logic problem, but it almost certainly has nothing to do with page pooling. Page pooling has to do with created instances of your page classes. These instances do not retain any kind of cached state. Instead the relevant rendering and/or component event methods are executed freshly on each request. Even when you use an ASO or a persistent field, those members are not tied to that instance of that page. Instead they are tied to the client's request (session) and read by the page class on each request. chris Yeeswara Nadapana (HCL Financial Services) wrote: > Hi, > > > > I am using Tapestry 5.0.7 for my application. On my menu bar, I put some > links with . I have put some links under conditions > so as to check the Login status. > > > > Problem is::: When I was not logged in, some links doesn't show up, > which is CORRECT. Now, I logs in and can find those links. Now, when I > click on a link which I clicked prior to Loggin in, I will get the page > from Tapestry POOL and cannot see those links under conditions > even logged in. Please suggest me a way to solve this. Or shall I have > to disable page pooling for this. > > > > Thanks and Regards > > Yeeswara N > > > > > This mail is transmitted to you on behalf of HCL Technologies. > > Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt > > > > > > > > > DISCLAIMER: > --- > > The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. > It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in > this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates. > Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of > this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have > received this email in error please delete it and notify the sender immediately. Before opening any mail and > attachments please check them for viruses and defect. > > --- > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with Page pooling
If you can, you should paste some code. What you're saying sounds like a logic problem, but it almost certainly has nothing to do with page pooling. Page pooling has to do with created instances of your page classes. These instances do not retain any kind of cached state. Instead the relevant rendering and/or component event methods are executed freshly on each request. Even when you use an ASO or a persistent field, those members are not tied to that instance of that page. Instead they are tied to the client's request (session) and read by the page class on each request. chris Yeeswara Nadapana (HCL Financial Services) wrote: > Hi, > > > > I am using Tapestry 5.0.7 for my application. On my menu bar, I put some > links with . I have put some links under conditions > so as to check the Login status. > > > > Problem is::: When I was not logged in, some links doesn't show up, > which is CORRECT. Now, I logs in and can find those links. Now, when I > click on a link which I clicked prior to Loggin in, I will get the page > from Tapestry POOL and cannot see those links under conditions > even logged in. Please suggest me a way to solve this. Or shall I have > to disable page pooling for this. > > > > Thanks and Regards > > Yeeswara N > > > > > This mail is transmitted to you on behalf of HCL Technologies. > > Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt > > > > > > > > > DISCLAIMER: > --- > > The contents of this e-mail and any attachment(s) are confidential and > intended for the named recipient(s) only. > It shall not attach any liability on the originator or HCL or its affiliates. > Any views or opinions presented in > this email are solely those of the author and may not necessarily reflect the > opinions of HCL or its affiliates. > Any form of reproduction, dissemination, copying, disclosure, modification, > distribution and / or publication of > this message without the prior written consent of the author of this e-mail > is strictly prohibited. If you have > received this email in error please delete it and notify the sender > immediately. Before opening any mail and > attachments please check them for viruses and defect. > > --- > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with Page pooling
What does your "isLoggedIn-logic" look like? do you persist the state that tells if a person is logged in or not? if possible, please show the parts of the code that handle login-logic. This is definitely not some problem due to page pooling. 2008/3/4, Yeeswara Nadapana (HCL Financial Services) <[EMAIL PROTECTED]>: > > Hi, > > > > I am using Tapestry 5.0.7 for my application. On my menu bar, I put some > links with . I have put some links under conditions > so as to check the Login status. > > > > Problem is::: When I was not logged in, some links doesn't show up, > which is CORRECT. Now, I logs in and can find those links. Now, when I > click on a link which I clicked prior to Loggin in, I will get the page > from Tapestry POOL and cannot see those links under conditions > even logged in. Please suggest me a way to solve this. Or shall I have > to disable page pooling for this. > > > > Thanks and Regards > > Yeeswara N > > > > > This mail is transmitted to you on behalf of HCL Technologies. > > Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt > > > > > > > > > DISCLAIMER: > > --- > > The contents of this e-mail and any attachment(s) are confidential and > intended for the named recipient(s) only. > It shall not attach any liability on the originator or HCL or its > affiliates. Any views or opinions presented in > this email are solely those of the author and may not necessarily reflect > the opinions of HCL or its affiliates. > Any form of reproduction, dissemination, copying, disclosure, modification, > distribution and / or publication of > this message without the prior written consent of the author of this e-mail > is strictly prohibited. If you have > received this email in error please delete it and notify the sender > immediately. Before opening any mail and > attachments please check them for viruses and defect. > > > --- -- /ted - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Problem with Page pooling
Hi, I am using Tapestry 5.0.7 for my application. On my menu bar, I put some links with . I have put some links under conditions so as to check the Login status. Problem is::: When I was not logged in, some links doesn't show up, which is CORRECT. Now, I logs in and can find those links. Now, when I click on a link which I clicked prior to Loggin in, I will get the page from Tapestry POOL and cannot see those links under conditions even logged in. Please suggest me a way to solve this. Or shall I have to disable page pooling for this. Thanks and Regards Yeeswara N This mail is transmitted to you on behalf of HCL Technologies. Diese Post wird Ihnen im Namen der HCL Technologies ubermittelt DISCLAIMER: --- The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any mail and attachments please check them for viruses and defect. ---
RE: T5: Tapestry and Tomcat
Thanks a lot! That was the (first) Problem. Tomcat is now able to run the Webapp but is now showing the following Stack: exception javax.servlet.ServletException: org/apache/tapestry/corelib/components/Loop$1 org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:294) org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218) root cause java.lang.NoClassDefFoundError: org/apache/tapestry/corelib/components/Loop$1 org.apache.tapestry.corelib.components.Loop.(Loop.java:45) $Instantiator_11878e793c0.newInstance($Instantiator_11878e793c0.java) org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.(InternalComponentResourcesImpl.java:78) org.apache.tapestry.internal.structure.ComponentPageElementImpl.(ComponentPageElementImpl.java:571) org.apache.tapestry.internal.structure.ComponentPageElementImpl.newChild(ComponentPageElementImpl.java:506) org.apache.tapestry.internal.services.PageElementFactoryImpl.newComponentElement(PageElementFactoryImpl.java:224) $PageElementFactory_11878e79398.newComponentElement($PageElementFactory_11878e79398.java) org.apache.tapestry.internal.services.PageLoaderProcessor.startComponent(PageLoaderProcessor.java:656) org.apache.tapestry.internal.services.PageLoaderProcessor.loadTemplateForComponent(PageLoaderProcessor.java:501) org.apache.tapestry.internal.services.PageLoaderProcessor.workComponentQueue(PageLoaderProcessor.java:808) org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:393) org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:60) $PageLoader_11878e79396.loadPage($PageLoader_11878e79396.java) org.apache.tapestry.internal.services.PagePoolCache.checkout(PagePoolCache.java:188) org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:107) $PagePool_11878e79395.checkout($PagePool_11878e79395.java) org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:43) $RequestPageCache_11878e79394.get($RequestPageCache_11878e79394.java) $RequestPageCache_11878e79367.get($RequestPageCache_11878e79367.java) org.apache.tapestry.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:47) $RequestExceptionHandler_11878e79381.handleRequestException($RequestExceptionHandler_11878e79381.java) org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:513) $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java) org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79) $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java) org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93) org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84) org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77) org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106) $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java) $RequestHandler_11878e7937c.service($RequestHandler_11878e7937c.java) org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:891) org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) $HttpServletRequestFilter_11878e7937b.service($HttpServletRequestFilter_11878e7937b.java) $HttpServletRequestHandler_11878e7937d.service($HttpServletRequestHandler_11878e7937d.java) $HttpServletRequestHandler_11878e7937a.service($HttpServletRequestHandler_11878e7937a.java) org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) java.security.AccessController.doPrivileged(Native Method) javax.security.auth.Subject.doAsPrivileged(Subject.java:517) org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218) I tried unpacking all necessary tapestry jar's to WEB-INF/classes but to no avail. Any Ideas? Thanks, Moritz Jonathan Barker wrote: > > Moritz, > > Given that Ubuntu is based on Debian, you are probably running into Tomcat > security configuration issues. I run Debian. > > I hit this myself and kept battering my head against the wall trying to > grant all of the necessary permissions. > > Take a look in /etc/tomcat5.5/policy.d/ and see if you have a > 04webapps.p
Re: T5: New Validators and server side validation
I think there is a better option than just using regex for email validation, that is use apache common validator to do the same thing in an easy manner. like EmailValidator.getInstance().isValid(emailAddress); Howard Lewis Ship wrote: > > I agree: > - onblur vs. onform submit > - option to validate via server-round trip (especially for onblur) > > On 5/17/07, kranga <[EMAIL PROTECTED]> wrote: >> >> We just introduced client side validation for Tapestry fields using an >> ajax >> call back to the server side (with Tapestry 3). So you only write Java >> code >> for the validation and the same code gets called from the client side. >> All >> parameters for controlling your validation are automatically sent back as >> part of the ajax call and you can define when the check is triggered >> (e.g. >> onBlur) and which one of the "error marker" components tied to the input >> field will show the errors. Makes the code very clean and the front-end >> experience is slick (e.g. registration page has the same validator to >> check >> if username is taken and this is fired from the client and from the >> server!). I'd suggest T5 move to such a design. >> >> - Original Message - >> From: "Bill Holloway" <[EMAIL PROTECTED]> >> To: "Tapestry users" >> Sent: Wednesday, May 16, 2007 2:27 PM >> Subject: Re: T5: New Validators and server side validation >> >> >> > That's got it, Ben. Thanks. Wish I knew more about javascript >> > prototyping. Too much technology to stay familiar with. >> > >> > Bill >> > >> > On 5/16/07, Ben Sommerville <[EMAIL PROTECTED]> wrote: >> >> Bill, >> >> >> >> This >> >> > pageRenderSupport.addScript( >> >> > "Tapestry.Field.email('%s', %s);", >> >> > field.getClientId(), >> >> > quote(buildMessage(formatter, field))); >> >> >> >> does not construct a function validating emails. What it is doing is >> >> inserting >> >> a function call to register a particular field for validation. >> >> >> >> On the page sent to the client you would get something like >> >> >> >> >> >> >> >> >> >> >> >> That is the source of your error message, the Tapestry.Field.email >> >> function >> >> does not exist but you are trying to call it. >> >> >> >> What you need to do is define the email validation function yourself >> in >> a >> >> javascript file. I would add it to a different namespace so that it >> is >> >> clear >> >> it is not a standard Tapestry function. >> >> >> >> e.g. in myproject-valdation.js >> >> >> >> var MyProject = {}; >> >> >> >> MyProject.Field = { >> >> >> >> email: function(field, message) { >> >> Tapestry.addValidator(field, false, function(value, event) { >> >> if( X ) { >> >> event.recordError(message) >> >> } >> >> }); >> >> } >> >> } >> >> >> >> where is the javascript to test if "value" is a valid email >> address. >> >> >> >> Add a script include to your border/page (to load your validation >> >> function) >> >> > >> src="js/myproject-validation.js"> >> >> >> >> and change the render method to use MyProject.Field.email and you are >> >> good >> >> to go >> >> >> >> cheers. >> >> -- >> >> Ben Sommerville >> >> >> >> >> >> >> >> > -Original Message- >> >> > From: Bill Holloway [mailto:[EMAIL PROTECTED] >> >> > Sent: Wednesday, 16 May 2007 4:33 PM >> >> > To: Tapestry users >> >> > Subject: Re: T5: New Validators and server side validation >> >> > >> >> > In implementing an e-mail validator myself, one thing I notice in >> all >> >> > this is a Javascript error that reads >> >> > >> >> > Error: Tapestry.Field.email is not a function... >> >> > >> >> > I did some digging and found in org/apache/tapestry/tapestry.js the >> >> > building up of the Tapestry object has in it a section involving >> >> > "Collection of field based functions related to validation." In >> that >> >> > part of the object prototyping (I guess), each of the built-in >> >> > validation types (required, minlength, maxlength, min, and max) has >> a >> >> > function assigned that, essentially, duplicates the functionality of >> >> > the Java-based validators. All that prototyping must be for the >> >> > client-side functionality. >> >> > >> >> > So I'm wondering why my AppModule-provided EmailValidator class' >> >> > render() method isn't contributing the script. Its code is >> >> > >> >> > pageRenderSupport.addScript( >> >> > "Tapestry.Field.email('%s', %s);", >> >> > field.getClientId(), >> >> > quote(buildMessage(formatter, field))); >> >> > >> >> > Since I implementing something for render(), I would think that at >> >> > least some kind of function for Tapestry.Field.email would show up >> >> > (even if it has the wrong number of fields, etc), knocking out
AW: Autocomplete Using Selection as Criteria
Hi samlai, you should be able to bind an EventListener to the ServerRegion-Field (onChange or onSubmit should be your choice). This Listener can trigger an AJAX-Request and so you should be able to update the Automcomplete-Model. (Don't know the exact syntax, but some JavaAnnotation should handle this.) I suppose you then need the AutocompleteModel to be server-based instead of client-based as I suspect a changed AutocompleteModel will not be automatically shipped to the client. Grz andi -Ursprüngliche Nachricht- Von: samlai [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 4. März 2008 08:15 An: users@tapestry.apache.org Betreff: Autocomplete Using Selection as Criteria I have an autocomplete textfield. I'd like the retrieved autocomplete list to be based from a selection field in addition to the autocomplete textfield. I'm not sure how I can feed the current server region selection to onProvideCompletionsFromServerNameField, serverRegionField is null before submit. Thanks. NewUser.java == public class NewUser { ... private String serverRegionField; private String serverNameField; @Component(id = "serverNameField") @Mixins("Autocomplete") private TextField serverNameText; String[] onProvideCompletionsFromServerNameField(String input) { Dao dao = Dao.getRequestInstance(requestGlobals); Query query = dao.createNamedQuery("findServerNameLikeForRegion"); query.setParameter("name", input + "%"); query.setParameter("region", serverRegionField); List serverNameList = (List) query.getResultList(); return serverNameList.toArray(new String[serverNameList.size()]); } ... } NewUser.tml = -- View this message in context: http://www.nabble.com/Autocomplete-Using-Selection-as-Criteria-tp15821577p15821577.html 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]