Re: ForBean issues
I've been using Tapestry for a couple of month now and still haven't understood how to work with collections in forms correctly. What works well for me is the DefaultPrimaryKeyConverter. But it seems such an overhead, I have to populate it in the beginPageRender, and iterate it in the listener to update my original collection. In the Enjoy.. book by Kent Tong, he demonstrates using an InvokeListener and calling a listener on every iteration, to process the current item. Again, that seems odd to me, especially when you want to delete items. I also just used a list as source and the index attribute, it seems Tapestry updates the items in place during rewind, which is fine. But I don't understand how I can avoid the items being serialized into hidden fields if I choose this approach. Having said all that, I would like to add that I'm not new to programing or Java. Quite the opposite, really, but I find Tapestry is not very well documented in some areas (or the documentation is very hard to find). Anyway.. about your code: obviously, I can't tell you which is best. But I think you don't have to pass your items as a parameter to the listener method. Instead, the form fields (in this case, the collection) will be bound to an instance variable in your page object. Maybe you should drop that parameters attribute in the @Submit. But you have to make sure the list is not null during rewind, and has the right length, so you have to refill it before the rewind, and the values will be overwritten during rewind. The listener method that is called will be the one referenced in the @Submit component. In your case, the one referenced in the @Form is never called, I think. So you might want to lose on of those two, to avoid confusion. That's about all the advice I can give you let's just hope someone who really knows let's us in on some collections in forms insight. Lutz On 11/13/06, Srinivas Yermal [EMAIL PROTECTED] wrote: Can some tapestry savvy guys look at this and help us out here. Would really appreciate the effort. This is quite a big blocker for me at present. Thanks, Srini. On 11/10/06, Srinivas Yermal [EMAIL PROTECTED] wrote: BTW We currently use version 4.0.2. and run it on tomcat. I would also appreciate if somebody can point me to the rewind document if any. I have heard so many stories about common newbie rewind mistakes but couldnt find what they really are. Thanks again. Srini. On 11/10/06, Srinivas Yermal [EMAIL PROTECTED] wrote: Hi, I am a newbie trying to learn Tapestry. I did try to search through the archives for a solution, but couldnt find anything relavant. It would be great if someone could point me in the right direction. I have a page with a listing of a collection. I am using For component (ForBean) in the form. There are text fields against each item which has a value from the items in the collection. Now one can change the text value and hit the save button at the end of the form. The listener that is associated with the form gets called but I dont have a clue as to how I can obtain the changed values from the collection. I tried with both form listener and submit action listener. I always end up with a null or empty item collection. Some code snippet below - public abstract Collection getItems(); public abstract void setItems(Collection items); ActionListener Method 1: public void saveHistory(IRequestCycle cycle, Object[] list) { LOG.debug(saveHistory(cycle, array) invoked); if (null == list) return; for (Object o : list) { Question mh = (Question)o; LOG.debug(mh.getQuestionText() + + mh.getAnswerText()); } } ActionListener Method 2: public void saveHistory(IRequestCycle cycle) { LOG.debug(saveHistory(cycle, array) invoked); List list = cycle.getListenerParameters(); if (null == list) return; for (Object o : list) { Question mh = (Question)o; LOG.debug(mh.getQuestionText() + + mh.getAnswerText()); } } FormListner Method: public void saveFormHistory(IRequestCycle cycle) { LOG.debug(saveFormHistory(cyle) invoked); CollectionQuestion list = getItems(); if (null == list) return; for (Question mh: list) { LOG.debug(mh.getQuestionText () + + mh.getAnswerText()); } } The HTML file - form jwcid=[EMAIL PROTECTED] listener=listener:saveFormHistory ... tr jwcid=@For source=ognl:items value=ognl:item element=tr tdspan jwcid=@Insert value=ognl:item.question.textQuestion Text/span/td tdinput jwcid=@TextField value=ognl:item.answerText //td /tr ... input class=button type=submit value=Save name=save jwcid=@Submit action=listener:saveHistory parameters=ognl:items/ Please do let me know if something here is not right or if you have any further questions.
Re: PageRenderSupport problem (Body component is in template)
Thanks you peter !!! finally we solved the problem just using hidden values to retrieve again from the DB the correct object ... also need to do lot of tricks (non tapestry) to get also validation working inside the dojo dialog. Anyway this is working now. sincerely, robert On 11/9/06, Peter Beshai [EMAIL PROTECTED] wrote: I had the issue with the submit button not doing anything until I included it in the dialog box's body, but I didn't experience any other issues. There is a Dialog component in the latest 4.1.1 snapshot... maybe you should try that (if you're not using it already). Sorry, that's as much as I can say! -- Peter Beshai - Using Tapestry 4.1.1 Pure Mathematics Student University of Waterloo From: Roberto Ramírez Vique [EMAIL PROTECTED] Reply-To: Tapestry users users@tapestry.apache.org To: Tapestry users users@tapestry.apache.org Subject: Re: PageRenderSupport problem (Body component is in template) Date: Thu, 9 Nov 2006 16:45:53 +0100 Yes, yes ... for sure... that was an error ... Then you have no idea :( Have you had this problem with your component ? thanks you in advance, robert On 11/9/06, Peter Beshai [EMAIL PROTECTED] wrote: Hi, Unless you just made a typo in the email, your loop is defined as : component id=loop type=Form Should probably be: component id=loop type=For Other than that, I have no ideas. Good luck! -- Peter Beshai - Using Tapestry 4.1.1 Pure Mathematics Student University of Waterloo From: Roberto Ramírez Vique [EMAIL PROTECTED] Reply-To: Tapestry users users@tapestry.apache.org To: Tapestry users users@tapestry.apache.org Subject: Re: PageRenderSupport problem (Body component is in template) Date: Thu, 9 Nov 2006 12:03:57 +0100 Hello Peter and everybody ! I'm using tapestry 4.0, jdk 1.5 and tomcat 5.5. I'm doing more or less the same as all of you, but I have a question. My dojo dialogs are though to be places where the user can write information and send it back to the server: like a way to have forms that sends information to the server. My problem now is that all these dojo dialogs needs a form in the same div because otherwise the submit buttons in the dojo doesn't do anything. I understand that these dojo dialogs are rewritten in any other place (in the DOM structure) and that's the problem why the submit button doesn't work. Well I have some of these popups working for list of elements, which are modified with a dojo dialog. When I tried to save the current element (I'm using a tag-selected of a submit button, as explained down) I always get the last element as the modified one... Any of you have had this problem with multiple forms ? Because is a problem of having multiple forms in a page, because just with one form it works (but i can't have just one form due the dojo dialog). The way I tried to select the current element is very simple (and works with a single form in a page, but not with a multiple form in a page): HTML span jwcid=loop div jwcid=dojoDialog form jwcid=innerForm input type=text jwcid=name/ input type=submit jwcid=submitButton/ /form /div /span PAGE component id=loop type=Form binding name=source value=elementList/ binding name=value value=currentElement/ /component component id=personDetails type=DojoDialogContainer/ component id=innerForm type=Form/ component id=name type=TextField binding name=value value=currentElement.name/ /component component id=submitButton type=Submit binding name=selected value=selectedElement/ binding name=tag value=currentElement/ binding name=action value=listener:onSubmit/ /component In the java code I get the selectedElement always as the last element from the elementList but always with the correct values. Any explanation, help, idea or something will be really appreciated, robert On 10/18/06, Peter Beshai [EMAIL PROTECTED] wrote: Great that fixed it up :-) You said you had wrapped the Dialog component just yesterday, but I don't see it in the tapestry-framework trunk. Is there somewhere I can go and see how you implemented it? Oh I have another question... I had to put the .jwc and .script file in the WEB-INF directory. It seems more standard to keep them in the same location as the .java file. Do I need to configure something to be able to store everything in one place? Anyway, here's the code I used, any suggestions are welcome! Dialog.java:: import java.util.HashMap; import java.util.Map; import org.apache.tapestry.AbstractComponent; import org.apache.tapestry.IComponent; import org.apache.tapestry.IMarkupWriter; import org.apache.tapestry.IRequestCycle; import org.apache.tapestry.IScript; import org.apache.tapestry.PageRenderSupport; import org.apache.tapestry.TapestryUtils; import org.apache.tapestry.dojo.DojoUtils; import
Re: Text rotator component
Thank you Sam! You have given me the obvious solution. Why complicate things? Thanks :) On 11/14/06, Sam Gendler [EMAIL PROTECTED] wrote: depends on what kind of infrastructure you want. In the simplest case, just hardcode a file path into a class, open it and read its contents in a static block, and then just access from an Insert component (binding name=value value=ognl:myFileReaderObject.randomLine/) One step up would be to place the filepath in a config file included with your webapp. Either stick it in a hivemind config as a parameter to a service object, do something similar with a spring application-context, or even push it into your servlet from the web.xml file. If you absolutely must have a component and the component really must be passed a data source at each render time, presumably because you want to be able to choose from many sources, I would just have your component receive a model object which adheres to some interface, then provide an instance of that class to your page via hivemind (or spring), and configure the filepath in the hivemind.spring config. It still seems easier to me to have some kind of service object which can provide a line of text at random, and then just insert the text into the page via an Insert component. The only reason to make it a standalone component is if you need to wrap the text in some custom html, and that is simple enough. --sam On 11/13/06, Malin Ljungh [EMAIL PROTECTED] wrote: I wish I had a tapestry component that would read a text file and randomly output one of the rows. Like a quote rotator... does anyone know if it exists out there or will I have to write it myself? If I'd write it myself... how would I do - any suggestions? I suppose I'd wan't to read the file (which is small) in a static variable so I only need to do this once per class loader? How do I specify the asset file and how will my component find it...hmmm Any help highly appreciated! Malin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Text rotator component
depends on what kind of infrastructure you want. In the simplest case, just hardcode a file path into a class, open it and read its contents in a static block, and then just access from an Insert component (binding name=value value=ognl:myFileReaderObject.randomLine/) One step up would be to place the filepath in a config file included with your webapp. Either stick it in a hivemind config as a parameter to a service object, do something similar with a spring application-context, or even push it into your servlet from the web.xml file. If you absolutely must have a component and the component really must be passed a data source at each render time, presumably because you want to be able to choose from many sources, I would just have your component receive a model object which adheres to some interface, then provide an instance of that class to your page via hivemind (or spring), and configure the filepath in the hivemind.spring config. It still seems easier to me to have some kind of service object which can provide a line of text at random, and then just insert the text into the page via an Insert component. The only reason to make it a standalone component is if you need to wrap the text in some custom html, and that is simple enough. --sam On 11/13/06, Malin Ljungh [EMAIL PROTECTED] wrote: I wish I had a tapestry component that would read a text file and randomly output one of the rows. Like a quote rotator... does anyone know if it exists out there or will I have to write it myself? If I'd write it myself... how would I do - any suggestions? I suppose I'd wan't to read the file (which is small) in a static variable so I only need to do this once per class loader? How do I specify the asset file and how will my component find it...hmmm Any help highly appreciated! Malin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How to share hivemind registry between HiveMindFilter an ApplicationServlet?
Hi, I've found recently that very simple usecase for hivemind + tapestry is lacking of any docs. Here it goes 1. I have tapestry application rooted by ApplicationServlet 2. In the same web application I want my services to be accessed via remote api. Hence I've downloaded hivetranse (hiveremoting package) + hessian as adhoc solution. The problem is that hiveremoting depends on HiveMindeFilter to create hivemind registry while tapestry (for nonundestandable reason) does things by their own. Hence I'm having two copy of registries containig duplicate instances of all of my services. Is there any way to share the registry? I've read in the docs that tapestry4 has perfect integration with hivemind (compared to tapestry3), but unfortunatelly documentation does not go beyond this statement. :( It would be really strange if this is impossible, as tapestry is able to share spring registry whith no effort at all.. -- View this message in context: http://www.nabble.com/How-to-share-hivemind-registry-between-HiveMindFilter-an-ApplicationServlet--tf2628912.html#a7335935 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Declaring transient properties in page class
Noob question: I've been going over the documentation and trying things out and so far it seems that I have to declare abstract getters and setters in my page class for every transient page property, including the placeholders and index holders for loops, so for instance when I do span jwcid=@For source=ognl:collection value=ognl:item index=ognl:index.../span I need get/setItem and get/setIndex in my class. Being a recent convert from Struts where you can define page beans via JSP tags and considering most of the time I only need to access these properties from within the page itself for the purposes of iteration, I find this rather wasteful. Not to mention the fact that larger pages with a lot of @For loops tend to accumulate a lot of clutter. Is there no way around this? --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Re: Re: tapestry-acegi questions
On 11/12/06, Robin Ericsson [EMAIL PROTECTED] wrote: Thanks to James again :), I have a working solution that redirects after successful login. However, on Firefox it works like a charm, but on Safari it doesn't work as it seems it doesn't process cookies or something the same way. Maybe I should take this to Acegi directly instead? -- regards, Robin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: tapestry-acegi questions
Oh, sorry, Robin. I read your last email, but only through the thanks, I've got it working part. :-) I didn't see the questions at the bottom. Do you have something that will let you debug the HTTP traffic? That might help you see what's going on for sure. On 11/14/06, Robin Ericsson [EMAIL PROTECTED] wrote: On 11/12/06, Robin Ericsson [EMAIL PROTECTED] wrote: Thanks to James again :), I have a working solution that redirects after successful login. However, on Firefox it works like a charm, but on Safari it doesn't work as it seems it doesn't process cookies or something the same way. Maybe I should take this to Acegi directly instead? -- regards, Robin - 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: OGNL Notation for accessing List Element
Thank you for the tip. the second version (page.getName('titi') works. I find it odd though that official OGNL notation does not work. Cheers, Micha Bill Holloway wrote: Use parentheses rather than square brackets: ognl:getName('titi') OR (if that doesn't do it), ognl:page.getName('titi') Cheers, Bill On 11/8/06, Micha Roon [EMAIL PROTECTED] wrote: I have one page (Home.html) with its Class (Home.java) and in the class I have the two methods public String getName(String which){ return which;} public void setName(String which){return;} In the html I have just one tag for the test: jwcid=@Insert value=ognl:name['titi'] I have attached the error message that Tapestry gives me http://www.nabble.com/file/4033/errorMessage.htm errorMessage.htm Martin Strand-4 wrote: How does the code for that method look? it's supposed to look like this: public PropertyType getPropertyName(IndexType index) public void setPropertyName(IndexType index, PropertyType value) On Tue, 07 Nov 2006 13:41:10 +0100, Micha Roon wrote: I am trying to get at a specific element in a list that is return by a GET method in my page. I went to the OGNL home page and saw that the notation session.attribute[foo] will get the foo element of the attribute list ( http://www.ognl.org/2.6.9/Documentation/html/LanguageGuide/indexing.html see here ) I tried this notation in Tapestry and it told me back that it did not understand: Where did I go wrong? thanks for your help, Micha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/OGNL-Notation-for-accessing-List-Element-tf2588481.html#a7234561 Sent from the Tapestry - User mailing list archive at Nabble.com. -- Budgets are moral documents. -- Ann Richards - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/OGNL-Notation-for-accessing-List-Element-tf2588481.html#a7335452 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: [announce] BeanForm 0.5
Hi Daniel, We have just started to experiment with using the BeanForm on our current project and so far so good. Is there any way the change the labels for the form generated buttons, like the save and delete? I've tried overriding the bindings, similiar to way it's suggested for the input fields but I have been meet with no success. Also, I would like to be able to do it without wrapping the BeanForm in another form, unless that's the suggested way. Thanks, Walter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Declaring transient properties in page class
Remove get/setItem in your class, and add the following to your .page: property name=item/ Stephanos Piperoglou wrote: Noob question: I've been going over the documentation and trying things out and so far it seems that I have to declare abstract getters and setters in my page class for every transient page property, including the placeholders and index holders for loops, so for instance when I do span jwcid=@For source=ognl:collection value=ognl:item index=ognl:index.../span I need get/setItem and get/setIndex in my class. Being a recent convert from Struts where you can define page beans via JSP tags and considering most of the time I only need to access these properties from within the page itself for the purposes of iteration, I find this rather wasteful. Not to mention the fact that larger pages with a lot of @For loops tend to accumulate a lot of clutter. Is there no way around this? --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: tapestry-acegi questions
On 11/14/06, James Carman [EMAIL PROTECTED] wrote: Oh, sorry, Robin. I read your last email, but only through the thanks, I've got it working part. :-) I didn't see the questions at the bottom. Do you have something that will let you debug the HTTP traffic? That might help you see what's going on for sure. Hmm, no, never though of that, might be a good idea though. I'll see if I have time to try this today. -- regards, Robin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: ForBean issues
I also just used a list as source and the index attribute, it seems Tapestry updates the items in place during rewind, which is fine. But I don't understand how I can avoid the items being serialized into hidden fields if I choose this approach. try, setting the For-component's volatile parameter to true. That's about all the advice I can give you let's just hope someone who really knows let's us in on some collections in forms insight. Imo, using a custom SqueezeAdaptor works best (see the Wiki, tapernate or honeycomb for how to implement/use one). hth, Marcus - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [announce] BeanForm 0.5
Hi Walter, BeanForm uses message catalogs for the button labels, and as far as I can tell from some quick experimentation you cannot override these messages in your own application (surprising, actually). I've been getting a few button-related enhancement requests lately, so that may be the focus of the next release. If you have needs and suggestions, please post feature requests to the SF project page [1] and I'll see what I can do. In the meantime, yes, you will need to wrap the BeanForm in a Form :-) Take care, Daniel [1] http://sourceforge.net/tracker/?group_id=171323atid=857541 On 11/14/06, Walter Kelly [EMAIL PROTECTED] wrote: Hi Daniel, We have just started to experiment with using the BeanForm on our current project and so far so good. Is there any way the change the labels for the form generated buttons, like the save and delete? I've tried overriding the bindings, similiar to way it's suggested for the input fields but I have been meet with no success. Also, I would like to be able to do it without wrapping the BeanForm in another form, unless that's the suggested way. Thanks, Walter
Re: ForBean issues
Thanks so much for the response. I will try out the DefaultPrimaryKeyConverter and InvokeListener options. My comments inline - Anyway.. about your code: obviously, I can't tell you which is best. But I think you don't have to pass your items as a parameter to the listener method. Instead, the form fields (in this case, the collection) will be bound to an instance variable in your page object. Maybe you should drop that parameters attribute in the @Submit. But you have to make sure the list is not null during rewind, and has the right length, so you have to refill it before the rewind, and the values will be overwritten during rewind. I tried not passing them as parameter initially, but that didnt work. Setting the parameter was something that I guessed might work, but it doesnot. I have also made sure that the items object is not null during rewind phase by removing the if condition in pageBeginRender, but all it does is gives me the same items without change to any values. On a side note, actually it might turn out be a overhead in large pages if I have to run the query again just for the rewind phase. Moreover, the collection is serialised and is available from the form, isnt it? Shouldnt it be deserialized? I have another observation to add. I have a method that returns the PropertySelectionModel for each item depending on the item. This is required for the dropdowns for each item. The dropdown values depend on the item. During the rewind phase this method gets called and I get proper objects with proper values. But when the submit listener gets called I still get a null collection or the old collection. Is there any other method like say renderComponent of the page that I have to implement? The listener method that is called will be the one referenced in the @Submit component. In your case, the one referenced in the @Form is never called, I think. So you might want to lose on of those two, to avoid confusion. Actually, both the listeners get called. The form listener gets invoked last. I have both the listeners just as an experiment to see if I get a non-null proper collection in any listener at all. Thank you very much for the advice. Will continue trying and see where this goes. Its just that I am running out of time. Regards, Srini.
RE: tapestry live grid functionality announcement
I gave up on hosting elsewhere. I host from my house. Cavtel dsl gives static ip's and decent uplink speed. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sam Gendler Sent: Monday, November 13, 2006 5:55 PM To: Tapestry users Subject:Re: tapestry live grid functionality announcement On 11/13/06, Payne, Matthew [EMAIL PROTECTED] wrote: Need link to online demo :) I'm working on it. Anyone know a good servlet hosting company? --sam - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message, including any attachments, is intended only for the recipient(s) named above. It may contain confidential and privileged information. If you have received this communication in error, please notify the sender immediately and destroy or delete the original message. Also, please be aware that if you are not the intended recipient, any review, disclosure, copying, distribution or any action or reliance based on this message is prohibited by law. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry live grid functionality announcement
The term good could really mean a ton of different things, but I've found the virtual server support from http://startlogic.com/ to be acceptable enough for me to run all the demo apps on opencomponentry.com. (The cost was very low as well, but I paid for a year chunk at once) On 11/14/06, Payne, Matthew [EMAIL PROTECTED] wrote: I gave up on hosting elsewhere. I host from my house. Cavtel dsl gives static ip's and decent uplink speed. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sam Gendler Sent: Monday, November 13, 2006 5:55 PM To: Tapestry users Subject:Re: tapestry live grid functionality announcement On 11/13/06, Payne, Matthew [EMAIL PROTECTED] wrote: Need link to online demo :) I'm working on it. Anyone know a good servlet hosting company? --sam - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message, including any attachments, is intended only for the recipient(s) named above. It may contain confidential and privileged information. If you have received this communication in error, please notify the sender immediately and destroy or delete the original message. Also, please be aware that if you are not the intended recipient, any review, disclosure, copying, distribution or any action or reliance based on this message is prohibited by law. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
interesting... my firebug doesnt show the path to the image (nor does it even say its requested it) in either the known-to-work version that comes back when i remove the dojoSource/dojoPath params or in my custom build ) However, I moused over oen fo the images and viewed the properties for the image (that is, i do have a blank square that acts as an image where the image should be) and the source is: http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png i went ot that url and got: The image http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png; cannot be displayed, because it contains errors. Anyway, thanks for your prompt reply, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
I... dont see any errors in the logs... and that would be kind of weird because the images in my own custom widgets load just fine... And in fact it would be kind of weird if only because the images in the default dojo distro (the one in the jars themselves) load just fine.. Thanks, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Contains Errors ? Does your server show any errors? Is it possible that jetty or tomcat are deciding to interfere with the images as well? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: interesting... my firebug doesnt show the path to the image (nor does it even say its requested it) in either the known-to-work version that comes back when i remove the dojoSource/dojoPath params or in my custom build ) However, I moused over oen fo the images and viewed the properties for the image (that is, i do have a blank square that acts as an image where the image should be) and the source is: http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png i went ot that url and got: The image http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png cannot be displayed, because it contains errors. Anyway, thanks for your prompt reply, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
HmmI wonder what would happen if you renamed your rrl_dojo_04 directory to dojo ? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: I... dont see any errors in the logs... and that would be kind of weird because the images in my own custom widgets load just fine... And in fact it would be kind of weird if only because the images in the default dojo distro (the one in the jars themselves) load just fine.. Thanks, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Contains Errors ? Does your server show any errors? Is it possible that jetty or tomcat are deciding to interfere with the images as well? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: interesting... my firebug doesnt show the path to the image (nor does it even say its requested it) in either the known-to-work version that comes back when i remove the dojoSource/dojoPath params or in my custom build ) However, I moused over oen fo the images and viewed the properties for the image (that is, i do have a blank square that acts as an image where the image should be) and the source is: http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png i went ot that url and got: The image http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png cannot be displayed, because it contains errors. Anyway, thanks for your prompt reply, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
Thats an idea! .. lemme give it a go and ill get back to you... Thanks, josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: HmmI wonder what would happen if you renamed your rrl_dojo_04 directory to dojo ? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: I... dont see any errors in the logs... and that would be kind of weird because the images in my own custom widgets load just fine... And in fact it would be kind of weird if only because the images in the default dojo distro (the one in the jars themselves) load just fine.. Thanks, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Contains Errors ? Does your server show any errors? Is it possible that jetty or tomcat are deciding to interfere with the images as well? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: interesting... my firebug doesnt show the path to the image (nor does it even say its requested it) in either the known-to-work version that comes back when i remove the dojoSource/dojoPath params or in my custom build ) However, I moused over oen fo the images and viewed the properties for the image (that is, i do have a blank square that acts as an image where the image should be) and the source is: http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png i went ot that url and got: The image http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png cannot be displayed, because it contains errors. Anyway, thanks for your prompt reply, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
I think... that the original dojo/ in the tapestry jar is shadowing mine and so now whether i use dojoSource = .. and dojoPath or not, the same 204k dojo.js is loaded. (this despite a few cache clearings) Anyway, that's a no-go.. Thanks, Josh On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Thats an idea! .. lemme give it a go and ill get back to you... Thanks, josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: HmmI wonder what would happen if you renamed your rrl_dojo_04 directory to dojo ? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: I... dont see any errors in the logs... and that would be kind of weird because the images in my own custom widgets load just fine... And in fact it would be kind of weird if only because the images in the default dojo distro (the one in the jars themselves) load just fine.. Thanks, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Contains Errors ? Does your server show any errors? Is it possible that jetty or tomcat are deciding to interfere with the images as well? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: interesting... my firebug doesnt show the path to the image (nor does it even say its requested it) in either the known-to-work version that comes back when i remove the dojoSource/dojoPath params or in my custom build ) However, I moused over oen fo the images and viewed the properties for the image (that is, i do have a blank square that acts as an image where the image should be) and the source is: http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png i went ot that url and got: The image http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png cannot be displayed, because it contains errors. Anyway, thanks for your prompt reply, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: ForBean issues
Hey what I do is the following: 1. You have to initialize the collection somewhere. Yes, pageBeginRender is ok ( well, sorry for the tapestry gurus, but I have also done it that way ). And dont have to initialize it in the rewind phase. 2. What I do is to hide the collection in the form. Oh, what I did sometime was to persist the collection property ( tap 3) but now I prefer to do this. Items in the collection should implement serializable interface. In your code I would do: form jwcid=[EMAIL PROTECTED] listener=listener:saveFormHistory span jwcid=@Hidden value=ognl:items/ ... tr jwcid=@For source=ognl:items value=ognl:item element=tr tdspan jwcid=@Insert value=ognl:item.question.textQuestion Text/span/td tdinput jwcid=@TextField value=ognl:item.answerText//td /tr 3. I dont pass parameters to the submit method, I think you dont need it. 4. With this, in the submit or in the form listener you should have access to the updated collection. Tell me if this works for you. Gabriel H. Lozano M. On 11/14/06, Srinivas Yermal [EMAIL PROTECTED] wrote: Thanks so much for the response. I will try out the DefaultPrimaryKeyConverter and InvokeListener options. My comments inline - Anyway.. about your code: obviously, I can't tell you which is best. But I think you don't have to pass your items as a parameter to the listener method. Instead, the form fields (in this case, the collection) will be bound to an instance variable in your page object. Maybe you should drop that parameters attribute in the @Submit. But you have to make sure the list is not null during rewind, and has the right length, so you have to refill it before the rewind, and the values will be overwritten during rewind. I tried not passing them as parameter initially, but that didnt work. Setting the parameter was something that I guessed might work, but it doesnot. I have also made sure that the items object is not null during rewind phase by removing the if condition in pageBeginRender, but all it does is gives me the same items without change to any values. On a side note, actually it might turn out be a overhead in large pages if I have to run the query again just for the rewind phase. Moreover, the collection is serialised and is available from the form, isnt it? Shouldnt it be deserialized? I have another observation to add. I have a method that returns the PropertySelectionModel for each item depending on the item. This is required for the dropdowns for each item. The dropdown values depend on the item. During the rewind phase this method gets called and I get proper objects with proper values. But when the submit listener gets called I still get a null collection or the old collection. Is there any other method like say renderComponent of the page that I have to implement? The listener method that is called will be the one referenced in the @Submit component. In your case, the one referenced in the @Form is never called, I think. So you might want to lose on of those two, to avoid confusion. Actually, both the listeners get called. The form listener gets invoked last. I have both the listeners just as an experiment to see if I get a non-null proper collection in any listener at all. Thank you very much for the advice. Will continue trying and see where this goes. Its just that I am running out of time. Regards, Srini.
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
That doesn't sound like much fun. Sorry :/ p.s. i'm working on it now so it'll likely be fixed today or tomorrow On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: I think... that the original dojo/ in the tapestry jar is shadowing mine and so now whether i use dojoSource = .. and dojoPath or not, the same 204k dojo.js is loaded. (this despite a few cache clearings) Anyway, that's a no-go.. Thanks, Josh On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Thats an idea! .. lemme give it a go and ill get back to you... Thanks, josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: HmmI wonder what would happen if you renamed your rrl_dojo_04 directory to dojo ? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: I... dont see any errors in the logs... and that would be kind of weird because the images in my own custom widgets load just fine... And in fact it would be kind of weird if only because the images in the default dojo distro (the one in the jars themselves) load just fine.. Thanks, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Contains Errors ? Does your server show any errors? Is it possible that jetty or tomcat are deciding to interfere with the images as well? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: interesting... my firebug doesnt show the path to the image (nor does it even say its requested it) in either the known-to-work version that comes back when i remove the dojoSource/dojoPath params or in my custom build ) However, I moused over oen fo the images and viewed the properties for the image (that is, i do have a blank square that acts as an image where the image should be) and the source is: http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png i went ot that url and got: The image http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png cannot be displayed, because it contains errors. Anyway, thanks for your prompt reply, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that.i
Almost done, just a couple things to fix up on the dojo side first. (probably the part that will take the longest) On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: That doesn't sound like much fun. Sorry :/ p.s. i'm working on it now so it'll likely be fixed today or tomorrow On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: I think... that the original dojo/ in the tapestry jar is shadowing mine and so now whether i use dojoSource = .. and dojoPath or not, the same 204k dojo.js is loaded. (this despite a few cache clearings) Anyway, that's a no-go.. Thanks, Josh On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Thats an idea! .. lemme give it a go and ill get back to you... Thanks, josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: HmmI wonder what would happen if you renamed your rrl_dojo_04 directory to dojo ? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: I... dont see any errors in the logs... and that would be kind of weird because the images in my own custom widgets load just fine... And in fact it would be kind of weird if only because the images in the default dojo distro (the one in the jars themselves) load just fine.. Thanks, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Contains Errors ? Does your server show any errors? Is it possible that jetty or tomcat are deciding to interfere with the images as well? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: interesting... my firebug doesnt show the path to the image (nor does it even say its requested it) in either the known-to-work version that comes back when i remove the dojoSource/dojoPath params or in my custom build ) However, I moused over oen fo the images and viewed the properties for the image (that is, i do have a blank square that acts as an image where the image should be) and the source is: http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png i went ot that url and got: The image http://192.168.2.107:8080/view/assets/static/rrl_dojo_04/src/widget/templates/images/combo_box_arrow.png cannot be displayed, because it contains errors. Anyway, thanks for your prompt reply, Josh On 11/14/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Do you have FireBug installed? (or fiddler for ie) Can you track the url request for one of these images that aren't showing up and paste it into your location bar to hit it directly and tell me what happens? On 11/14/06, Josh Long [EMAIL PROTECTED] wrote: Images aren't showing up if I create my own dojo build and then instruct tapestry to use that buidl. Everything else seems to work fine, but the images for, say, the autocompleter dont show up. I'm not sure if this is a dojo or a tapestry question. Any help would be appreciated. Josh -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com