Re: Tapestry 5.1 running in Google App Engine (GAE)
This apparently happens on 5.0.x as well, and seems to be a problem in the classloading on the local development server. Apparently this error doesn't occur (or at least isn't manifesting this way) on the actual appserver production engine. I have no clue where this is at, but if there isn't a bug, someone should file it on the appserver issues page. cheers, Christian. On 2009-08-12, at 22:15 , Otho wrote: Out of the box it throws the same exception. Caused by: java.lang.ClassNotFoundException: caught an exception while obtaining a class file for org.apache.tapestry5.corelib.components.Loop$1 at javassist.Loader.findClass(Loader.java:359) at org.apache.tapestry5 .internal.services.ComponentInstantiatorSourceImpl $PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:94) at javassist.Loader.loadClass(Loader.java:311) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 76 more Caused by: javassist.NotFoundException: org.apache.tapestry5.corelib.components.Loop$1 at javassist.ClassPool.get(ClassPool.java:436) at org.apache.tapestry5 .internal.services.ComponentInstantiatorSourceImpl.onLoad (ComponentInstantiatorSourceImpl.java:197) at javassist.Loader.findClass(Loader.java:340) ... 80 more If somebody has a solution for that it would be much appreciated. 2009/8/12 Alex Kotchnev akoch...@gmail.com Christian, can you jot down a few instructions on getting this done ? Is this the T5.1 out of SVN ? Or is this just following the instructions that someone (maybe you) posted a few weeks ago ? Also, do you know if this runs properly on the local dev server ? There is an issue w/ 5.0 and the local dev server (something about not finding the $Loop component if there is an error), I'd be curious to know if this app runs there. I'm working on a 5.0 app in gae (http://zadachite- dev.appspot.com/) but it would certainly be nice to move it to 5.1. Cheers, Alex K On Tue, Aug 11, 2009 at 7:29 PM, Marcus Veloso mveloso.j...@gmail.com wrote: Nice work, Christian! Christian Edward Gruber e-mail: christianedwardgru...@gmail.com weblog: http://www.geekinasuit.com/ - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry 5.1 running in Google App Engine (GAE)
It's already in: http://code.google.com/p/googleappengine/issues/detail?id=1480 Maybe everybody affected shoul star it, too. 2009/8/13 Christian Edward Gruber christianedwardgru...@gmail.com This apparently happens on 5.0.x as well, and seems to be a problem in the classloading on the local development server. Apparently this error doesn't occur (or at least isn't manifesting this way) on the actual appserver production engine. I have no clue where this is at, but if there isn't a bug, someone should file it on the appserver issues page. cheers, Christian. On 2009-08-12, at 22:15 , Otho wrote: Out of the box it throws the same exception. Caused by: java.lang.ClassNotFoundException: caught an exception while obtaining a class file for org.apache.tapestry5.corelib.components.Loop$1 at javassist.Loader.findClass(Loader.java:359) at org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:94) at javassist.Loader.loadClass(Loader.java:311) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 76 more Caused by: javassist.NotFoundException: org.apache.tapestry5.corelib.components.Loop$1 at javassist.ClassPool.get(ClassPool.java:436) at org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:197) at javassist.Loader.findClass(Loader.java:340) ... 80 more If somebody has a solution for that it would be much appreciated. 2009/8/12 Alex Kotchnev akoch...@gmail.com Christian, can you jot down a few instructions on getting this done ? Is this the T5.1 out of SVN ? Or is this just following the instructions that someone (maybe you) posted a few weeks ago ? Also, do you know if this runs properly on the local dev server ? There is an issue w/ 5.0 and the local dev server (something about not finding the $Loop component if there is an error), I'd be curious to know if this app runs there. I'm working on a 5.0 app in gae (http://zadachite-dev.appspot.com/) but it would certainly be nice to move it to 5.1. Cheers, Alex K On Tue, Aug 11, 2009 at 7:29 PM, Marcus Veloso mveloso.j...@gmail.com wrote: Nice work, Christian! Christian Edward Gruber e-mail: christianedwardgru...@gmail.com weblog: http://www.geekinasuit.com/ - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
User/error message that are not validation errors
Hi list, while trying to grasp the tapestry way of doing things, I stumbled on this question: I want to show a message in response to a submit. It is not a result of validation, but rather of the database state which is detected during data manipulation in the onSuccess event. For example, the submit is supposed to delete several entries in a database, some of which may have been removed by another process between the user selecting them and submitting the form. If this is the case, I want to show a friendly message to inform the user about this fact. Normally, after a submit, the same page should be re-displayed with updated data. I'm not sure how to incorporate the messages there. Can I use something similar to the t:errors/ component for this? That one uses a wording adapted to the input validation and uses error colors which don't fit here. Maybe I need to implement some similar behaviour by hand via properties into which the messages are put and display these by hand in the tml template? Another way would be to use an exception page. Can I use a special exception page that gets called automatically for some special type of exceptions? A normal page especially for user messages could be used, too, but what is preferred way? Is there a way that tapestry suggests for this situation, as it does for input validation? Thank you, Dirk BGS Beratungsgesellschaft Software Systemplanung AG Niederlassung Köln/Bonn Grantham-Allee 2-8 53757 Sankt Augustin Fon: +49 (0) 2241 / 166-500 Fax: +49 (0) 2241 / 166-680 www.bgs-ag.de Geschäftssitz Mainz Registergericht Amtsgericht Mainz HRB 62 50 Aufsichtsratsvorsitzender Klaus Hellwig Vorstand Hermann Kiefer Nils Manegold Thomas Reitz
Re: User/error message that are not validation errors
My Layout component has a message parameter of type Block that gets displayed if set. Pages that should display messages derive from a base class with a message page property of type string. In the page's template I then bind Layout's message parameter to the page's message property (coercion from String to Block is done automatically by Tapestry). In an event handler I then acquire a page instance by injecting it, set the message and return that page. HTH, Uli On 13.08.2009 09:19 schrieb dirk.latterm...@bgs-ag.de: Hi list, while trying to grasp the tapestry way of doing things, I stumbled on this question: I want to show a message in response to a submit. It is not a result of validation, but rather of the database state which is detected during data manipulation in the onSuccess event. For example, the submit is supposed to delete several entries in a database, some of which may have been removed by another process between the user selecting them and submitting the form. If this is the case, I want to show a friendly message to inform the user about this fact. Normally, after a submit, the same page should be re-displayed with updated data. I'm not sure how to incorporate the messages there. Can I use something similar to the t:errors/ component for this? That one uses a wording adapted to the input validation and uses error colors which don't fit here. Maybe I need to implement some similar behaviour by hand via properties into which the messages are put and display these by hand in the tml template? Another way would be to use an exception page. Can I use a special exception page that gets called automatically for some special type of exceptions? A normal page especially for user messages could be used, too, but what is preferred way? Is there a way that tapestry suggests for this situation, as it does for input validation? Thank you, Dirk BGS Beratungsgesellschaft Software Systemplanung AG Niederlassung Köln/Bonn Grantham-Allee 2-8 53757 Sankt Augustin Fon: +49 (0) 2241 / 166-500 Fax: +49 (0) 2241 / 166-680 www.bgs-ag.de Geschäftssitz Mainz Registergericht Amtsgericht Mainz HRB 62 50 Aufsichtsratsvorsitzender Klaus Hellwig Vorstand Hermann Kiefer Nils Manegold Thomas Reitz - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry 5.1 running in Google App Engine (GAE)
akochnev wrote: Christian, can you jot down a few instructions on getting this done ? Is this the T5.1 out of SVN ? Or is this just following the instructions that someone (maybe you) posted a few weeks ago ? I will write instructions on my blog in the next days (always too little time). akochnev wrote: Also, do you know if this runs properly on the local dev server ? There is an issue w/ 5.0 and the local dev server (something about not finding the $Loop component if there is an error), I'd be curious to know if this app runs there. No, I had the same problems with 5.0 and never tried it anymore. I'm using Jetty (because I have no persistence for the test app). akochnev wrote: I'm working on a 5.0 app in gae (http://zadachite-dev.appspot.com/) but it would certainly be nice to move it to 5.1. Good to hear - maybe you can give some info about using the GAE persistence (JPA/JDO) with Tapestry. -- Chris -- View this message in context: http://n2.nabble.com/Tapestry-5.1-running-in-Google-App-Engine-%28GAE%29-tp3426158p3436302.html Sent from the Tapestry Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Pagination component for Tapestry4
Hello! I'm working on one project with Tapestry 4 which makes heavy use of paginated lists. They are at least 10 lists of different items in project. This paginated lists have coulumns, optional filter and sorting upon some columns. I though of this in this way: Application service returns a list of domain objects. Each domain object can have tapestry component implemented. i.e. : Class CustomerBean { String firstName; String lastName; String phoneNumber; //getters, setters, constructor } CustomerBeanComponent: Template: div jwcid=@Insert value=ognl:domainObject.firstName/ div jwcid=@Insert value=ognl:domainObject.lastName/ div jwcid=@Insert value=ognl:domainObject.phoneNumber Specification: parameter name=domainObject required=true / Now PaginationComponent should take the ListCustomerBean and iterate over this list with rendering of it's body component. This is similar behaviour like For component but I would need pagination, filters and columns in PaginationComponent. Can you give me some guidelines how to implement this component and do you think is it possible at all? Thanks!
Re: tapestry request processing diagram
https://issues.apache.org/jira/browse/TAP5-814 On 12.08.2009 17:12 schrieb Ulrich Stärk: I'll write a patch... Uli On 12.08.2009 04:42 schrieb Geoff Callender: Very nice. Deserves a place in the official doco. On 12/08/2009, at 4:57 AM, Ulrich Stärk wrote: Thiago H. de Paula Figueiredo schrieb: Em Tue, 11 Aug 2009 12:24:27 -0300, Ulrich Stärk u...@spielviel.de escreveu: In case anyone wants to have an overview of how the different pipelines, chain of commands and filters responsible for request processing interact, here [1] is an overview. It is missing the RequestFilters though, maybe I'll add them later. I can only think a word about it: awesome! What software did you use? Visio - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
tapx-templating: using it in a t5 webapp possible
Hello, I'd like to use tapx-templating to generate some content. I want to integrate it into an existing t5 app (just for convenience). Unfortunatly when I try that, the hosting t5 application won't work anymore as expected, especially assets won't be found. Is it possible to use the actual t5 applications's classpath as the required classpath for t5? So that assets will be found both in the hosting webapp and in the generated offline content? Andy - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Organisation of Tapestry documentation
I agree. Paulo Marcelo He who asks is a fool for five minutes, but he who does not ask remains a fool forever. Chinese Proverb 2009/8/12 Szemere Szemere szemereszem...@googlemail.com +1
Re: User/error message that are not validation errors
Em Thu, 13 Aug 2009 04:19:31 -0300, dirk.latterm...@bgs-ag.de escreveu: Hi list, Hi! Normally, after a submit, the same page should be re-displayed with updated data. I'm not sure how to incorporate the messages there. I created a simple Message component. It has a message parameter (String). If the message is not null, it renders a p class=message tag with the message inside it. I use this component inside Form. Another way would be to use an exception page. Can I use a special exception page that gets called automatically for some special type of exceptions? You can use the tapestry.exception-report-page configuration symbol to tell Tapestry which error page it must use. Don't forget to make your error page implement the ExceptionReporter interface. -- Thiago H. de Paula Figueiredo Independent Java consultant, developer, and instructor http://www.arsmachina.com.br/thiago - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
T5.1 If/Conditional against a method?
Hi all, I've been searching the documentation/examples/list all morning, but can't find an answer to this so far. Can T5.1 do a conditional against a method instead of a variable (property)? I have something like: div t:type=If test=showFoo.../div For the Java, I have tried numerous varieties of: protected boolean showFoo() { ... } (isShowFoo, getShowFoo, etc, etc) I keep getting an exception that it can't convert showFoo to a component parameter binding, then it shows me all the variables (not methods) in my class. Of course, you can't put an @Property on a method, either. Is it not possible in T5 to bind your conditional to a method? (T4 could do this.) Thanks, mrg - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5.1 If/Conditional against a method?
Em Thu, 13 Aug 2009 13:34:01 -0300, Michael Gentry mgen...@masslight.net escreveu: Hi all, Hi! div t:type=If test=showFoo.../div Try div t:type=If test=showFoo().../div. Notice the parenthesis. Without them, Tapestry looks for get or is methods. -- Thiago H. de Paula Figueiredo Independent Java consultant, developer, and instructor http://www.arsmachina.com.br/thiago - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5.1 If/Conditional against a method?
On Aug 13, 2009, at 12:47 PM, Thiago H. de Paula Figueiredo wrote: Em Thu, 13 Aug 2009 13:34:01 -0300, Michael Gentry mgen...@masslight.net escreveu: Hi all, Hi! div t:type=If test=showFoo.../div Try div t:type=If test=showFoo().../div. Notice the parenthesis. Without them, Tapestry looks for get or is methods. -- Thiago H. de Paula Figueiredo Independent Java consultant, developer, and instructor http://www.arsmachina.com.br/thiago One can also use the Chenille Kit's OGNL binding and do more complicated tests, I'd imagine. Norman Franke Answering Service for Directors, Inc. www.myasd.com
Re: T5.1 If/Conditional against a method?
If you want the method to be showFoo(), then you need to do test=showFoo(). But you can use test=showFoo if showFoo() is renamed to isShowFoo, iff you change the accessor to public (from protected). That is, for property access, tapestry is following java beans conventions, and a property is only a java beans property if it's public. :) Robert On Aug 13, 2009, at 8/1311:34 AM , Michael Gentry wrote: Hi all, I've been searching the documentation/examples/list all morning, but can't find an answer to this so far. Can T5.1 do a conditional against a method instead of a variable (property)? I have something like: div t:type=If test=showFoo.../div For the Java, I have tried numerous varieties of: protected boolean showFoo() { ... } (isShowFoo, getShowFoo, etc, etc) I keep getting an exception that it can't convert showFoo to a component parameter binding, then it shows me all the variables (not methods) in my class. Of course, you can't put an @Property on a method, either. Is it not possible in T5 to bind your conditional to a method? (T4 could do this.) Thanks, mrg - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
About Tapestry HttpServletRequest
I met a problem. I upload files from a page. In the tranditional servlet, all things are right. The code is : public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory = new DiskFileItemFactory(); // set cache factory.setSizeThreshold(1024); // set temp String base = d:/upload; File file = new File(base); if(!file.exists()) file.mkdirs(); factory.setRepository(file); ServletFileUpload upload = new ServletFileUpload(factory); // set the single max upload.setFileSizeMax(1000240l); // set the whole max upload.setSizeMax(1000240l); upload.setHeaderEncoding(UTF-8); try { List? items = upload.parseRequest(request); FileItem item = null; String fileName = null; for (int i = 0 ;i items.size(); i++){ item = (FileItem) items.get(i); fileName = base + File.separator + item.getName(); // save file if (!item.isFormField() item.getName().length() 0) { item.write(new File(fileName)); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } but when I transfer these codes to a setupRender() of a tapestry page. After debug, I found that after it go to List? items = upload.parseRequest(request); , the varible items will be empty. I use HttpServletRequest request = requestGlobal.getHTTPServletRequest(); to get request object, it is not null. any help? 2009-08-14 Rockie C.
Re: T5.1 If/Conditional against a method?
Thanks Thiago/Robert! Both of your suggestions worked (although I had to change the method to public instead of protected for both). I didn't try Norman's (although I'm sure OGNL would be fine) because I'm not using CK (at least not yet). mrg On Thu, Aug 13, 2009 at 1:02 PM, Robert Zeiglerrobe...@scazdl.org wrote: If you want the method to be showFoo(), then you need to do test=showFoo(). But you can use test=showFoo if showFoo() is renamed to isShowFoo, iff you change the accessor to public (from protected). That is, for property access, tapestry is following java beans conventions, and a property is only a java beans property if it's public. :) Robert On Aug 13, 2009, at 8/1311:34 AM , Michael Gentry wrote: Hi all, I've been searching the documentation/examples/list all morning, but can't find an answer to this so far. Can T5.1 do a conditional against a method instead of a variable (property)? I have something like: div t:type=If test=showFoo.../div For the Java, I have tried numerous varieties of: protected boolean showFoo() { ... } (isShowFoo, getShowFoo, etc, etc) I keep getting an exception that it can't convert showFoo to a component parameter binding, then it shows me all the variables (not methods) in my class. Of course, you can't put an @Property on a method, either. Is it not possible in T5 to bind your conditional to a method? (T4 could do this.) Thanks, mrg - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
dynamic images
how do I do upload of images into 'WebContent' dynamically and I show in an user add form or I create an e-commerce with dynamic images in a images field? -- Gutemberg Albuquerque Da Silva
Re: dynamic images
Em Thu, 13 Aug 2009 16:43:03 -0300, Gutemberg Albuquerque Da Silva sag@gmail.com escreveu: how do I do upload of images into 'WebContent' dynamically and I show in an user add form or I create an e-commerce with dynamic images in a images field? Use the tapestry-upload project to do handle the uploading then FileOutputStream to write the file to the filesystem. To show the images to your users, create a page that returns a StreamResponse. -- Thiago H. de Paula Figueiredo Independent Java consultant, developer, and instructor http://www.arsmachina.com.br/thiago - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: About Tapestry HttpServletRequest
You're trying to use a Tapestry page as if it was a servlet. Tapestry pages are not servlets nor JSP files. Even Tapestry itself is not a servlet, being a servlet filter. Use tapestry-upload (http://tapestry.apache.org/tapestry5.1/tapestry-upload/) to handle file uploads. -- Thiago H. de Paula Figueiredo Independent Java consultant, developer, and instructor http://www.arsmachina.com.br/thiago - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5] Security of files in the classpath
Hi Guys, Sorry to pull up an old thread, but there doesn't seem to be a lot about this topic. Was there ever a nice solution implemented for this? 2 years of tapestry framework development later and I can still download all my class files. I've restricted assets to authenticated users using a method like below, but I thought by now we wouldn't need to be adding custom solutions to manage this and it would be part of the core project?? Robert Zeigler wrote: I don't plan on changing the default configuration from whitelist to blacklist... it's the fallback. I'm a fan of deny unless explicitly authorized, as well. The AssetProtectionDispatcher takes an ordered configuration of AssetPathAuthorizer's, with the default whitelist implementation being the catch all final authorizer in what amounts to a chain of command. So you can certainly contribute your own implementations of authorizer on top of the default. Having a pattern matching whitelist would certainly be useful; I'm in a time crunch at the moment (and basically will be until the end of August), but in the beginning of September, I will rework the default WhitelistAuthorizer to accept url patterns. Robert On Aug 3, 2007, at 8/38:27 AM , Thiago H de Paula Figueiredo wrote: On Fri, 03 Aug 2007 10:03:37 -0300, Francois Armand farm...@linagora.com wrote: Thiago H de Paula Figueiredo wrote: Would a black list intead of a white list better? I suppose there are less files to hide than files to allow access. Well, I think that one of the best principle in security is explicit authorization : you just do not want that a confidential file is accessible by error, because a user forgot to hide it. That's a very good point. ;) But I agree that the white list should authorize jokers to enable *.jpg kind of filter (and if you name your confidential file picture_of_my_secret_weapon.jpg, well, to bad for you ;) Maybe we could allow any .jpg, .gif, .jpg and .css file by default and explicitly whitelist the rest. And no, I don't want to see the picture of your secret weapon, whatever it is. :P Thiago - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://www.nabble.com/-T5--Security-of-files-in-the-classpath-tp11816097p24965558.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org