Re: T5: select updating in form?
Anyone? Quoting [EMAIL PROTECTED]: I have a select dropdown that will determine what is displayed in a second dropdown. Both of these are in a form. Am I correct in thinking that this cannot be done using Zones (I seem to recall a recent posting that said it was not possible if it's inside a form). In that case, how can I do it? I have looked on the wiki howtos but can't seem to find any examples. thanks, p. - 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: select updating in form?
Further to this, I can see it can be done using two forms, but that isn't very nice. As this is such a common requirement (and one that I used without problems in an application using Tapestry 3) I am somewhat surprised that there are no examples offered as to how to do this in Tapestry 5. Further information would be much appreciated. thanks, p. Quoting [EMAIL PROTECTED]: Quoting Ulrich Stärk [EMAIL PROTECTED]: Do a form submit upon selecting something in the first dropdown, then render the second dropdown according to the selection made. And vote for https://issues.apache.org/jira/browse/TAP5-138. Thanks, but I must be doing something wrong as I cannot get this to work (ignore the fact I have only one select dropdown on here for now): form t:type=form Name Space: select onchange=javascript:this.form.submit(); t:id=tagSelect t:type=select t:model=nsBases t:value=nsBase t:encoder=nsBases t:blankOption=NEVER/select input type=submit value=Search/ /form void onSelectedFromTagSelect() { System.out.println(***); } How can I tell the submit comes from the select? I thought this would have worked but...? - 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: select updating in form?
Quoting Ulrich Stärk [EMAIL PROTECTED]: Come on, you could really invest some mental effort instead of asking us to do your work... It's not working out of the box, that much is clear. But you don't have to use two forms either... Thanks for the example Uli. Contrary to what you may think, I did you my brain. However, when I get stuck and a solution doesn't seem obvious and there are no examples to be found and I've spent a day on the problem then I have to resort to asking on this list (which is one of its purposes - or, at least, I thought so). Your help much appreciated, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: select updating in form?
I have a select dropdown that will determine what is displayed in a second dropdown. Both of these are in a form. Am I correct in thinking that this cannot be done using Zones (I seem to recall a recent posting that said it was not possible if it's inside a form). In that case, how can I do it? I have looked on the wiki howtos but can't seem to find any examples. thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: select list?
Thanks! Quoting Ulrich Stärk [EMAIL PROTECTED]: Select is what you want. The HTML specs specify a size attribute for the select HTML element which indicates how many entries should be displayed at a time. size=1 (default) would be a dropdown list. HTH, Uli Am Mo, 6.10.2008, 11:33, schrieb [EMAIL PROTECTED]: Is there no such thing as a Select List in T5? I see pallete and select, but they aren't suitable (I have a long list of data that I want selectable - only one selection at a time - in a scrolling list). thanks, p. - 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]
T5: select list?
Is there no such thing as a Select List in T5? I see pallete and select, but they aren't suitable (I have a long list of data that I want selectable - only one selection at a time - in a scrolling list). thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: return Index.class problem
Hi, I am implementing an access controller as specified in the Wiki HOW-TOs http://wiki.apache.org/tapestry/Tapestry5HowToControlAccess On a logout ActionLink I do: return Index.class; In the past this has been working fine. Today I tried using the link and I get an exception: [ERROR] TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: Parameter pageName was null or contained only whitespace. java.lang.IllegalArgumentException: Parameter pageName was null or contained only whitespace. It appears that returning Index.class is now giving the URL / rather than /Index and the code in AccessController.checkAccess() effectively calls Component page = componentSource.getPage(/); Any ideas on why this behaviour might have changed (the only thing I've been working on has been adding Spring bean injection and changes to web.xml as specified in the Wiki HOW-TO. Thanks! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: return Index.class problem
Quoting Filip S. Adamsen [EMAIL PROTECTED]: Hi, This was changed between 5.0.14 and 5.0.15 and subsequently reverted in 5.0.16. See https://issues.apache.org/jira/browse/TAPESTRY-2675. -Filip Ok, thanks. That will be why. cheers, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: config problem with move to 5.0.15
This is probably some silly problem and it isn't really Tapestry related (sorry :-( ), but I'm getting so flummoxed I thought I'd ask here... I deleted my .m2 repository and changed the POM to get Tap 5.0.15 plus added a dependency to get tapestry-spring. In Eclipse I then did a Maven update, cleaned and rebuilt my project. Now I get lots of errors caused by javax.persistance not being available instead of my beautifully building system. Any ideas? Which jar file is this located in (I know it comes with J2EE, but I've been using jdk1.6 and it appears not to be there, so it must have d/l'ded with something else via Maven...) FWIW, here is my dependency section: - dependencies - dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-core/artifactId version${tapestry-release-version}/version /dependency - !-- A dependency on either JUnit or TestNG is required, or the surefire plugin (which runs the tests) will fail, preventing Maven from packaging the WAR. Tapestry includes a large number of testing facilities designed for use with TestNG (http://testng.org/), so it's recommended. -- - dependency groupIdorg.testng/groupId artifactIdtestng/artifactId version5.1/version classifierjdk15/classifier scopetest/scope /dependency - dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-hibernate/artifactId version${tapestry-release-version}/version /dependency - dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-spring/artifactId version${tapestry-release-version}/version /dependency - dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version5.1.5/version /dependency - dependency groupIdorg.apache.tapestry/groupId artifactIdt5c-commons/artifactId version0.5.13/version /dependency - dependency groupIdorg.springframework/groupId artifactIdspring/artifactId version2.5.5/version /dependency - dependency groupIdorg.springframework/groupId artifactIdspring-mock/artifactId version2.0.3/version /dependency - dependency groupIdorg.springframework/groupId artifactIdspring-web/artifactId version1.2.8/version /dependency /dependencies - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5 : [ANN] The book - (Index Appendices)
I know this is very early in the piece, but what do you intend to do about indexing the book? The Kolesnikov Tapestry book has one of the worst indexes I've ever come across and stands as a good example of how not to do it. Having a good index is a very important part of any successful technical book. Indexing a book well is a non-trivial matter and shouldn't just be a last minute thought. I'd also suggest a good set of Appendices - one, at least, should list the components and what parameters they take. Anyway, something to think about. p. Quoting Alex Kotchnev [EMAIL PROTECTED]: I've created a new project for the proposed book at http://code.google.com/p/tapestry5-book , and posted the proposed table of contents at http://code.google.com/p/tapestry5-book/wiki/ProposedTableOfContents . Now that I'm looking at it, it's a little disappointing as the TOC doesn't really have anything new in it (e.g. some of it is covered in tutorials, other is in the project docs, etc). However, I guess that the content really can't be all that different - it's all about building web apps, covering the same materials as the other documentation. In the end, I think that the book will be different from the other existing documents based on its style and breadth of content, and not so much in the topics it covers. Anyway, I would like to create a mailing list and add everyone who has expressed an interest in contributing to the book. Unfortunately, Google Code doesn't have mailng lists, so I'll probably have to look around for that (Nabble, maybe?). Any suggestions would be welcome here. In terms of moving the proposed TOC forward, here are some of my next steps : 1. Attribute the main sections of the project documentation into possible chapters in the book. 2. Discuss feedback from this list on the content of the proposed TOC : e.g. any alternative ideas on how to organize the book, changes to the proposed chapter titles, order, etc. It would be great if there are any volunteers to investigate some of the issues that were discussed previously in the thread below, I'll probably post the needed tasks somewhere on the wiki as well. When we get our mailing list set up, I think that individuals or groups of individuals can claim ownership of each chapter (and thus get voting rights on the TOC, chapter layout, further modifications, etc. Cheers, Alex Kotchnev On Thu, Aug 28, 2008 at 4:59 AM, Hugo Palma [EMAIL PROTECTED] wrote: inline Alex Kotchnev wrote: Would there be any value to having a top-level domain for the book (e.g. tapestry-book.org or something like that), or can we find it a home for the book somewhere under the Tapestry namespace ? A top-level domain should brink more visibility to the effort. Also, in the future we could probably spend some of the monetary payback to pay for the domain and some hosting solution so that we could include the live version of the book application and other cool stuff. Still, for now i think we can live with a project on some project hosting site where we can host the book files and wiki. A note on the potential mode for governing decisions : I was thinking that in the next couple of days, I'll post a list of possible chapters to include in the book. Then, we can collect a first set of volunteers for people take ownership of each chapter. After the initial set of volunteers, the chapter owners will vote on addition of new chapters and giving ownership of chapters to new contributors (if needed). Shouldn't the outline be already created in a tapestry-book wiki ? We could decide on where to host it and then move the discussion to the dedicated list and use its wiki for the outline. On whether the book would cover additional libraries (e.g. chennilekit, t5components): I think that after we get to a good place where we have enough content on the core we can probably spend some time on those as well, possibly with contributions from the project owners. Conceptually, it would be impossible to include all 3rd party / contrib libraries in the book (or it will always be incomplete) . I guess my point is that I think we'd want to describe Tapestry and most essential additions (e.g. t5-hibernate, t5-spring, etc). While it's true that if we go down the line of including third party libraries it will always be incomplete and maybe unfair to some i think it would be important to cover the ones that we consider the most used. We could go with a voting process where each one would say the top 2 or 3 third party libraries in his opinion. The top 2 or 3 would get included in the book. Cheers, Alex Kotchnev On Tue, Aug 26, 2008 at 11:13 PM, Thiago H. de Paula Figueiredo [EMAIL PROTECTED] wrote: Em Tue, 26 Aug 2008 23:30:41 -0300, Alex Kotchnev [EMAIL PROTECTED] escreveu: Here are a couple of the next steps that I think would be useful in moving the effort forward: Nice! I was thinking of posting a similar set of questions here . . . :)
Re: Problem with aso - a further query
Quoting Hugo Palma [EMAIL PROTECTED]: You have two ways of setting the currUser DAO: 1. Copy fields from one object to another. Just add this to your code: currUser.setUsername(user.getUsername); currUser.setPassword(user.getPassword); . You don't have to assign the currUser field. That will the done for you by Tapestry. 2. Declare the ASO like this: @ApplicationState(created=false) private User currUser; assign the field like this: currUser = u; In which case I am getting confused reading this thread because I have not done it that way and it works (unlike that for the OP): public class Index { ... @ApplicationState private User user; ... Object onSubmitFromLoginForm() { Class nextPage = null; User authenticatedUser = Security.getSecurity().authenticate(userName, password, session); if (authenticatedUser != null) { if (authenticatedUser.getRole() == User.Role.admin) { nextPage = Administration.class; } else { nextPage = UserAdministration.class; } user= authenticatedUser; } else ... So why does this work? Or am I getting myself confused - to me it looks like my code and that of the OP work in the same way, and yet I can see why it shouldn't work... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: onActivate exception query
I don't quite understand why the following does not work and produces: TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:40), parameter #1: Coercion of bl_red_hundred.gif to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: bl_red_hundred.gif org.apache.tapestry5.runtime.ComponentEventException: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:40), parameter #1: Coercion of bl_red_hundred.gif to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: bl_red_hundred.gif at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1054) ... I have a template which containes a reference to a gif used in the banner (BLTemplate.tml): html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; head titleDigital Portal: ${heading}/title /head body div class=nav-top style=background: #CF; float:left; height:125px; width:5%; img src=bl_red_hundred.gif alt=bl / /div div style=background: #CF; float:right; height:125px; width:95% h1${title}/h1 /div div style=height:100%; t:body/ /div ... This template is used for all my pages (in this case EditUser.tml): html t:type=BLTemplate t:heading=literal:Edit User Details t:title=literal:Edit User Details xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; body ph3Edit user details./h3/p ... This page is called from a link produced by the Grid component (in ManageUsers.tml): t:grid t:source=allUsers t:reorder=userName t:exclude=id,password t:row=listItem t:parameter t:name=userNameCell t:PageLink t:page=editUser t:context=listItem.id ${listItem.userName} /t:PageLink /t:parameter /t:grid and EditUser.java has an onActivate with a parameter: public void onActivate(int id) { Query query = session.createQuery(from User where id = '+id+'); List result = query.list(); user = (User)result.get(0); } Why is the GIF name being passed in initially? The page still works, so the id is being set to that given by the link from ManageUsers.tml. The exception is generated but it continues on to display the page. However, I have a Cancel button on the EditUser page, and when I press that the whole lot fails with a coercion error, this time trying to take the name of the page from the Cancel button and pass it as a parameter: (EditUser.tml): input type=button id=cancelButton value=Cancel onclick=location.href='Administration';/ producing exception: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:36), parameter #1: Coercion of Administration to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: Administration What is going on and why does this happen? It's only happening for this page which has an onActivate with a parameter. All my other pages work as expected. thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: onActivate exception query
Thanks for the fast reply Martijn; that fixed the GIF asset. However, I am still having problems with the Cancel button. I can reference the Administration page as an asset, but obviously it then does not get processed by Tapestry. Thoughts, anyone? input type=button id=cancelButton value=Cancel onclick=location.href='Administration';/ p. Quoting Martijn Brinkers [EMAIL PROTECTED]: I think the following happens The gif is requested by your page because of the IMG so the GET for the IMG looks something like http://YOUR_DOMAIN/YOUR_PAGE/bl_red_hundred.gif Now you page assumes this is your activation context and tries to convert it to int (which it's not). I think you can solve this by adding an image Asset. Another option I think would be to not request the image relative to your page but from for example the /images subir (make sure the request if relative with respect to you app root and not absolute). I guess the other problem is related. Martijn Brinkers On Fri, 2008-08-29 at 11:23 +0100, [EMAIL PROTECTED] wrote: I don't quite understand why the following does not work and produces: TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:40), parameter #1: Coercion of bl_red_hundred.gif to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: bl_red_hundred.gif org.apache.tapestry5.runtime.ComponentEventException: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:40), parameter #1: Coercion of bl_red_hundred.gif to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: bl_red_hundred.gif at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1054) ... I have a template which containes a reference to a gif used in the banner (BLTemplate.tml): html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; head titleDigital Portal: ${heading}/title /head body div class=nav-top style=background: #CF; float:left; height:125px; width:5%; img src=bl_red_hundred.gif alt=bl / /div div style=background: #CF; float:right; height:125px; width:95% h1${title}/h1 /div div style=height:100%; t:body/ /div ... This template is used for all my pages (in this case EditUser.tml): html t:type=BLTemplate t:heading=literal:Edit User Details t:title=literal:Edit User Details xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; body ph3Edit user details./h3/p ... This page is called from a link produced by the Grid component (in ManageUsers.tml): t:grid t:source=allUsers t:reorder=userName t:exclude=id,password t:row=listItem t:parameter t:name=userNameCell t:PageLink t:page=editUser t:context=listItem.id ${listItem.userName} /t:PageLink /t:parameter /t:grid and EditUser.java has an onActivate with a parameter: public void onActivate(int id) { Query query = session.createQuery(from User where id = '+id+'); List result = query.list(); user = (User)result.get(0); } Why is the GIF name being passed in initially? The page still works, so the id is being set to that given by the link from ManageUsers.tml. The exception is generated but it continues on to display the page. However, I have a Cancel button on the EditUser page, and when I press that the whole lot fails with a coercion error, this time trying to take the name of the page from the Cancel button and pass it as a parameter: (EditUser.tml): input type=button id=cancelButton value=Cancel onclick=location.href='Administration';/ producing exception: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:36), parameter #1: Coercion of Administration to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: Administration What is going on and why does this happen? It's only happening for this page which has an onActivate with a parameter. All my other pages work as expected. thanks, p. - 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
Re: T5: onActivate exception query
Hi, I was just about to reply and say I solved it. Missing slash in the location.href. The following works: input type=button id=cancelButton value=Cancel onclick=location.href='/Administration';/ thanks for your help. p. Quoting Martijn Brinkers [EMAIL PROTECTED]: I'm not sure but I thinks it's a similar problem. It looks like Administration is interpreted as the context. If you want to cancel the page it's easier to use the t5Component Button component. Add t5Component jar to you project (see http://code.google.com/p/tapestry5-components/) and add this to the .tml: button t:type=t5components/Button type=button t:event=cancelCancel/button And add an event handler in your page: protected Object onCancel() { return Administration.class; // The Page to redirect to } Martijn Brinkers On Fri, 2008-08-29 at 12:09 +0100, [EMAIL PROTECTED] wrote: Thanks for the fast reply Martijn; that fixed the GIF asset. However, I am still having problems with the Cancel button. I can reference the Administration page as an asset, but obviously it then does not get processed by Tapestry. Thoughts, anyone? input type=button id=cancelButton value=Cancel onclick=location.href='Administration';/ p. Quoting Martijn Brinkers [EMAIL PROTECTED]: I think the following happens The gif is requested by your page because of the IMG so the GET for the IMG looks something like http://YOUR_DOMAIN/YOUR_PAGE/bl_red_hundred.gif Now you page assumes this is your activation context and tries to convert it to int (which it's not). I think you can solve this by adding an image Asset. Another option I think would be to not request the image relative to your page but from for example the /images subir (make sure the request if relative with respect to you app root and not absolute). I guess the other problem is related. Martijn Brinkers On Fri, 2008-08-29 at 11:23 +0100, [EMAIL PROTECTED] wrote: I don't quite understand why the following does not work and produces: TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:40), parameter #1: Coercion of bl_red_hundred.gif to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: bl_red_hundred.gif org.apache.tapestry5.runtime.ComponentEventException: Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:40), parameter #1: Coercion of bl_red_hundred.gif to type java.lang.Integer (via String -- Long, Long -- Integer) failed: For input string: bl_red_hundred.gif at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1054) ... I have a template which containes a reference to a gif used in the banner (BLTemplate.tml): html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; head titleDigital Portal: ${heading}/title /head body div class=nav-top style=background: #CF; float:left; height:125px; width:5%; img src=bl_red_hundred.gif alt=bl / /div div style=background: #CF; float:right; height:125px; width:95% h1${title}/h1 /div div style=height:100%; t:body/ /div ... This template is used for all my pages (in this case EditUser.tml): html t:type=BLTemplate t:heading=literal:Edit User Details t:title=literal:Edit User Details xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; body ph3Edit user details./h3/p ... This page is called from a link produced by the Grid component (in ManageUsers.tml): t:grid t:source=allUsers t:reorder=userName t:exclude=id,password t:row=listItem t:parameter t:name=userNameCell t:PageLink t:page=editUser t:context=listItem.id ${listItem.userName} /t:PageLink /t:parameter /t:grid and EditUser.java has an onActivate with a parameter: public void onActivate(int id) { Query query = session.createQuery(from User where id = '+id+'); List result = query.list(); user = (User)result.get(0); } Why is the GIF name being passed in initially? The page still works, so the id is being set to that given by the link from ManageUsers.tml. The exception is generated but it continues on to display the page. However, I have a Cancel button on the EditUser page, and when I press that the whole lot fails with a coercion error, this time trying to take the name of the page from the Cancel button and pass it as a parameter:
Re: T5 : Let's write a book !
Have the book printed by Lulu. In the Lulu project set the Royalties to 0. Then when a copy is bought the customer will be paying for the printing only. No royalties will be paid. As the book is unlikely to sell tens of thousands of copies the amount of money generated by royalties would be miniscule per contributor and not worth considering. Dispensing with royalties also keeps the book cost down. The advantage of Lulu is that you can upload a PDF of the book - you don't have to use some silly proprietry book software. p. Quoting Hugo Palma [EMAIL PROTECTED]: I also agree with the DocBook format. A have question thought, if the plan is to publish the book in a printed paid version there's obviously going to be income from this effort. How will that work being the book a result of community effort ? Where will the money go to ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: Form cancellation query
I have a form on a page and I have two buttons: Submit and Cancel. I have handlers for both. However, because I need two of the fields to be required, the client side checking never allows my handlers to be called if no values are inserted in the fields and the user presses Cancel. How do you achieve the Cancel functionality with required fields? thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Query regarding .tml file location
Thanks Howard. My environment is that which is provided when Maven pulls in the files when doing the tutorial. I'm trying this in a bare bones Tapestry application. p. Quoting Howard Lewis Ship [EMAIL PROTECTED]: It probably means that your build is not deploying the .tml file with the rest of the web application. We need more information about your environment. On Tue, Aug 26, 2008 at 6:58 AM, [EMAIL PROTECTED] wrote: The Tapestry website says: - Under a typical Maven directory structure, the Java class for a component might be src/main/java/org/example/myapp/components/MyComponent.java. The corresponding template will be src/main/resources/org/example/myapp/components/MyComponent.tml. Likewise, the Java class for a page might be src/main/java/org/example/myapp/pages/MyPage.java and the corresponding template will be src/main/resources/org/example/myapp/pages/MyPage.tml. -- However, placing my Index.tml page file in such a location doesn't work; it only works when it is placed in the webapp directory. Why is that? Has something changed since this was written? p. - 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]
Form validation question
From reading the documentation I am under the impression that during form submission a VALIDATE_FORM event is emitted once. However, I observe onValidate() being called for every component in the form, the value from the component not being set until *after* onValidate has apparently been called on that component. For instance, I have username and password fields (with values typed in of admin, admin), and I get during onValidate(): on validate: null / null on validate: admin / null I would have thought it was called just once and would have all values set. What is going on and what am I not understanding here? thanks, p - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5]: label not being picked up
Sorry for another newbie question :-) but why does: td t:label t:for=userNamethe name of the user/t:label /td td input type=text t:id=userName t:type=TextField t:value=userName/ /td print the name of the user rather than User Name like it does in the Kolesnikov book? thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5]: form submission broken?
Again, I'm trying to follow what is in the Kolesnikov book and I can't get it to work: template: t:form t:id=newUserForm table tr td colspan=2 align=left input type=submit t:type=submit t:id=submitButton value=Submit/ /td /tr /table /t:form code: private Class nextPage; @OnEvent(component=submitButton) void onSubmitButton() { System.out.println(submit pressed); nextPage = Administration.class; } Object onSubmitFromNewUserForm() { System.out.println(form submitted); return nextPage; } -- onSubmitButton is never called. All I see is the output form submitted. what's going on? From reading the component Events section on the T5 website it looks like I have got this right. thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Access control with dispatchers and annotations
I've been trying to use the same code. The problem lies apparently in the fact that the class returned by getAnnotation is not Private but a proxy... ... page anno class=$Proxy40 ... Quoting Moritz Gmelin [EMAIL PROTECTED]: Hi, I think there is a bug in the Wiki. Try this instead Component page = componentSource.getPage(pageName); Private prvAnnot = page.getClass().getAnnotation( Private.class); when your Annotation is called Private of course. You'll get the annotation if it was present on the page or NULL otherwise. M. Am 29.07.2008 um 13:41 schrieb Carl Crowder: Hi, I'm trying to create an access control system using a dispatcher as described on the wiki page. I'm following this: http://wiki.apache.org/tapestry/Tapestry5HowToControlAccess So that I can use an annotation to declare which pages need a logged- in user. It checks the meta-data in the component model for a key called private but it is not being added in my code. As far as I can tell, there is no place where annotations on the type get converted into meta-data. Am I missing something? Or do I need to implement my own ClassTransformWorker to do this? Thanks, Carl - 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]: Hibernate question - session is null
Quoting 9902468 [EMAIL PROTECTED]: Is the hibernate service initialized at all? When Tapestry starts it lists all known services, is Hibernate in that list? - 99 It looks like it: ... FieldValidationSupport: DEFINED FieldValidatorDefaultSource: DEFINED FieldValidatorSource: DEFINED FormSupport: DEFINED HibernateEntityPackageManager: DEFINED HibernateSessionManager: DEFINED HibernateSessionSource: DEFINED HibernateTransactionDecorator: DEFINED HiddenFieldLocationRules: DEFINED HttpServletRequest: DEFINED HttpServletRequestHandler: VIRTUAL IgnoredPathsFilter: DEFINED InjectionProvider: DEFINED InternalRequestGlobals: VIRTUAL LinkFactory: DEFINED ... I still haven't figured out what is going on. I see no evidence of Hibernate ever being called. Are any Hibernate services missing from the above list? p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5]: Hibernate question - session is null
(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_11b68bd4ff7.service($HttpServletRequestFilter_11b68bd4ff7.java) at $HttpServletRequestHandler_11b68bd4ff9.service($HttpServletRequestHandler_11b68bd4ff9.java) at $HttpServletRequestHandler_11b68bd4ff6.service($HttpServletRequestHandler_11b68bd4ff6.java) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:168) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) Caused by: org.apache.tapestry5.runtime.ComponentEventException [at context:Index.tml, line 7, column 28] at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1042) at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:182) at org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:351) at org.apache.tapestry5.corelib.components.Form$onAction$invocation_11b68bd8243.invokeAdvisedMethod(Form$onAction$invocation_11b68bd8243.java) at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71) at org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37) at org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80) at org.apache.tapestry5.corelib.components.Form.onAction(Form.java) at org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:872) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1025) ... 50 more Caused by: java.lang.NullPointerException at uk.bl.dlportal.pages.util.Security.authenticate(Security.java:26) at uk.bl.dlportal.pages.Index.onSubmitFromLoginForm(Index.java:27) at uk.bl.dlportal.pages.Index.dispatchComponentEvent(Index.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:864) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1025) ... 61 more Quoting 9902468 [EMAIL PROTECTED]: [Hide Quoted Text] Check also that you have the mysql-connector-java-5.1.6.jar or similar in your libraries. I have the following list: FieldValidatorSource: DEFINED FormDAO: DEFINED FormSupport: DEFINED FreeMarkerService: DEFINED FulfillmentDAO: DEFINED GoogleMapService: DEFINED HibernateEntityPackageManager: DEFINED HibernateSessionManager: DEFINED HibernateSessionSource: DEFINED HibernateTransactionDecorator: DEFINED HiddenFieldLocationRules: DEFINED HiveMind: DEFINED HttpServletRequest: DEFINED HttpServletRequestHandler: VIRTUAL IgnoredPathsFilter: DEFINED So that one should be ok. Is the page that you are testing with _really_ calling session.something? Tapestry lazy loads everything so Hibernate is not really initialized without the call. Can we have the stack trace? - 99 photos-4 wrote: Quoting 9902468 [EMAIL PROTECTED]: Is the hibernate service initialized at all
Re: [T5]: Hibernate question - thank you!
HiveMind: DEFINED HttpServletRequest: DEFINED HttpServletRequestHandler: VIRTUAL IgnoredPathsFilter: DEFINED So that one should be ok. Is the page that you are testing with _really_ calling session.something? Tapestry lazy loads everything so Hibernate is not really initialized without the call. Can we have the stack trace? - 99 photos-4 wrote: Quoting 9902468 [EMAIL PROTECTED]: Is the hibernate service initialized at all? When Tapestry starts it lists all known services, is Hibernate in that list? - 99 It looks like it: ... FieldValidationSupport: DEFINED FieldValidatorDefaultSource: DEFINED FieldValidatorSource: DEFINED FormSupport: DEFINED HibernateEntityPackageManager: DEFINED HibernateSessionManager: DEFINED HibernateSessionSource: DEFINED HibernateTransactionDecorator: DEFINED HiddenFieldLocationRules: DEFINED HttpServletRequest: DEFINED HttpServletRequestHandler: VIRTUAL IgnoredPathsFilter: DEFINED InjectionProvider: DEFINED InternalRequestGlobals: VIRTUAL LinkFactory: DEFINED ... I still haven't figured out what is going on. I see no evidence of Hibernate ever being called. Are any Hibernate services missing from the above list? p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/-T5-%3A-Hibernate-question-tp18634071p18685754.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] -- with regards Sven Homburg http://tapestry5-components.googlecode.com http://chenillekit.googlecode.com - best regards Sven -- View this message in context: http://www.nabble.com/-T5-%3A-Hibernate-question-tp18634071p18686443.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]: Hibernate question - session is null
I'm using Eclipse. The XML config appears in target/classes and appears to be in the classpath. I'm afraid I'm rather new to Tap 5 and also to Hibernate. I'm just following what is in the Tutorial. Unfortunately the session is still coming out as null. Is there anywhere I can see that Tapestry is actually using Hibernate as a service? I get the following in the console when I start my application: ... HibernateEntityPackageManager: DEFINED HibernateSessionManager: DEFINED HibernateSessionSource: DEFINED HibernateTransactionDecorator: DEFINED ... Quoting Andreas Andreou [EMAIL PROTECTED]: Perhaps hibernate.cfg.xml isn't in your runtime classpath? Are you sure your IDE includes it to the output? On Thu, Jul 24, 2008 at 6:09 PM, [EMAIL PROTECTED] wrote: I am following the tutorial at http://tapestry.apache.org/tapestry5/tutorial1/forms2.html but I find that the session (supposedly injected) is null. I'm not sure how to proceed. Could someone point me to documents/better tutorials on how to use Tapestry with Hibernate? Thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Andreas Andreou - [EMAIL PROTECTED] - http://blog.andyhot.gr Tapestry / Tacos developer Open Source / JEE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5]: Hibernate question - session is null
Quoting 9902468 [EMAIL PROTECTED]: Check that the @Inject private Session session; session is org.hibernate.Session. - 99 It is. I notice that when I switch on the mysql log that no attempt is ever made to access the db. Is there any kind of logging I can switch on from Tapestry (or maybe Hibernate) to tell me what is going on? (I am quite sure the xml file is correct and in the classpath, so I am running out of ideas! Although it must be something simple as these things usually are). session is always null when this code is run. Code and XML below: package uk.bl.dlportal.pages.util; import java.util.List; import org.apache.tapestry5.ioc.annotations.Inject; import org.hibernate.Query; import org.hibernate.Session; import uk.bl.dlportal.entities.User; public class Security { @Inject private Session session; private final static Security security = new Security(); public User authenticate(String userName, String password) { System.out.println(SESSION +session); List result = session.createCriteria(User.class).list(); return null; } public static Security getSecurity() { return security; } } XML hibernate.cfg.xml is in src/main/resources: !DOCTYPE hibernate-configuration PUBLIC -//Hibernate/Hibernate Configuration DTD 3.0//EN http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd; hibernate-configuration session-factory property name=hibernate.connection.driver_classcom.mysql.jdbc.Driver/property property name=hibernate.connection.urljdbc:mysql://localhost:3306/dlportal/property property name=hibernate.dialectorg.hibernate.dialect.MySQLDialect/property property name=hibernate.connection.usernameroot/property property name=hibernate.connection.passwordadmin/property property name=hbm2ddl.autoupdate/property property name=hibernate.show_sqltrue/property property name=hibernate.format_sqltrue/property /session-factory /hibernate-configuration - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5]: Hibernate question - session is null
Thanks for your help, but so far no joy: Quoting 9902468 [EMAIL PROTECTED]: And of course, check that you have Hibernate and hibernate annotation in your libraries, they are NOT included automatically by maven if maven is used. The libraries appear in my repository and appear under sources in the Eclipse Run Configuration. Tapestry should be quite verbose about hibernate if tapestry is configured to run in debug mode: http://tapestry.apache.org/tapestry5/tapestry-core/guide/conf.html add: I placed -Dtapestry.production-mode=false on the command line, which, according to the docs, does the same thing. I see no output about Hibernate at all. It never gets mentioned... Also see that your entities are in correct place (same root package as pages and components, in entities package.) src/main/java/uk.bl.dlportal.entities src/main/java/uk.bl.dlportal.components src/main/java/uk.bl.dlportal.pages looks ok to me. Also perhaps use org.hibernate.dialect.MySQLInnoDBDialect to support foreign keys? (Change to hibernate config.) You should be able to see that Hibernate starts in the logs and maps User etc. classes. Remember to configure your Log4J or what ever logging u use to debug. I added some lines to log4j.properties to turn on hibernate logging (debug), but I see no output - just the usual Tapestry debug output that I've seen before. I'm really stumped... :-( Hibernate never gets called and yet everything appears to be in place. p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
re [t5]: testing for null number
Can someone knowledgable please comment on my query from yesterday? I notice that t:if coerces number objects (Long, Integer, etc) and tests for zero or non-zero. I want to test for null or not null using a number data type. Is there any way to do this? Thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5]: Hibernate question
I am following the tutorial at http://tapestry.apache.org/tapestry5/tutorial1/forms2.html but I find that the session (supposedly injected) is null. I'm not sure how to proceed. Could someone point me to documents/better tutorials on how to use Tapestry with Hibernate? Thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[t5]: testing for null number
I notice that t:if coerces number objects (Long, Integer, etc) and tests for zero or non-zero. I want to test for null or not null using a number data type. Is there any way to do this? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[t5] remove in grid not working
remove does not appear to work: t:grid t:source=allDigitalItems t:reorder=article, issue,title t:remove=id t:row=listItem t:parameter t:name=articleCell t:PageLink t:page=details t:context=listItem.id ${listItem.article} /t:PageLink /t:parameter /t:grid I have looked for previous advice on this and someone said that exclude should be used instead (without saying why). Well, exclude is not listed in: http://tapestry.apache.org/tapestry5/tapestry-core/component-parameters.html#orgapachetapestrycorelibcomponentsgrid I have tried it and it does work. Would anyone care to comment on why remove has been removed and exclude is not listed. Is it a direct replacement (or renaming), or does it have different functionality? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: to t:page or not to t:page?
I am using the new book on Tapestry 5 by Alexander Kolesnikov and I notice that there is a subtle difference between the Tapestry web Tutorial and what is in the book: t:PageLink t:page=... t:PageLink page=... I noticed that when doing t:form t:id=... that the t: for id was required or my onSubmitXXX method was not called. Can someone please explain why t: is required for parameters and, if that is the case, why is it missing in examples in the Tutorial? Also, where is there anywhere I can see what tags are defined for TML and what they do. Thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: new user help required
Thank you Christian and Jonathan for your quick replies. I'm not using Jetty Runner - I did install JettyLoader. I'm running Jetty from Maven command line because, as I recall, that is what is in the Tutorial. Anyway, the observed reloading behaviour is fine - I did suspect that perhaps only template changes show up automagically but thanks for the confirmation. Exactly what step in the tutorial did you carry out between working and broken? Chapter 3 in creating the GameOver page towards the end of the chapter. While the other @Property worked fine earlier in the tutorial, as soon as I added this page the other bits of code it no longer liked @Property. I tried reverting everything back but it still doesn't like it. I got the error from the link on the first page of HiLo, so I didn't even get as far as executing the new GameOver code. I had thought of just using the g/s instead, but that would be giving up; especially as @Property was working fine! thanks, p. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]