Re: Checking if user has left the page or refreshed it
I think you can use pageReset event to clear the checkboxes. It is called when user come from another page. This is copy paste from http://blog.tapestry5.de/index.php/2010/08/11/tapestry-5-2-preview/ A page is reset when the page is accessed from another page; component event links and page render links that target the same page do not cause a reset, but linking from one page to another will cause a reset on the destination page when it is rendered. The reset lifecycle event occurs after page activation, allowing the page to reset its internal state to the match its activation context. Note that on pages that have such reset logic will have an additional query parameter added to the page render URL in some cases. Best regards, Yohan Yudanara On Tue, Mar 5, 2013 at 4:42 AM, bhorvat horvat.z.bo...@gmail.com wrote: Is there any way to check if the user has just refreshed a page (in this case I would like to keep all of the fields persistent) or if it has come to the page from some other place (in this case I want to have a clear start). Basically I have some checkboxes that I want to keep in memory what has been selected. Once a user submits a form/or simple refreshes something I dont want to clear the checkboxes but if it come from a different page I want to have them cleared. I am aware of the methods like onPasivate and onActivate but can I somehow distinguish between those 2 events. Cheers -- View this message in context: http://tapestry.1045711.n5.nabble.com/Checking-if-user-has-left-the-page-or-refreshed-it-tp5720332.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
messages.get always use default localization on onValidate and onSuccess ?
Hi.. I'm using T 5.3.4, @Inject private Messages messages; messages.get(key) return string from correct local properties file when called from setupRender and afterRender. But, why messages.get(key) always return string from default local properties when called from onValidate and onSuccess ? Am I doing something wrong or is this the expected behavior ? Thanks in advance...
Re: messages.get always use default localization on onValidate and onSuccess ?
Hi.. Thank a lot for your reply. Tapestry is great and powerful framework.. I've resolved my problem. The weird behavior caused by my mistake to set ThreadLocale instead of PersistentLocale, when I set locale programatically. I also incorrectly override LocalizationSetter service, which cause weird behaviour. Now everything works fine.. Best regards, Yohan Yudanara On Thu, Sep 6, 2012 at 9:32 PM, Howard Lewis Ship hls...@gmail.com wrote: I suspect your issue is not what you expect. The same Messages instance is used in all cases, regardless of what method it is invoked from. I'm sure it's an issue of what keys you are accessing, and what .properties file contains each key/value pair. People often seem to get confused, thinking that the search path for a component includes the containing page/component's catalog. It does not. On Thu, Sep 6, 2012 at 6:34 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi.. I'm using T 5.3.4, @Inject private Messages messages; messages.get(key) return string from correct local properties file when called from setupRender and afterRender. But, why messages.get(key) always return string from default local properties when called from onValidate and onSuccess ? Am I doing something wrong or is this the expected behavior ? Thanks in advance... -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Redirect After Post goes to wrong https port
Hi.. I'm running tapestry on jetty using port 8080. I also have httpd in front of jetty which use SSL port 8443. I'm using mod proxy to pass SSL request on port 8443 into jetty. If I type page url on browser address bar, everything is fine. Pagelink component also works fine. But when I submit form, it looks like the redirect after post on tapestry always redirect to standard https port (443). Is there a way to configure tapestry https port? Thanks...
Re: Disable X-Tapestry-ErrorMessage on response header
Hi.. I've found the solution.. 1. create class ExceptionReport which implements ExceptionReporter 2. override method reportException(Throwable exception) and set the response header to null: response.setHeader(X-Tapestry-ErrorMessage, null); Hope it helps someone who looking for the same thing.. Thanks.. #waitingforIgorbook :) On Tue, Jun 26, 2012 at 12:47 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi.. Is there a way to disable X-Tapestry-ErrorMessage on response header? I need to disable it on production mode because it gives too detail explanation which is good for development.. Thanks.. Best regards, Yohan Yudanara
how to add onClose event on tapx-datefield
Hi.. I'm using T 5.3.2 and tapx-datefield 1.2-SNAPSHOT. I'm looking for a way to set focus on inputfield after tapx-calendar closed (after user pick a date). After reading the source code, I've found that calendar-setup.js have onClose property. However, I'm having difficulties adding onClose event. Where should I put onClose ? How to add onClose into tapx-datefield.js without extracting the jar and repackage manually with modified tapx-datefield.js? Thanks.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [ANN] JumpStart upgraded to Tapestry 5.3.3
wow.. example for alert and tree component now available.. Thanks a lot.. On Fri, Apr 27, 2012 at 6:24 PM, Geoff Callender geoff.callender.jumpst...@gmail.com wrote: Hi all, Yep, it's in the usual place: http://jumpstart.doublenegative.com.au/jumpstart/ Cheers, Geoff - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Tapx website is down ?
Hi, I've tried to access Tapestry Tapx website on http://tapestry.formos.com/projects/tapx/ since yesterday, but it's down. Is it moved to another site? Thanks in advance.. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapx website is down ?
ok.. thanks a lot.. btw, link to tapx on tapestry homepage http://tapestry.apache.org/ still points to tapestry formos website. On Wed, Mar 14, 2012 at 10:18 AM, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Wed, 14 Mar 2012 00:04:44 -0300, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, Hi! I've tried to access Tapestry Tapx website on http://tapestry.formos.com/projects/tapx/ since yesterday, but it's down. Is it moved to another site? http://tapestry.1045711.n5.nabble.com/Tapx-repository-td3347129.html -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Problem with tapestry-yuicompressor in Tomcat
Hi.. I'm sorry to waking an old thread. This outstanding bug with title Sometimes YUICompressor can fail with java.util.EmptyStackException, which has blocker severity, has been filed in JIRA since 26 Oct 2011. This is the link: https://issues.apache.org/jira/browse/TAP5-1729 I don't understand this bug, because I haven't experience it. But I want to ask: If we're using Tapestry 5.3.2 production-mode in Apache Tomcat 7.0, do we have to remove tapestry-yuicompressor from our pom.xml, to avoid this intermittent bug? Or is it safe enough to ignore this bug ? Thanks.. Best regards, Yohan Yudanara On Fri, Mar 2, 2012 at 4:51 AM, Paul Stanton p...@mapshed.com.au wrote: I found a solution too: !-- dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-yuicompressor/artifactId version${tapestry-release-version}/version /dependency -- ;) On 2/03/2012 1:34 AM, antalk wrote: I had the same issue and found a solution: https://issues.apache.org/jira/browse/TAP5-1729?focusedCommentId=13220036page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13220036 -- View this message in context: http://tapestry.1045711.n5.nabble.com/Problem-with-tapestry-yuicompressor-in-Tomcat-tp4921500p5528011.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 - 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
Re: How to add t:alerts component to all pages
Thanks a lot. Now I've put alert component on layout page. On Fri, Feb 3, 2012 at 3:47 PM, Lance Java lance.j...@googlemail.com wrote: If you use a layout component for all of your pages you could simply add the t:alerts to the layout http://tapestry.apache.org/layout-component.html -- Forwarded message -- From: Yohan Yudanara Date: Friday, 3 February 2012 Subject: How to add t:alerts component to all pages To: Tapestry users users@tapestry.apache.org Hi, I want to add T5.3 t:alerts component to all of my pages. Is there any other way to do this, instead of copy pasting to all pages? From Taha's guide, I know that ComponentClassTransformWorker2 can be used to automatically add mixins. Is it possible to do something like that to add t:alerts component to all pages? Thanks in advance.. Best regards, Yohan Yudanara - 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
How to add t:alerts component to all pages
Hi, I want to add T5.3 t:alerts component to all of my pages. Is there any other way to do this, instead of copy pasting to all pages? From Taha's guide, I know that ComponentClassTransformWorker2 can be used to automatically add mixins. Is it possible to do something like that to add t:alerts component to all pages? Thanks in advance.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Adding common logic to all of onSuccess method / successful form submit
Hi, I need to add some common logic (persist data into session) to all onSuccess method on all pages. Does anyone have a clue how to implement this? Is there any better way to do this instead of copy-pasting to all of onSuccess method? I've tried to subclass submit / form component, but I can't find a way to insert common logic when the form submitted successfully. Thanks in advance. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Adding common logic to all of onSuccess method / successful form submit
wow... thanks a lot.. :) Your blog is awesome. It covers topic for intermediate/advanced Tapestry users. At first, it's rather hard to understand..., but finally I can understand about the topic and it's awesome... :) I've successfully implement common logic to all onSuccess method using this code: public class SubmitWorker implements ComponentClassTransformWorker2 { @Override public void transform(PlasticClass plasticClass, TransformationSupport support, MutableComponentModel model) { if (!plasticClass.getClassName().startsWith(com.blabla.pages.)) return; for (PlasticMethod method : plasticClass.getMethods()) { if (method.getMethodIdentifier().endsWith(onSuccess())) { method.addAdvice(new CommonOnSuccessAdvice()); } } } private class CommonOnSuccessAdvice implements MethodAdvice { @Override public void advise(MethodInvocation invocation) { //put common logic here //bla bla bla invocation.proceed(); } } } and put this on AppModule.java: @Contribute(ComponentClassTransformWorker2.class) public static void provideWorkers(OrderedConfigurationComponentClassTransformWorker2 workers) { workers.addInstance(SubmitWorker, SubmitWorker.class); } Thanks a lot... On Fri, Feb 3, 2012 at 10:39 AM, Taha Hafeez Siddiqi tawus.tapes...@gmail.com wrote: Hi Yohan It must be your lucky day. I just added a blog post related to this http://tawus.wordpress.com/2012/02/03/some-reporting-tricks-with-class-transformations/ regards Taha On Feb 3, 2012, at 8:48 AM, Lenny Primak wrote: I think method advice is your ticket here. Search tapestry docs for it. On Feb 2, 2012, at 10:14 PM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, I need to add some common logic (persist data into session) to all onSuccess method on all pages. Does anyone have a clue how to implement this? Is there any better way to do this instead of copy-pasting to all of onSuccess method? I've tried to subclass submit / form component, but I can't find a way to insert common logic when the form submitted successfully. Thanks in advance. Best regards, Yohan Yudanara - 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
Re: How to automatically add mixins to all t:submit
Thank you very much, Taha and Dragan. You make me save a lot of time... On Wed, Feb 1, 2012 at 5:14 PM, Dragan Sahpaski dragan.sahpa...@gmail.com wrote: Hi, There is one more solution to your problem. I'm not saying it's better than Taha's on the contrary I recommend Taha's approach, this solution is more of a hack but it works and I have used it. Here it is. Just create a component in your app with the same name: Submit. public class Submit extends org.apache.tapestry5.corelib.components.Submit { @Mixin private DisableAfterSubmit disableAfterSubmit; } Cheers, Dragan Sahpaski On Wed, Feb 1, 2012 at 3:10 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi, I'm planning to use Lenny Primak - Flowlogix's DisableAfterSubmit mixins to all of my submit component. It works great to prevent double submit. Please give me a clue how to accomplish this, instead of having to copy paste mixins=DisableAfterSubmit to all of submit components on so many pages? Thank you.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: How to set minLength validation value dynamically?
I've found the solution :) On template file: t:textfield t:id=fname t:value=name t:validate=prop:fieldValidator/ On page class: @InjectComponent private TextField fname; @Inject private FieldValidatorSource source; public FieldValidator getFieldValidator() { FieldValidator fv = source.createValidators(fname, required, minLength=5); return fv; } On Thu, Feb 2, 2012 at 10:36 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, Can we set minLength validation value dynamically when the page render ? I've tried this: t:textfield t:value=name t:validate=required, minlength=${minLength}/ but it doesn't work. It throws exception: Failure reading parameter 'validate' of component TestPage:textfield: Could not find a coercion from type java.lang.String to type org.apache.tapestry5.FieldValidator Thanks in advance.. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
How to automatically add mixins to all t:submit
Hi, I'm planning to use Lenny Primak - Flowlogix's DisableAfterSubmit mixins to all of my submit component. It works great to prevent double submit. Please give me a clue how to accomplish this, instead of having to copy paste mixins=DisableAfterSubmit to all of submit components on so many pages? Thank you.. Best regards, Yohan Yudanara
Re: How to automatically add mixins to all t:submit
Currently my project already have use standard Submit components in all of its pages. And there are so many pages.. :) So I'm looking for an 'automatic' way to add mixins to existing standard submit components on my project. Thanks.. Best regards, Yohan Yudanara On Wed, Feb 1, 2012 at 9:15 AM, Robert Zeigler robert.zeig...@roxanemy.comwrote: Why don't you create a custom submit component that uses the mixin? Then just use your custom component anywhere the standard submit would otherwise be used? Robert On Jan 31, 2012, at 1/318:10 PM , Yohan Yudanara wrote: Hi, I'm planning to use Lenny Primak - Flowlogix's DisableAfterSubmit mixins to all of my submit component. It works great to prevent double submit. Please give me a clue how to accomplish this, instead of having to copy paste mixins=DisableAfterSubmit to all of submit components on so many pages? Thank you.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: prevent multiple form submits
I'm sorry to resurrect this thread :) I've tried DisableAfterSubmit with Tapestry 5.3.1, it works great. But the client side validation is not working. It seems client side validation is not triggered at all when I'm using DisableAfterSubmit mixins. Did you also having the same experience ? or did the client validation supposed to work? Thanks in advance... On Tue, Nov 22, 2011 at 5:59 AM, Lenny Primak lpri...@hope.nyc.ny.uswrote: I just did a quick test with form/zone/clientValidations and the mixin works correctly. On Nov 21, 2011, at 5:45 PM, Lenny Primak wrote: I see... I actually never tried forms with client-side validation with the mixin. If it doesn't work, please feel free to submit an issue, even better a patch with tests, if required. On Nov 21, 2011, at 5:15 PM, hongdengdao wrote: sorry , still confused, in your code , you bind click event , but when it's a link submit , you click it , if has a client validation error , it will still submit? thanks for you patient. On 2011年11月22日 06:02, Lenny Primak wrote: It's _after_ submit. It doesn't have to do anything with validation. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: prevent multiple form submits
Thank you for your fast reply :) First, I want to say sorry because I'm copy pasting your DisableAfterSubmit.java and DisableAfterSubmit.js. When I was trying to use whole flowlogix library, I have difficulties fix my pom.xml because many dependencies required by flowlogix when I run mvn jetty:run. Ok, back to the topic.. :) Yup, the popup validation is not showing up when I clicked submit button. The popup only shown when I move away from text field. I've try with simple page: t:form t:errors/ Input Name: t:textfield t:value=name t:validate=required/br/ t:submit t:mixins=DisableAfterSubmit/ /t:form And this is the page class: public class TestPage { @Property private String name; void onValidateFromForm() { System.out.println(ONVALIDATE TRIGGERED); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } } When I use mixins, the client validation / popup is shown when I move away from textfield, but the popup doesn't show when I clicked submit button: t:submit t:mixins=DisableAfterSubmit/ When I remove the mixins, the client validation works when I clicked submit button. t:submit / Thanks in advance.. Best regards, Yohan Yudanara On Sat, Jan 28, 2012 at 3:25 AM, Lenny Primak lpri...@hope.nyc.ny.uswrote: As I said before i never did extensive tests with client validation, but it should work. What exactly isn't working? Are the popups not showing up? Is it working differently if the mixin isn't there? Can you post your template / code? And if you really think this is a bug feel free to open an issue against it as well. On Jan 27, 2012, at 10:10 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: I'm sorry to resurrect this thread :) I've tried DisableAfterSubmit with Tapestry 5.3.1, it works great. But the client side validation is not working. It seems client side validation is not triggered at all when I'm using DisableAfterSubmit mixins. Did you also having the same experience ? or did the client validation supposed to work? Thanks in advance... On Tue, Nov 22, 2011 at 5:59 AM, Lenny Primak lpri...@hope.nyc.ny.us wrote: I just did a quick test with form/zone/clientValidations and the mixin works correctly. On Nov 21, 2011, at 5:45 PM, Lenny Primak wrote: I see... I actually never tried forms with client-side validation with the mixin. If it doesn't work, please feel free to submit an issue, even better a patch with tests, if required. On Nov 21, 2011, at 5:15 PM, hongdengdao wrote: sorry , still confused, in your code , you bind click event , but when it's a link submit , you click it , if has a client validation error , it will still submit? thanks for you patient. On 2011年11月22日 06:02, Lenny Primak wrote: It's _after_ submit. It doesn't have to do anything with validation. - 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
Re: [tynamo-user] Re: tapestry-resteasy 0.3.0 snapshot stable enough?
Hi.. Sorry for the late reply. I've tried using tapestry-resteasy 0.3.0-SNAPSHOT with tapestry 5.3.1. But I've got problem now. When I'm accessing All of my REST URL, I've got this exception: 26 Jan 2012 08:33:26,965 [WARN] core.SynchronousDispatcher Failed executing GET /authentication/challenge org.jboss.resteasy.spi.ReaderException: org.jboss.resteasy.core.ExceptionAdapter: : null at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:202) at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:123) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:146) at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) at org.tynamo.resteasy.ResteasyRequestFilter.service(ResteasyRequestFilter.java:96) at $HttpServletRequestFilter_2a4551aa48d.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_2a4551aa48e.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa48c.service(Unknown Source) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171) I've moved the @Path, @Get, and @Produces annotation to interface. Do you have any clue about this problem? Previously, my rest web service working smooth with T 5.2.6 and tapestry-resteasy 0.2.1 Thanks in advance.. Best regards, Yohan Yudanara On Mon, Jan 16, 2012 at 4:18 PM, Alejandro Scandroli ascandr...@codehaus.org wrote: Hi Yohan When does tapestry-resteasy 0.3.0 will be released? It will be released in a couple of weeks. I just want to add a new Symbol to avoid scanning the .rest package if you don't need to. Is it stable enough to use it? I think it is but I just recently started to test it in one of my projects. There is almost no new code in it, only dependency upgrades. I want to upgrade because I need to use resteasy-jaxrs-2.3.0.GA, instead of resteasy-jaxrs-2.0.1.GA Please try it out, give it a shot and let me know if you find any issues. BTW, are you also going to upgrade to Tapestry 5.3? Thank you... Cheers. Alejandro. - To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
Re: [tynamo-user] Re: tapestry-resteasy 0.3.0 snapshot stable enough?
When I'm using tapestry 5.3.1 with tapestry-resteasy 5.2.1, I also get similar exception: org.jboss.resteasy.spi.BadRequestException: content-type was null and expecting to extract a body into public abstract java.lang.String MyAuthentication.requestChallenge(java.lang.Long,java.lang.String) at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:131) at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:114) my rest services is not on autodiscovery package. On Thu, Jan 26, 2012 at 8:56 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi.. Sorry for the late reply. I've tried using tapestry-resteasy 0.3.0-SNAPSHOT with tapestry 5.3.1. But I've got problem now. When I'm accessing All of my REST URL, I've got this exception: 26 Jan 2012 08:33:26,965 [WARN] core.SynchronousDispatcher Failed executing GET /authentication/challenge org.jboss.resteasy.spi.ReaderException: org.jboss.resteasy.core.ExceptionAdapter: : null at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:202) at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:123) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:146) at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) at org.tynamo.resteasy.ResteasyRequestFilter.service(ResteasyRequestFilter.java:96) at $HttpServletRequestFilter_2a4551aa48d.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_2a4551aa48e.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa48c.service(Unknown Source) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171) I've moved the @Path, @Get, and @Produces annotation to interface. Do you have any clue about this problem? Previously, my rest web service working smooth with T 5.2.6 and tapestry-resteasy 0.2.1 Thanks in advance.. Best regards, Yohan Yudanara On Mon, Jan 16, 2012 at 4:18 PM, Alejandro Scandroli ascandr...@codehaus.org wrote: Hi Yohan When does tapestry-resteasy 0.3.0 will be released? It will be released in a couple of weeks. I just want to add a new Symbol to avoid scanning the .rest package if you don't need to. Is it stable enough to use it? I think it is but I just recently started to test it in one of my projects. There is almost no new code in it, only dependency upgrades. I want to upgrade because I need to use resteasy-jaxrs-2.3.0.GA, instead of resteasy-jaxrs-2.0.1.GA Please try it out, give it a shot and let me know if you find any issues. BTW, are you also going to upgrade to Tapestry 5.3? Thank you... Cheers. Alejandro. - To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
Re: [tynamo-user] Re: tapestry-resteasy 0.3.0 snapshot stable enough?
This error happens when I'm moving @GET, @Produces, @Path annotations from service implementation to service interface. I've tried using tapestry-resteasy 0.2.1 and tapestry 5.2.6 with annotations on service interface, and then the same error happened. When I move the annotations to service implementation, everything went right. I'm using Tapestry 5.3, so I need to move the annotations to service interface as described on http://docs.codehaus.org/display/TYNAMO/tapestry-resteasy+guide. Do you know how to overcome this problem? Thanks in advance. Best regards, Yohan Yudanara On Thu, Jan 26, 2012 at 10:54 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: When I'm using tapestry 5.3.1 with tapestry-resteasy 5.2.1, I also get similar exception: org.jboss.resteasy.spi.BadRequestException: content-type was null and expecting to extract a body into public abstract java.lang.String MyAuthentication.requestChallenge(java.lang.Long,java.lang.String) at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:131) at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:114) my rest services is not on autodiscovery package. On Thu, Jan 26, 2012 at 8:56 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi.. Sorry for the late reply. I've tried using tapestry-resteasy 0.3.0-SNAPSHOT with tapestry 5.3.1. But I've got problem now. When I'm accessing All of my REST URL, I've got this exception: 26 Jan 2012 08:33:26,965 [WARN] core.SynchronousDispatcher Failed executing GET /authentication/challenge org.jboss.resteasy.spi.ReaderException: org.jboss.resteasy.core.ExceptionAdapter: : null at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:202) at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:123) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:146) at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) at org.tynamo.resteasy.ResteasyRequestFilter.service(ResteasyRequestFilter.java:96) at $HttpServletRequestFilter_2a4551aa48d.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_2a4551aa48e.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa48c.service(Unknown Source) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171) I've moved the @Path, @Get, and @Produces annotation to interface. Do you have any clue about this problem? Previously, my rest web service working smooth with T 5.2.6 and tapestry-resteasy 0.2.1 Thanks in advance.. Best regards, Yohan Yudanara On Mon, Jan 16, 2012 at 4:18 PM, Alejandro Scandroli ascandr...@codehaus.org wrote: Hi Yohan When does tapestry-resteasy 0.3.0 will be released? It will be released in a couple of weeks. I just want to add a new Symbol to avoid scanning the .rest package if you don't need to. Is it stable enough to use it? I think it is but I just recently started to test it in one of my projects. There is almost no new code in it, only dependency upgrades. I want to upgrade because I need to use resteasy-jaxrs-2.3.0.GA, instead of resteasy-jaxrs-2.0.1.GA Please try it out, give it a shot and let me know if you find any issues. BTW, are you also going to upgrade to Tapestry 5.3? Thank you... Cheers. Alejandro. - To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
Re: [tynamo-user] Re: tapestry-resteasy 0.3.0 snapshot stable enough?
After long investigation I realized that I forgot to move @QueryParam annotation to service interface.. :) Now everything works great with Tapestry 5.3.1 and tapestry-resteasy-0.3.0-SNAPSHOT :) On Thu, Jan 26, 2012 at 11:17 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: This error happens when I'm moving @GET, @Produces, @Path annotations from service implementation to service interface. I've tried using tapestry-resteasy 0.2.1 and tapestry 5.2.6 with annotations on service interface, and then the same error happened. When I move the annotations to service implementation, everything went right. I'm using Tapestry 5.3, so I need to move the annotations to service interface as described on http://docs.codehaus.org/display/TYNAMO/tapestry-resteasy+guide. Do you know how to overcome this problem? Thanks in advance. Best regards, Yohan Yudanara On Thu, Jan 26, 2012 at 10:54 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: When I'm using tapestry 5.3.1 with tapestry-resteasy 5.2.1, I also get similar exception: org.jboss.resteasy.spi.BadRequestException: content-type was null and expecting to extract a body into public abstract java.lang.String MyAuthentication.requestChallenge(java.lang.Long,java.lang.String) at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:131) at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:114) my rest services is not on autodiscovery package. On Thu, Jan 26, 2012 at 8:56 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi.. Sorry for the late reply. I've tried using tapestry-resteasy 0.3.0-SNAPSHOT with tapestry 5.3.1. But I've got problem now. When I'm accessing All of my REST URL, I've got this exception: 26 Jan 2012 08:33:26,965 [WARN] core.SynchronousDispatcher Failed executing GET /authentication/challenge org.jboss.resteasy.spi.ReaderException: org.jboss.resteasy.core.ExceptionAdapter: : null at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:202) at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:123) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:146) at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) at org.tynamo.resteasy.ResteasyRequestFilter.service(ResteasyRequestFilter.java:96) at $HttpServletRequestFilter_2a4551aa48d.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_2a4551aa48e.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852) at $HttpServletRequestHandler_2a4551aa492.service(Unknown Source) at $HttpServletRequestHandler_2a4551aa48c.service(Unknown Source) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171) I've moved the @Path, @Get, and @Produces annotation to interface. Do you have any clue about this problem? Previously, my rest web service working smooth with T 5.2.6 and tapestry-resteasy 0.2.1 Thanks in advance.. Best regards, Yohan Yudanara On Mon, Jan 16, 2012 at 4:18 PM, Alejandro Scandroli ascandr...@codehaus.org wrote: Hi Yohan When does tapestry-resteasy 0.3.0 will be released? It will be released in a couple of weeks. I just want to add a new Symbol to avoid scanning the .rest package if you don't need to. Is it stable enough to use it? I think it is but I just recently started to test it in one of my projects. There is almost no new code in it, only dependency upgrades. I want to upgrade because I need to use resteasy-jaxrs-2.3.0.GA, instead of resteasy-jaxrs-2.0.1.GA Please try it out, give it a shot and let me know if you find any issues. BTW, are you also going to upgrade to Tapestry 5.3? Thank you... Cheers. Alejandro. - To unsubscribe from this list, please visit: http://xircles.codehaus.org
tapestry-resteasy 0.3.0 snapshot stable enough?
Hi, When does tapestry-resteasy 0.3.0 will be released? Is it stable enough to use it? I want to upgrade because I need to use resteasy-jaxrs-2.3.0.GA, instead of resteasy-jaxrs-2.0.1.GA Thank you...
Re: tapestry-resteasy: How to Get IP Address on Resource Class
Hi, thank you very much for pointing me for using @Context. It's work... @PUT @Produces(MediaType.APPLICATION_JSON) @Path(doSomething) public String doSomething(@QueryParam(actionId) Long customerId, @Context HttpServletRequest request) { String ipAddress = request.getRemoteAddr(); } Best regards, Yohan Yudanara 2011/12/28 Bård Magnus Kvalheim mag...@kvalheim.eu Hi Yohan, Havent tried but you should be able to get it from @Context HttpServletRequest request http://docs.jboss.org/resteasy/docs/2.3.0.GA/userguide/html_single/index.html#_Context Think context injection works on resource method as well as members. Then use request.getRemoteAddr() Guess you could also use tapestry inject for getting httpservletrequest. Tip With resteasy you can register providers that can intercept all resource method invocations. That way you can handle logging from a single place. http://docs.jboss.org/resteasy/docs/2.3.0.GA/userguide/html_single/index.html#Interceptors Hope it helps Cheers and merry christmas Magnus On Tue, Dec 27, 2011 at 9:48 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, I want to ask a question about tapestry-resteasy library from tynamo ( www.tynamo.org) Is it possible to get client IP Address on tapestry-resteasy resource class? I need the IP address of incoming request for logging purpose. Thanks in advance Best regards, Yohan Yudanara
tapestry-resteasy: How to Get IP Address on Resource Class
Hi, I want to ask a question about tapestry-resteasy library from tynamo ( www.tynamo.org) Is it possible to get client IP Address on tapestry-resteasy resource class? I need the IP address of incoming request for logging purpose. Thanks in advance Best regards, Yohan Yudanara
How to invoke tapestry client side validation on one fields?
Hi, I want to ask a question: Client side validation by default works on blur event, but I've change the form property using clientValidation=submit, so that client side validation only triggered on submit. However, I want to trigger client side validation on one particular field to works on blur event. Is it possible to do that? Let's say I have this code: this.accountInput = $(fieldNeedOnBlurValidation); Event.observe(this.accountInput, 'blur', -- what should I put here to trigger client-side validation only on this field?); Thanks in advance..
Re: How to invoke tapestry client side validation on one fields?
Hi, I've found the answer :)..It's very simple... This is the answer: Event.observe($(' fieldNeedOnBlurValidation '), 'blur', function(event) { $('fieldNeedOnBlurValidation').getFieldEventManager().validateInput(); }); On Tue, Dec 20, 2011 at 12:22 PM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi, I want to ask a question: Client side validation by default works on blur event, but I've change the form property using clientValidation=submit, so that client side validation only triggered on submit. However, I want to trigger client side validation on one particular field to works on blur event. Is it possible to do that? Let's say I have this code: this.accountInput = $(fieldNeedOnBlurValidation); Event.observe(this.accountInput, 'blur', -- what should I put here to trigger client-side validation only on this field?); Thanks in advance..
Re: [ANN] JumpStart drops @Persist from Grid, Loop, and AjaxFormLoop examples!
Jumpstart is awesome. Thank you very much for providing your time to develop jumpstart. I think it's the most useful guide to Tapestry users. On Mon, Oct 17, 2011 at 4:19 PM, Geoff Callender geoff.callender.jumpst...@gmail.com wrote: Hi all, JumpStart's been updated to get rid of @Persist from these examples: - Editable Grid - Editable Loop - Grid with Delete Column - Loop with Delete Column - AjaxFormLoop Tailored and @Persist has almost been removed from this example: - AjaxFormLoop How was this possible? By using encoders better. The new JumpStart version is 5.4.20 and it is running in the usual place: http://jumpstart.doublenegative.com.au/jumpstart/ Cheers, Geoff
Re: running eclipse in production
Sorry, but the words *turns off* below should be *turns on*, right? Development mode will turn on live class reloading, right? CMIIW... On Tue, Oct 11, 2011 at 2:25 AM, Howard Lewis Ship hls...@gmail.com wrote: That would be a very silly idea, and not necessary. If you deploy an exploded WAR (with application class files and resources on the file system, not inside a WAR file) you can get hot swapping (but you'll need to run in development mode in 5.3, which* turns off* live class reloading in production).
Re: Form validate on submit event
Thanks for notifying me. I haven't knew it before... On Thu, Sep 8, 2011 at 1:55 PM, Steve Eynon steve.ey...@alienfactory.co.ukwrote: void onValidateForm() is deprecated in T5.2 and has been removed in T5.3, best to use onValidateFromForm() instead. I mention it 'cos I got bit by it upgrading some apps from T5.1 to T5.3. Steve.
Re: Form validate on submit event
server side or client-side validation? If server side, then you just need to create onValidateForm() method in your page class. If client side, then you can create regular input type=button onClick=blablabla() on .tml file. On blablabla() method you do the client-side validation and then submit the form. FYI, Tapestry already has many client-side validation. On Thu, Sep 8, 2011 at 9:06 AM, dick_hu dickan...@gmail.com wrote: tapesty has it's own submit way. Now I want do some validate when I click the submit button Is there any easy way to do it. Can AnyOne help me solve this problem,thanks a lot. -- View this message in context: http://tapestry.1045711.n5.nabble.com/Form-validate-on-submit-event-tp4780855p4780855.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
Re: cancel mode of submit component is not submit to server
Many thanks to Steve Eynon and Taha Hafeez for your valuable time helping me find a workaround. And many thanks to Josh Canfield who can point directly about mistake in my code. Yep, it's because my submit don't have id. So the conclusion is: If we want to use cancel mode submit, then we should give an id to the submit component. cancel mode is working after I change my template code to this: t:form t:id=form t:textfield t:id=testField t:value=testField t:validate=required / t:submit t:id=normalSubmit value=normal submit/ t:submit t:id=cancelSubmit mode=cancel value=cancel submit/ /t:form Thanks a lot for your help, guys.. You save my time a lot.. On Tue, Sep 6, 2011 at 8:15 PM, Josh Canfield joshcanfi...@gmail.comwrote: I believe the problem is that the id of your submit button is submit which overrides the form. submit() of the form. Try adding t:id=something to your submit button. I thought this was fixed, but just team into it myself last week. On Sep 5, 2011 9:13 PM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi.. I want to use submit button which can bypass client validation. Having read this documentation: http://tapestry.apache.org/current/tapestry-core/ref/org/apache/tapestry5/corelib/components/Submit.html , I was trying to use Submit component with mode=cancel like this: t:form t:id=form t:textfield t:id=testField t:value=testField t:validate=required / t:submit value=normal submit/ t:submit mode=cancel value=cancel submit/ /t:form But, when I click cancel submit, nothing happen (form is not submitted to server). If I click normal submit after cancel submit, the form is submitted to server without client validation. Why do I should click two buttons ( cancel and then normal submit) to bypass client validation? Is it a bug? Cancel submit supposed to directly submit form to server, isn't it? Is there a simple workaround for this? Thanks in advance, Best regards, Yohan Yudanara
Re: cancel mode of submit component is not submit to server
I've created https://issues.apache.org/jira/browse/TAP5-1632 for this defect. Thanks.. On Wed, Sep 7, 2011 at 3:36 AM, Josh Canfield joshcanfi...@gmail.comwrote: If we want to use cancel mode submit, then we should give an id to the submit component. This is a defect for sure. Submit should never create an id of submit. There was something filed at one point, but I haven't taken the time to track it down. If you want to file a new defect we can probably get it sorted before 5.3 is released. Thanks, Josh On Tue, Sep 6, 2011 at 7:27 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Many thanks to Steve Eynon and Taha Hafeez for your valuable time helping me find a workaround. And many thanks to Josh Canfield who can point directly about mistake in my code. Yep, it's because my submit don't have id. So the conclusion is: If we want to use cancel mode submit, then we should give an id to the submit component. cancel mode is working after I change my template code to this: t:form t:id=form t:textfield t:id=testField t:value=testField t:validate=required / t:submit t:id=normalSubmit value=normal submit/ t:submit t:id=cancelSubmit mode=cancel value=cancel submit/ /t:form Thanks a lot for your help, guys.. You save my time a lot.. On Tue, Sep 6, 2011 at 8:15 PM, Josh Canfield joshcanfi...@gmail.com wrote: I believe the problem is that the id of your submit button is submit which overrides the form. submit() of the form. Try adding t:id=something to your submit button. I thought this was fixed, but just team into it myself last week. On Sep 5, 2011 9:13 PM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi.. I want to use submit button which can bypass client validation. Having read this documentation: http://tapestry.apache.org/current/tapestry-core/ref/org/apache/tapestry5/corelib/components/Submit.html , I was trying to use Submit component with mode=cancel like this: t:form t:id=form t:textfield t:id=testField t:value=testField t:validate=required / t:submit value=normal submit/ t:submit mode=cancel value=cancel submit/ /t:form But, when I click cancel submit, nothing happen (form is not submitted to server). If I click normal submit after cancel submit, the form is submitted to server without client validation. Why do I should click two buttons ( cancel and then normal submit) to bypass client validation? Is it a bug? Cancel submit supposed to directly submit form to server, isn't it? Is there a simple workaround for this? Thanks in advance, Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
cancel mode of submit component is not submit to server
Hi.. I want to use submit button which can bypass client validation. Having read this documentation: http://tapestry.apache.org/current/tapestry-core/ref/org/apache/tapestry5/corelib/components/Submit.html, I was trying to use Submit component with mode=cancel like this: t:form t:id=form t:textfield t:id=testField t:value=testField t:validate=required / t:submit value=normal submit/ t:submit mode=cancel value=cancel submit/ /t:form But, when I click cancel submit, nothing happen (form is not submitted to server). If I click normal submit after cancel submit, the form is submitted to server without client validation. Why do I should click two buttons ( cancel and then normal submit) to bypass client validation? Is it a bug? Cancel submit supposed to directly submit form to server, isn't it? Is there a simple workaround for this? Thanks in advance, Best regards, Yohan Yudanara
Re: cancel mode of submit component is not submit to server
oo sorry, I forgot to mention. I'm using Tapestry 5.2.6 On Tue, Sep 6, 2011 at 11:13 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi.. I want to use submit button which can bypass client validation. Having read this documentation: http://tapestry.apache.org/current/tapestry-core/ref/org/apache/tapestry5/corelib/components/Submit.html, I was trying to use Submit component with mode=cancel like this: t:form t:id=form t:textfield t:id=testField t:value=testField t:validate=required / t:submit value=normal submit/ t:submit mode=cancel value=cancel submit/ /t:form But, when I click cancel submit, nothing happen (form is not submitted to server). If I click normal submit after cancel submit, the form is submitted to server without client validation. Why do I should click two buttons ( cancel and then normal submit) to bypass client validation? Is it a bug? Cancel submit supposed to directly submit form to server, isn't it? Is there a simple workaround for this? Thanks in advance, Best regards, Yohan Yudanara
Tapestry 5 in Action 50% Off
Hi, I got Deal of the day email from Manning. All MEAP purchase have 50% discount, including the one and only Tapestry 5 book in English :). This is the link to Tapestry books: http://www.manning.com/drobiazko Manning's Deal of the Day email is on attachment. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry 5 in Action 50% Off
Unfortunately, I can't buy that book. Because when I checkout the order, I can't find my country (Indonesia) in the list. And then I found http://www.manning.com/about/faq_misc.html#country saying that online shopping is not available for some countries. I've email them and haven't got reply. Maybe because it's still 4am in America. Hopefully I can get reply from manning soon. On Fri, Jul 1, 2011 at 3:42 PM, laloluke lalol...@gmail.com wrote: Thank you for the info !! I got it!! -- View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-5-in-Action-50-Off-tp4541119p4541386.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry 5 in Action 50% Off
Manning has replied my email. I can buy the e-book version, but not the print edition. So, I've bought the ebook version, select 'whatever' country in the order form and entered my real country in notes field. I've downloaded the ebook and will start reading now :) On Fri, Jul 1, 2011 at 9:21 PM, laloluke lalol...@gmail.com wrote: And what about the e-book? Although I think you'll want the print edition -- View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-5-in-Action-50-Off-tp4541119p4542291.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
tapx-datefield 17-12-2010 11:51:ss bug?
Hi, I'm using dd-MM- HH:mm:ss format on tapx-datefield 1.1-SNAPSHOT (and tapestry 5.2.5). tx:datefield t:id=lastIn t:value=moveDate t:time=true t:format=dd-MM- HH:mm:ss t:validate=required/ I'm populate default value using new Date(). I've tested it using Windows Vista and Chrome 12, Firefox 3, IE 8 and no problem. But, one of my users who use mac os and safari, experiencing problem. The date is displayed as 17-12-2010 11:51:ss (the second is displayed as 'ss'), like in my attachment. Anyone experiencing this same problem? My user is on remote side, and I can't reproduce the problem here. Thanks in advance. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Chenillekit 1.3.2 Window Component on Tapestry 5.2.5
Hi all, I'm using window component from chenillekit 1.1.0, replacing RenderSupport with JavaScriptSupport, and this problem is solved. :) Thanks.. On Tue, Jun 28, 2011 at 9:48 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, Is there anyone using Chenillekit 1.3.2 window component on tapestry 5.2.5 ? I got 'window1 is not defined' error when following code snippet on http://www.chenillekit.org/demo/tapcomp/windowdemo. I got those snippet working successfully using chenillekit 1.1.0 and tapestry 5.1.0.5. Does anyone know why this window component no longer working on tapestry 5.2.5 and chenillekit 1.3.2? Thanks... - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Chenillekit 1.3.2 Window Component on Tapestry 5.2.5
Hi, Is there anyone using Chenillekit 1.3.2 window component on tapestry 5.2.5 ? I got 'window1 is not defined' error when following code snippet on http://www.chenillekit.org/demo/tapcomp/windowdemo. I got those snippet working successfully using chenillekit 1.1.0 and tapestry 5.1.0.5. Does anyone know why this window component no longer working on tapestry 5.2.5 and chenillekit 1.3.2? Thanks... - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [ANN] JumpStart 5.2.1 released
yup.. this is the best documentation :)... so great.. :-bd thank you very much... On Tue, May 10, 2011 at 5:20 AM, ael alan-lua...@dash.com.ph wrote: This is the one of the BEST documentation of Tapestry. Keep up the good work :) - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Dynamic combo box - Tapestry 5.2.2
Look carefully on the error message.. With the above ajax, i get the following error: org.apache.tapestry5.internal.services.RenderQueueException Render queue error in SetupRender[ajax/Select1:carmake]: Unable to locate asset 'classpath:FantasyGaa/mixins/zone_updater.js' (the file does not exist). Do you already create zone_updater.js on mixins folder? - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Dynamic combo box - Tapestry 5.2.2
hmm.. strange error :) just want to make sure, do you already put ZoneUpdater.java and zone_updater.js on the same folder (on package-name/mixins) ? On Tue, Mar 29, 2011 at 5:45 PM, robnangle robnan...@gmail.com wrote: Yohan Yudanara-2 wrote: Look carefully on the error message.. gt; With the above ajax, i get the following error: gt; gt; org.apache.tapestry5.internal.services.RenderQueueException gt; Render queue error in SetupRender[ajax/Select1:carmake]: Unable to locate gt; asset 'classpath:FantasyGaa/mixins/zone_updater.js' (the file does not gt; exist). Do you already create zone_updater.js on mixins folder? Ye the mixins folder has: ZoneUpdater.java and zone_updater.js -- View this message in context: http://tapestry.1045711.n5.nabble.com/Dynamic-combo-box-Tapestry-5-2-2-tp3379129p4269153.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Dynamic combo box - Tapestry 5.2.2
hmm sorry, I can't help you further because I never use that jumpstart code with tapestry 5.2.2. I've use that tapestry jumpstart code with tapestry 5.1.0.5 btw, why don't you upgrade to tapestry 5.2.4 ? I've used T 5.2.4 and creating dynamic combobox is very simple. Don't need to use zoneupdater anymore. I've never try using T 5.2.2 On Tue, Mar 29, 2011 at 6:02 PM, robnangle robnan...@gmail.com wrote: Ye it should be straight forward copying the example.. Yes they are both in the mixins package.. -- View this message in context: http://tapestry.1045711.n5.nabble.com/Dynamic-combo-box-Tapestry-5-2-2-tp3379129p4269174.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: ascii code 153 (tm) not displaying properly
standar value in unicode for trademark symbol is not #169;. 169 is trademark character on windows-1252 encoding. The standard unicode value for trademark symbol is #8482; (decimal) or #x2122; (hexa) Source: http://en.wikipedia.org/wiki/Letterlike_Symbols On Mon, Mar 28, 2011 at 1:58 PM, Paul Stanton p...@mapshed.com.au wrote: Hi all, I'm having some character set issues in that I can't get #153; to display as ™ in my tapestry page. Here's my doctype and html declarations: !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_1_0.xsd; xmlns:p=tapestry:parameter In the same page #169; displays fine as © Any ideas? thanks, paul. - 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
Re: Dynamic combo box - Tapestry 5.2.2
What version of tapestry are you using? If you use Tapestry 5.2, you don't need to follow jumpstart (http://jumpstart.doublenegative.com.au/jumpstart/examples/javascript/ajaxselect1) to create Ajax Select. You just need to follow this: http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html on Chaining of Select Components section. If you use T5.1, follow jumpstart tutorial, and follow it completely. You need to create ZoneUpdater.java and also zone_updater.js at the bottom of jumpstart tutorial. On Mon, Mar 28, 2011 at 5:34 PM, robnangle robnan...@gmail.com wrote: I could possibly have it in the correct place but am gettint this error: Failure creating embedded component 'carMake' of FantasyGaa.pages.ajax.AjaxSelect1: Unable to resolve 'zoneUpdater' to a mixin class name. Available mixin types: Autocomplete, DiscardBody, NotEmpty, RenderDisabled, RenderInformals, TriggerFragment. -- View this message in context: http://tapestry.1045711.n5.nabble.com/Dynamic-combo-box-Tapestry-5-2-2-tp3379129p4267337.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
How to Get Service Without @Inject annotation
Hi.. Could anyone give me an example how to get service bean, without using @Inject annotation, in page class? Is it using ObjectLocator? What built-in service to inject, in order to use ObjectLocator? I can use this when using tapestry-spring and spring ioc: @Inject private ApplicationContext springContext; and use this statement to get bean: entityManager = springContext.getBean(beanNames[0]); How to do the same thing using tapestry-ioc? Thanks.. Best regards, Yohan
Re: How to Get Service Without @Inject annotation
Thank you very much for your help. I use the registry from ServletContext. I'm using this code: @Inject private Context context; and use this statement to get bean: Registry registry = (Registry) context.getAttribute(TapestryFilter.REGISTRY_CONTEXT_NAME); entityManager = registry.getService(clazz); Thanks.. On Thu, Mar 10, 2011 at 6:11 PM, Igor Drobiazko igor.drobia...@gmail.comwrote: Injecting ObjectLocator into a page or component class is not supported. You need to provide a wrapper service, which uses ObjectLocator. Then inject it into your page and retrieve your services. Alternatively you can retrieve the Registry from ServletContext. Check this out. http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/TapestryFilter.html#REGISTRY_CONTEXT_NAME On Thu, Mar 10, 2011 at 11:52 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi.. Could anyone give me an example how to get service bean, without using @Inject annotation, in page class? Is it using ObjectLocator? What built-in service to inject, in order to use ObjectLocator? I can use this when using tapestry-spring and spring ioc: @Inject private ApplicationContext springContext; and use this statement to get bean: entityManager = springContext.getBean(beanNames[0]); How to do the same thing using tapestry-ioc? Thanks.. Best regards, Yohan -- Best regards, Igor Drobiazko http://tapestry5.de
Re: Quick results of my month-long 'battle of the web frameworks' research
Hi, My reply is OOT :). But, I'm just curious, were you evaluating Vaadin for GWT like ? What is your opinion about Vaadin? I love using Tapestry for page based web application and I love using Vaadin when building full Ajax web-application. On Wed, Feb 16, 2011 at 6:27 AM, Lenny Primak lpri...@hope.nyc.ny.uswrote: If anyone finds it useful, or a useful place to put it --- So here is a quick summary of what I found out in my lengthy research: It went down to 5 candidates, JSF, GWT, RIFE, Tapestry Grails. I had a couple of must-have criteria: - A web designer has to be able to read/write the app via DreamWeaver or other non-programmer tool - Easy to use, and integrates with the current web projects in use. Basically, there are three categories: - JSP-like (JSF, Wicket, Tapestry) - Rails-like (RIFE, Grails) - GWT-like (GWT) Tapestry is overall simpler to use than both JSF and Wicket, while having similar feature set. Also, Tapestry doesn't have the duplication of effort problem that Wicket has. Tapestry's files are readable/writable by DreamWeaver and keep their 'form' in it the best. Rails-like frameworks fail the designer test, since most pages are auto-generated. Also, they are incompatible with current way of doing things in the web world, and absolutely unapproachable by web designers GWT was a nightmare to set up and integrate, but once that was done (3 grueling days), it was easy to use and add components. The designer integration is spotty, but doable (via UiBinder) and there is GUI builder tool support. Overall winner - Tapestry Close runner-up - GWT I decided to use both, since they can be meshed together quite easily. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Dynamic combo box - Tapestry 5.2.2
If you use T5.2, then you can use sample code on documentation Page: http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html Look into Chaining of Select Components section. T5.2 have new zone attribute. You can use this attribute to implement your Ajax Select. If you use T5.1, then you need to follow jumpstart link sample as given by Mark. Best regards, Yohan Yudanara On Thu, Feb 10, 2011 at 9:16 PM, Leonard artofbareattent...@gmail.comwrote: Thanks atcach for the quick reply! I'll try it at my end and will let you know if it solves my problem. :) Regards -- View this message in context: http://tapestry.1045711.n5.nabble.com/Dynamic-combo-box-Tapestry-5-2-2-tp3379129p3379382.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
Re: [T5.2] Update Zone inside AjaxFormLoop
Yes, It does.. Thank you very much.. Now, I can control id of zone elements inside AjaxFormLoop. On Tue, Feb 8, 2011 at 12:31 AM, Mark mark-li...@xeric.net wrote: You can set the client side id to something like: id=${rowZoneId} public String getRowZoneId() { return rowZone- rowId; } That way if you need to update a particular zone you can reference it. As long as you set rowId to be the same value when you add it to the MultiZoneUpdate as it was when that row was rendered it should work. Does that help? Mark On Mon, Feb 7, 2011 at 4:34 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, I've tried MultiZoneUpdate and it's working. So, I want to change my question: We can add/delete rows in AjaxFormLoop, so the zone ids is dynamic. How to get available zone ids inside AjaxFormLoop ? Do we need to loop it using Javascript and pass it to server side via context, or is there any other way ? Thanks in advance, Best regards, Yohan Yudanara On Mon, Feb 7, 2011 at 2:35 PM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, I have a Master-Detail Form one page. The Master section, contains a Select Component. The Detail section (which is implemented using AjaxFormLoop), also contain a Select Component. What I want to do is to make Ajax Select: Options in detail's Select Component (which is inside zone in AjaxFormLoop) is depend on what user choose on master's Select Component. I have problem because: * If I'm using zone attribute in master's select component, only the Select component in 1st detail record is updated. * If I'm using multizone update, I can't use @InjectComponent to get Select components in detail records, because the component id is dynamic (because it's inside AjaxFormLoop). Is there any clue how to do this? Thanks in advance. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.2] Pass additional info/context on Ajax Select
Thanks for your suggestion and link reference. But I'm using standard T5.2 Select component. However, I've solve my problems. In AddRow/RemoveRow, I save zone ids in AjaxFormLoop into session. So, when the onValueChanged of Select component occured, I can retrieve this value from session. Thanks... On Tue, Feb 8, 2011 at 12:38 AM, Mark mark-li...@xeric.net wrote: Take a look at this: http://jumpstart.doublenegative.com.au/jumpstart/examples/javascript/ajaxonevent You should be able to add a t:context to the component that is triggering the event. Whatever the context is when the component is rendered will be passed back the action event. So you can have something like: public Object onSetQty(Item item) { } Mark On Mon, Feb 7, 2011 at 4:51 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, I want to ask a question: Is it possible to pass additional info on Ajax Select (method onValueChanged), other than selected value ? I need to pass ids of element inside AjaxFormLoop (because rows inside AjaxFormLoop can be add/remove dynamically at runtime). e.g: I need to pass: machineZone, machineZone_0, machineZone_1 which is generated automatically when user add/remove rows on AjaxFormLoop. Thanks in advance.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.2] Pass additional info/context on Ajax Select
Hi Mark, Nothing special in my code. I was just following sample of AjaxFormLoop on Tapestry Jumpstart ( http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/ajaxformloop1) and combined it with your suggestion on thread: Update Zone inside AjaxFormLoop. Here is the snippet from my source: -- * I have master-detail form in my .tml file: !-- this is the master (there is one T5.2 Select Component) -- t:label for=locationId/ t:select t:id=locationId t:value=record.locationId t:model=locationModel t:zone=machineZone/ !-- details is using AjaxFormLoop (there is one Select component where the options is based on master's Select component) -- fieldset t:type=AjaxFormLoop t:id=detail t:source=detailHolderList t:value=detailHolder t:encoder=encoder t:unless t:test=detailHolder.deletedRecord t:submitnotifier legendMachine/legend t:label for=machineId/ t:zone t:id=machineZone id=${machineZoneId} t:select t:id=machineId t:value=detailHolder.machine.machineId t:model=machineModel t:validate=required/ /t:zone t:removerowlinkremove/t:removerowlink /t:submitnotifier /t:unless p:addRow t:addrowlinkAdd Machine/t:addrowlink /p:addRow /fieldset -- * on Java file: On this snippet, I use @Persist to persist into session, but of course we can use session.setAttribute() and session.getAttribute() if we want to have more control about session keys and stored information. @InjectComponent private Zone machineZone; // this detailHolderList contains key of records on AjaxFormLoop. We use these keys in MultiZoneUpdate. @Persist private ListDetailHolder detailHolderList; @Persist private SelectModel machineModel; public String getMachineZoneId() { return detailHolder- + detailHolder.getKey(); } CsActivityHolder onAddRowFromDetail() { Machine newMachine = new Machine(); DetailHolder newDetailHolder = new DetailHolder(newMachine, true, 0 - System.nanoTime()); detailHolderList.add(newDetailHolder); return newDetailHolder; } void onRemoveRowFromDetail(DetailHolder detailHolder) { int index = detailHolderList.indexOf(detailHolder); DetailHolder holder = detailHolderList.get(index); if (holder.isNewRecord()) { holderList.remove(detailHolder); } else { holder.setDeletedRecord(true); } } @OnEvent(value = EventConstants.VALUE_CHANGED, component = locationId) public Object onValueChanged(Long locationId) { machineModel = machineManager.getMachineSelectModelByLocationId(locationId); MultiZoneUpdate result = null; for (CsActivityHolder holder : csActivityHolderList) { String idOfDetailSelect = machineZone- + holder.getKey(); if (result == null) { result = new MultiZoneUpdate(idOfDetailSelect, machineZone); } else { result = result.add(idOfDetailSelect, machineZone); } } return result; } Using above code, when user change master's Select component, then all detail's Select component (inside ajaxformloop) is being updated. Best regards, Yohan Yudanara On Tue, Feb 8, 2011 at 8:38 PM, Mark mark-li...@xeric.net wrote: On Tue, Feb 8, 2011 at 2:46 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: In AddRow/RemoveRow, I save zone ids in AjaxFormLoop into session. So, when the onValueChanged of Select component occured, I can retrieve this value from session. Interesting. Could you share an example of how you are doing this? Mark - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.2] Update Zone inside AjaxFormLoop
Hi, I've tried MultiZoneUpdate and it's working. So, I want to change my question: We can add/delete rows in AjaxFormLoop, so the zone ids is dynamic. How to get available zone ids inside AjaxFormLoop ? Do we need to loop it using Javascript and pass it to server side via context, or is there any other way ? Thanks in advance, Best regards, Yohan Yudanara On Mon, Feb 7, 2011 at 2:35 PM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Hi, I have a Master-Detail Form one page. The Master section, contains a Select Component. The Detail section (which is implemented using AjaxFormLoop), also contain a Select Component. What I want to do is to make Ajax Select: Options in detail's Select Component (which is inside zone in AjaxFormLoop) is depend on what user choose on master's Select Component. I have problem because: * If I'm using zone attribute in master's select component, only the Select component in 1st detail record is updated. * If I'm using multizone update, I can't use @InjectComponent to get Select components in detail records, because the component id is dynamic (because it's inside AjaxFormLoop). Is there any clue how to do this? Thanks in advance. Best regards, Yohan Yudanara
[T5.2] Pass additional info/context on Ajax Select
Hi, I want to ask a question: Is it possible to pass additional info on Ajax Select (method onValueChanged), other than selected value ? I need to pass ids of element inside AjaxFormLoop (because rows inside AjaxFormLoop can be add/remove dynamically at runtime). e.g: I need to pass: machineZone, machineZone_0, machineZone_1 which is generated automatically when user add/remove rows on AjaxFormLoop. Thanks in advance.. Best regards, Yohan Yudanara
[T5.2] Update Zone inside AjaxFormLoop
Hi, I have a Master-Detail Form one page. The Master section, contains a Select Component. The Detail section (which is implemented using AjaxFormLoop), also contain a Select Component. What I want to do is to make Ajax Select: Options in detail's Select Component (which is inside zone in AjaxFormLoop) is depend on what user choose on master's Select Component. I have problem because: * If I'm using zone attribute in master's select component, only the Select component in 1st detail record is updated. * If I'm using multizone update, I can't use @InjectComponent to get Select components in detail records, because the component id is dynamic (because it's inside AjaxFormLoop). Is there any clue how to do this? Thanks in advance. Best regards, Yohan Yudanara
Re: T5.2 Need Advice on JDBC and Transaction Mgmt
I've try it and it's working. Thank you very much. Now I can use JdbcTemplate and declarative transaction on my Tapestry Service, so I can take advantage of T 5.2 service reload feature. This is improving productivity a lot. Thanks... Best regards, Yohan Yudanara On Mon, Dec 13, 2010 at 8:32 AM, Yohan Yudanara yohan.yudan...@gmail.comwrote: Thank you very much for your explanation and code sample, Mr. Christian Köberl I will try it. On Sun, Dec 12, 2010 at 10:34 PM, Christian Köberl tapestry.christian.koeb...@gmail.com wrote: Yohan Yudanara-2 wrote: So, in my conclusion (CMIIW), if I'm using JDBC instead of Hibernate, I'd better stick with service/dao in spring bean. Because in spring bean, I can use spring declarative transaction and also JdbcTemplate. If I want to use tapestry service instead of spring bean, I need to write code for accessing database (using JDBC) and managing transaction from scratch. No, that's not really true. You could use the advise out of my first post on this thread and apply that to all your Tapestry services accessing the database. You could do this by searching for an annotation - you can even use the Spring @Transacational annotation but it's probably better to have your own (since semantics won't be completely the same). Here's how the advisor could look like (see other post for TransactionalAdvise). public interface TransactionAdvisor { void addTransactionAdvice(MethodAdviceReceiver receiver); } public class TransactionAdvisorImpl implements TransactionAdvisor { private final PlatformTransactionManager manager; // this is the Spring transaction manager private final MapPropagation, MethodAdvice transactionalAdvises; public TransactionAdvisorImpl (PlatformTransactionManager manager) { this.manager = manager; transactionalAdvises = new HashMapPropagation, MethodAdvice(); for (Propagation propagation : Propagation.values()) { transactionalAdvises.put(propagation, new TransactionalAdvise(manager, propagation.value())); } } public void addTransactionAdvice(MethodAdviceReceiver receiver) { for (Method m : receiver.getInterface().getMethods()) { Transactional txAnnotation = m.getAnnotation(Transactional.class); if (txAnnotation != null) { receiver.adviseMethod(m, transactionalAdvises.get(txAnnotation.propagation())); } } } } In your module you have to bind the services and advise your DAOs: @Match(*DAO) public static void adviseTransactions(TransactionAdvisor advisor, MethodAdviceReceiver receiver) { advisor.addTransactionAdvice(receiver); } This advice method is configured to match against any service whose id ends with DAO, such as PersonDAO. -- View this message in context: http://tapestry-users.832.n2.nabble.com/T5-2-Need-Advice-on-JDBC-and-Transaction-Mgmt-tp5825768p5828294.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
Re: t:grid and user types ...
Oops.. sorry, Gunnar. Thiago is right. You don't need PropertyConduit. We need PropertyConduit if we add non-property column on Grid. So, you just need this on setupRender: void setupRender() { beanModel = beanModelSource.createEditModel(your bean class, messages); beanModel.add(your user type property name); } Best Regards, Yohan On 1/10/11, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Mon, 10 Jan 2011 06:13:33 -0200, Gunnar Eketrapp gunnar.eketr...@gmail.com wrote: Thanks Yohan ! I now got it to work with my Money type in the grid + sorting. I created a TransactionAmountPropertyConduit as you advised ... But it's less then ideal to have to write a EntityFieldPropertyConduit class every time you use an own defined type in a grid. You don't need to write your own PropertyConduit unless the value you want to show or edit isn't a a property, as you have the PropertyConduitSource to do that. It's exactly the same service that is used by BeanModelSource to create the PropertyConduit's. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - 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
Re: t:grid and user types ...
You can take a look at http://tapestry.1045711.n5.nabble.com/Grid-sortable-additionnal-column-td2433091.html. On .tml file, you need to use beanModel attribute on the Grid component: t:grid t:source=transactionList row=transaction t:model=beanModel On .java file, you need to add your amount property to the beanModel: @Inject private BeanModelSource beanModelSource; @Inject private Messages messages; private BeanModel beanModel; public BeanModel getBeanModel() { return beanModel; } void setupRender() { beanModel = beanModelSource.createEditModel(your bean class, messages); beanModel.add(your user type property name, propertyConduit); } If your user type implements Comparable, then your property will be displayed as sortable column. Best regards, Yohan Yudanara On 1/9/11, Gunnar Eketrapp gunnar.eketr...@gmail.com wrote: Hi Thiago and others ... I still haven't managed to display and sort user types in the grid. If I do the cell rendering on my own as in ... p:amountCell ${transaction.amount.format()} /p:amountCell .. the sorting goes away I have added a MoneyTranslator but that one is only used by forms I guess. Your last advice was ... You can also provide a view block for your own types: http://tapestry.apache.org/beaneditform-guide.html, section Adding New Property Editors. This option is better suited when you use the same property types in many grids. If it's just one, a cell override is the best option. ... which I have read but dont understand how to use. (To stupid I guess ...) Do you mean that I by adding a property editor for my Money class I will be able to display and sort my money type in grid's. Thanks in advance !!! Gunnar Eketrapp, 2010/12/17 Thiago H. de Paula Figueiredo thiag...@gmail.com: On Fri, 17 Dec 2010 12:42:14 -0200, Stephan Windmüller stephan.windmuel...@tu-dortmund.de wrote: You have to define the layout of the cell by yourself. Have a look at http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Grid.html You can also provide a view block for your own types: http://tapestry.apache.org/beaneditform-guide.html, section Adding New Property Editors. This option is better suited when you use the same property types in many grids. If it's just one, a cell override is the best option. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- [Hem: 08-715 59 57, Mobil: 0708-52 62 90] Allévägen 2A, 132 42 Saltsjö-Boo - 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
Re: t:grid and user types ...
If you want simpler solution, just add property with java type that can represent your user type in your bean class. On 1/9/11, Yohan Yudanara yohan.yudan...@gmail.com wrote: You can take a look at http://tapestry.1045711.n5.nabble.com/Grid-sortable-additionnal-column-td2433091.html. On .tml file, you need to use beanModel attribute on the Grid component: t:grid t:source=transactionList row=transaction t:model=beanModel On .java file, you need to add your amount property to the beanModel: @Inject private BeanModelSource beanModelSource; @Inject private Messages messages; private BeanModel beanModel; public BeanModel getBeanModel() { return beanModel; } void setupRender() { beanModel = beanModelSource.createEditModel(your bean class, messages); beanModel.add(your user type property name, propertyConduit); } If your user type implements Comparable, then your property will be displayed as sortable column. Best regards, Yohan Yudanara On 1/9/11, Gunnar Eketrapp gunnar.eketr...@gmail.com wrote: Hi Thiago and others ... I still haven't managed to display and sort user types in the grid. If I do the cell rendering on my own as in ... p:amountCell ${transaction.amount.format()} /p:amountCell .. the sorting goes away I have added a MoneyTranslator but that one is only used by forms I guess. Your last advice was ... You can also provide a view block for your own types: http://tapestry.apache.org/beaneditform-guide.html, section Adding New Property Editors. This option is better suited when you use the same property types in many grids. If it's just one, a cell override is the best option. ... which I have read but dont understand how to use. (To stupid I guess ...) Do you mean that I by adding a property editor for my Money class I will be able to display and sort my money type in grid's. Thanks in advance !!! Gunnar Eketrapp, 2010/12/17 Thiago H. de Paula Figueiredo thiag...@gmail.com: On Fri, 17 Dec 2010 12:42:14 -0200, Stephan Windmüller stephan.windmuel...@tu-dortmund.de wrote: You have to define the layout of the cell by yourself. Have a look at http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Grid.html You can also provide a view block for your own types: http://tapestry.apache.org/beaneditform-guide.html, section Adding New Property Editors. This option is better suited when you use the same property types in many grids. If it's just one, a cell override is the best option. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- [Hem: 08-715 59 57, Mobil: 0708-52 62 90] Allévägen 2A, 132 42 Saltsjö-Boo - 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
Re: T5: 5.2.4 and memory
From this link: http://www.mail-archive.com/users@tapestry.apache.org/msg47526.html, Yes, it seems that Tapestry 5.2 needs bigger PermGen space than tapestry 5.1 But, tapestry 5.2 use less memory in heap space because no more page pooling. From this link http://tapestry.apache.org/specific-errors.html and from hlship tweet, It looks like recommended PermGen space is 512 MB. Hope it helps. On 1/9/11, Angelo C. angelochen...@gmail.com wrote: Hi, I start jvm with -Xms256m -Xmx1024m, and tested my 5.2.4 upgraded app, ran into this error several times, does that mean 5.2.4 need bigger PermGen space? [ERROR] Registry PermGen space [ERROR] Registry Operations trace: [ERROR] Registry [ 1] Triggering event 'activate' on m1/Analytics [ERROR] Registry Exception invoking method org.sample.t5.services.AppModule.decorateRequestExceptionHandler(Logger, ResponseRenderer, ComponentSource, boolean, Object) (at AppModule.java:513): PermGen space [ERROR] Registry Operations trace: [ERROR] Registry [ 1] Realizing service RequestExceptionHandler [ERROR] Registry [ 2] Invoking org.sample.t5.services.AppModule.decorateRequestExceptionHandler(Logger, ResponseRenderer, ComponentSource, boolean, Object) (at AppModule.java:513) 2011-01-09 13:54:52.354 java[1093:903] JavaNativeFoundation error occurred obtaining Java exception description 2011-01-09 13:54:52.357 java[1093:903] Internal JNF Error: failed calling Throwable.toString() -- View this message in context: http://tapestry.1045711.n5.nabble.com/T5-5-2-4-and-memory-tp624p624.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [Tapestry Central] Announcing Tapestry 5.2
As expected, live class reload does not work on service without an interface. I have try it. On Fri, Dec 17, 2010 at 8:45 PM, Michael Gentry mgen...@masslight.net wrote: Well, I've used services without an interface before, so maybe it'll work, although I suspect it won't. I'll give it a try in a few days. :-) Thanks Robert! mrg On Fri, Dec 17, 2010 at 1:48 AM, Robert Zeigler robe...@scazdl.org wrote: Not sure that the DataObjects will work... the live service class reloading basically works b/c there's the public interface, and the private implementation, and the only class that has a reference to the private implementation is the proxy. At least, that's how I understand it. ;) Not sure how that would fly with the data objects, unless you defined an interface on top of each of your data objects... which sounds kinda ugly... - 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
Re: [Tapestry Central] Announcing Tapestry 5.2
For me, replacing the version number on pom.xml is working. If you use tapestry-spring, u should change spring version from 2.5.6 to spring 3.0.0.RELEASE or later.. On Fri, Dec 17, 2010 at 8:44 AM, Angelo C. angelochen...@gmail.com wrote: Congrats to the Tapestry 5 Team for a great job! now, how easy to upgrade from the 5.1 to 5.2? just replacing the version number? any upgrade guide? -- View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Central-Announcing-Tapestry-5-2-tp3308716p3308860.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5.2 Need Advice on JDBC and Transaction Mgmt
Ok, thanks to all... So, in my conclusion (CMIIW), if I'm using JDBC instead of Hibernate, I'd better stick with service/dao in spring bean. Because in spring bean, I can use spring declarative transaction and also JdbcTemplate. If I want to use tapestry service instead of spring bean, I need to write code for accessing database (using JDBC) and managing transaction from scratch. On the other hand, If I'm using Hibernate instead of JDBC, tapestry-hibernate is sufficient and I do not need to use spring bean. btw, why don't we get any new release for tapestry 5.1.0.x ? There are so many bugs fixed since 5.1.0.5, some are important bugs. I hope next voting for tapestry 5.1.0.x will pass through.. 5.1.0.5 is way too old.. :) Best regards, Yohan Yudanara On Sun, Dec 12, 2010 at 7:13 PM, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Sat, 11 Dec 2010 22:01:08 -0200, Yohan Yudanara yohan.yudan...@gmail.com wrote: hmm.. maybe I could use DataSourceTransactionManager instead of HibernateSessionManager, because I'm using JDBC instead of hibernate. When using this code, where do we place our DAO for accessing database ? tapestry service or spring bean ? Spring bean. spring-tx only works in spring beans. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - 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
Re: T5.2 Need Advice on JDBC and Transaction Mgmt
Thank you very much for your explanation and code sample, Mr. Christian Köberl I will try it. On Sun, Dec 12, 2010 at 10:34 PM, Christian Köberl tapestry.christian.koeb...@gmail.com wrote: Yohan Yudanara-2 wrote: So, in my conclusion (CMIIW), if I'm using JDBC instead of Hibernate, I'd better stick with service/dao in spring bean. Because in spring bean, I can use spring declarative transaction and also JdbcTemplate. If I want to use tapestry service instead of spring bean, I need to write code for accessing database (using JDBC) and managing transaction from scratch. No, that's not really true. You could use the advise out of my first post on this thread and apply that to all your Tapestry services accessing the database. You could do this by searching for an annotation - you can even use the Spring @Transacational annotation but it's probably better to have your own (since semantics won't be completely the same). Here's how the advisor could look like (see other post for TransactionalAdvise). public interface TransactionAdvisor { void addTransactionAdvice(MethodAdviceReceiver receiver); } public class TransactionAdvisorImpl implements TransactionAdvisor { private final PlatformTransactionManager manager; // this is the Spring transaction manager private final MapPropagation, MethodAdvice transactionalAdvises; public TransactionAdvisorImpl (PlatformTransactionManager manager) { this.manager = manager; transactionalAdvises = new HashMapPropagation, MethodAdvice(); for (Propagation propagation : Propagation.values()) { transactionalAdvises.put(propagation, new TransactionalAdvise(manager, propagation.value())); } } public void addTransactionAdvice(MethodAdviceReceiver receiver) { for (Method m : receiver.getInterface().getMethods()) { Transactional txAnnotation = m.getAnnotation(Transactional.class); if (txAnnotation != null) { receiver.adviseMethod(m, transactionalAdvises.get(txAnnotation.propagation())); } } } } In your module you have to bind the services and advise your DAOs: �...@match(*DAO) public static void adviseTransactions(TransactionAdvisor advisor, MethodAdviceReceiver receiver) { advisor.addTransactionAdvice(receiver); } This advice method is configured to match against any service whose id ends with DAO, such as PersonDAO. -- View this message in context: http://tapestry-users.832.n2.nabble.com/T5-2-Need-Advice-on-JDBC-and-Transaction-Mgmt-tp5825768p5828294.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
T5.2 Need Advice on JDBC and Transaction Mgmt
Hi.. Tapestry 5.2 live service reload is awesome. However, I'm used to accessing database using Spring JdbcTemplate (using spring bean with @Repository annotation) and manage transaction using spring declarative transaction (in ApplicationContext.xml). I'm considering to use tapestry service instead of writing service as spring bean (because of live service reload feature). When I'm using tapestry service, what is the best practice for accessing database using JDBC and managing transaction? Could someone give me a clue? Thanks in advance. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5.2 Need Advice on JDBC and Transaction Mgmt
Unfortunately, I prefer use JDBC to Hibernate. I'm not using Hibernate in my projects. If I'm stick to JDBC, is it better to stick with Spring Service for declarative transaction and accessing database ? Thanks in advance On Sat, Dec 11, 2010 at 11:53 PM, Josh Canfield joshcanfi...@gmail.com wrote: For most cases using tapestry-hibernate should be sufficient. Have you looked at that? http://tapestry.apache.org/current/tapestry-hibernate/userguide.html Are you doing something that would make this not sufficient? On Sat, Dec 11, 2010 at 2:36 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi.. Tapestry 5.2 live service reload is awesome. However, I'm used to accessing database using Spring JdbcTemplate (using spring bean with @Repository annotation) and manage transaction using spring declarative transaction (in ApplicationContext.xml). I'm considering to use tapestry service instead of writing service as spring bean (because of live service reload feature). When I'm using tapestry service, what is the best practice for accessing database using JDBC and managing transaction? Could someone give me a clue? Thanks in advance. - 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
Re: T5.2 Need Advice on JDBC and Transaction Mgmt
Thanks for your reply.. hmm.. maybe I could use DataSourceTransactionManager instead of HibernateSessionManager, because I'm using JDBC instead of hibernate. When using this code, where do we place our DAO for accessing database ? tapestry service or spring bean ? Thanks in advance.. On Sat, Dec 11, 2010 at 10:32 PM, Christian Köberl tapestry.christian.koeb...@gmail.com wrote: I would stick with Spring for transaction handling, since there's a lot of knowledge and tricks in the Spring transaction management and a lot you could do wrong. We have our own implementation of Spring @Transactional in Tapestry but we're now switching to a hybrid version using the Spring PlatformTransactionManager. So i think it would be best to add a @Transactional + advise in Tapestry delegating to Spring PlatformTransactionManager (still using Spring connection and transaction handling). The advise could look something like this: public class TransactionalAdvise implements MethodAdvice { private final PlatformTransactionManager manager; private final int propagation; public TransactionalAdvise(HibernateSessionManager manager, int propagation) { super(); this.manager = manager; this.propagation = propagation; } public void advise(Invocation invocation) { TransactionStatus transactionStatus = manager.getTransaction(new DefaultTransactionDefinition(propagation)); try { invocation.proceed(); } catch (RuntimeException ex) { manager.rollback(transactionStatus); throw ex; } // For success or checked exception, commit the transaction. manager.commit(transactionStatus); } } See also org.apache.tapestry5.internal.hibernate.HibernateTransactionAdvisorImpl in tapestry-hibernate-core for applying an advise. Chris -- View this message in context: http://tapestry-users.832.n2.nabble.com/T5-2-Need-Advice-on-JDBC-and-Transaction-Mgmt-tp5825768p5826301.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Tapestry 5.2 offline documentation
Hi. I've just download tapestry-src-5.2.4. How can I generate documentation for offline reading? Should I run mvn site on every subfolder of tapestry-src-5.2.4 ? I've got the following error when running mvn site inside tapestry-src-5.2.4/tapestry-project: [INFO] Trace org.apache.maven.reactor.MavenExecutionException: Could not find the model file 'C:\java-lib\tapestry\tapestry-src-5.2.4\tapestry-project\tapestry-json'. for pr oject unknown It looks like maven is searching for tapestry-json inside tapestry-project folder. How to tell maven that tapestry-json folder is on the same level with tapestry-project (not inside tapestry-project) ? Thanks in advance. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.1] Preserve user input while refreshing form inside zone
Hi LLTYK :), Thanks for the idea. Yes, this could be the solution to preserve user input while refreshing (not submitting) the form. The drawback is: this will generate many traffic to the server. Thank you for your help. On Wed, Sep 22, 2010 at 6:07 PM, LLTYK ll...@mailinator.com wrote: The usual way to save input is to do a form submit. Link the form to the zone, and then submitting will trigger the update on the zone after sending the data to the server. However, this does not work if the form is not filled out and valid. In that case there's a longer way: I used the ZoneUpdater mixin on all the form components, not to update the zone but to simply record changes serverside (returning void from the event handler). Something like this: t:textfield t:id=TextField value=value validate=required,minlength=3,maxLength=25 t:mixins=zoneUpdater t:zone=thezone t:clientEvent=keyup event=change / �...@log public void onChangeFromTextField(String value) { this.value = value; } - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.1] Generate AjaxFormLoop entry from ActionLink
Hi LLTYK and Thiago, Thank you for your response. Yeah, it looks like I'm trying to do something in AjaxFormLoop that is outside of its intended scenarios. I was creating a form to input master(bunch of textfields, textareas, datepickers, etc) and detail (using AjaxFormLoop) on the same page. And I want to have a hyperlink (using AJAX ActionLink) to populate detail rows (on AjaxFormLoop). Now, I've decided to separate this form on two pages. The first page is to input master (bunch of textfields) and the second page is to input detail (only AJAX ActionLink to populate data and AjaxFormLoop). And I'm no longer having problem. Thank you very much for your time and suggestion. Best regards, Yohan Yudanara On Thu, Sep 23, 2010 at 6:19 PM, LLTYK ll...@mailinator.com wrote: Put the form inside the zone as well, assuming there aren't a bunch of other fields with data in them. Also, if you're just discarding the old rows then you can just use a normal loop with a zone. -- View this message in context: http://tapestry-users.832.n2.nabble.com/T5-1-Generate-AjaxFormLoop-entry-from-ActionLink-tp5557435p5562593.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
Re: [T5.1] Generate AjaxFormLoop entry from ActionLink
Is it possible to do AddRowLink / RemoveRowLink from java class? Because what I want to do is: populate some rows in AjaxFormLoop from server side (java class). This event (populate some rows) is triggered from clicking AJAX actionLink. I thought this is not possible, so I'm decided to refresh whole AjaxFormLoop. CMIIW. And I realize that in order to refresh AjaxFormLoop, I need to refresh the whole form. And If I refresh the whole form, I have problem because user input on other field input (outside AjaxFormLoop) is discarded. Using ZoneUpdater mixin (as you suggest in another thread) will preserve user input, but it will generate many traffic to the server :) But I think using your suggestion is not bad idea. Thank you... On Wed, Sep 22, 2010 at 6:10 PM, LLTYK ll...@mailinator.com wrote: You just use AddRowLink and RemoveRowLink to add and remove. Alot easier than trying to refresh the whole thing. http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/ajaxformloop1 -- View this message in context: http://tapestry-users.832.n2.nabble.com/T5-1-Generate-AjaxFormLoop-entry-from-ActionLink-tp5557435p5558585.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 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.1] Generate AjaxFormLoop entry from ActionLink
Because when user click on an hyperlink, I want to populate *multiple* rows. Populate means: I want to clear all rows on AjaxFormLoop and generate multiple rows based on calculation in the server side. Is it possible to do this with AddRowLink / RemoveRowLink? On Thu, Sep 23, 2010 at 9:42 AM, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Wed, 22 Sep 2010 23:36:19 -0300, Yohan Yudanara yohan.yudan...@gmail.com wrote: Is it possible to do AddRowLink / RemoveRowLink from java class? Because what I want to do is: populate some rows in AjaxFormLoop from server side (java class). This event (populate some rows) is triggered from clicking AJAX actionLink. Why don't you use AddRowLink or RemoveRowLink instead of ActionLink? -- - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
[T5.1] Generate AjaxFormLoop entry from ActionLink
Hi, Is it possible to generate (insert/delete some records) AjaxFormLoop row from an AJAX actionlink ? I've tried enclosing the AjaxFormLoop inside Zone, but I got this error message: BeginRender[EditAssetExpense:detailcustomer.fragment]: No object of type org.apache.tapestry5.services.FormSupport is available from the Environment. Thanks in advance Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.1] Generate AjaxFormLoop entry from ActionLink
Is it possible to refresh whole AjaxFormLoop ? On Wed, Sep 22, 2010 at 9:43 AM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, Is it possible to generate (insert/delete some records) AjaxFormLoop row from an AJAX actionlink ? I've tried enclosing the AjaxFormLoop inside Zone, but I got this error message: BeginRender[EditAssetExpense:detailcustomer.fragment]: No object of type org.apache.tapestry5.services.FormSupport is available from the Environment. Thanks in advance Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.1] Generate AjaxFormLoop entry from ActionLink
Thanks a lot Thiago.. Your 2 sentences made me save lot of time... Thank you... :) On Wed, Sep 22, 2010 at 10:19 AM, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Wed, 22 Sep 2010 00:11:40 -0300, Yohan Yudanara yohan.yudan...@gmail.com wrote: Is it possible to refresh whole AjaxFormLoop ? Put it inside a Zone and refresh it. BeginRender[EditAssetExpense:detailcustomer.fragment]: No object of type org.apache.tapestry5.services.FormSupport is available from the Environment. This happens when you put a field inside a Zone that doesn't wrap the full Form component. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - 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
[T5.1] Preserve user input while refreshing form inside zone
Hi.. I'm enclosing a whole form inside zone. And I have an AJAX actionlink to refresh the zone. Is it possible to preserve user input while refreshing the zone? I have problem because, when refreshing, textfield value always discard user input and revert back to the original value. Thanks in advance. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: [T5.1] Generate AjaxFormLoop entry from ActionLink
Hi.. If I refresh whole form, How can I preserve user input on textfield outside AjaxFormLoop ? Thanks.. On Wed, Sep 22, 2010 at 10:19 AM, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Wed, 22 Sep 2010 00:11:40 -0300, Yohan Yudanara yohan.yudan...@gmail.com wrote: Is it possible to refresh whole AjaxFormLoop ? Put it inside a Zone and refresh it. BeginRender[EditAssetExpense:detailcustomer.fragment]: No object of type org.apache.tapestry5.services.FormSupport is available from the Environment. This happens when you put a field inside a Zone that doesn't wrap the full Form component. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: tapestry 5.2 stable release?
Why not publish it on tapestry homepage as 5.2 stable ? On Wed, Sep 15, 2010 at 3:05 PM, Massimo Lusetti mluse...@gmail.com wrote: Tapestry trunk is _very_ stable... Cheers -- Massimo http://meridio.blogspot.com - 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
how to download tapestry 5.1.0.7
Hi, Now I'm using tapestry 5.1.0.5 from maven repo. I encountered bug https://issues.apache.org/jira/browse/TAP5-100 on my application which has been fixed on tapestry 5.1.0.7 But I couldn't find any link to download tapestry 5.1.0.7. plz help.. Thanks.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: how to download tapestry 5.1.0.7
Sorry, wrong bug link. I mean this https://issues.apache.org/jira/browse/TAP5-714 which has been fixed on T 5.1.0.7 How to get Tapestry 5.1.0.7 Thanks in advance.. On Wed, Aug 4, 2010 at 5:01 PM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, Now I'm using tapestry 5.1.0.5 from maven repo. I encountered bug https://issues.apache.org/jira/browse/TAP5-100 on my application which has been fixed on tapestry 5.1.0.7 But I couldn't find any link to download tapestry 5.1.0.7. plz help.. Thanks.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: how to download tapestry 5.1.0.7
ok.. thanks for the info.. IMHO, we need 5.1 release because 5.1.0.5 have been around since around April 2009, and many bugs have been fixed since then. It's too bad both 5.1.0.6 and 5.1.0.7 are failed on release vote.. When vote for 5.1.0.8 will happen ? Best regards, Yohan Yudanara On Thu, Aug 5, 2010 at 12:34 AM, Andreas Andreou andy...@di.uoa.gr wrote: you can add the apache snapshot repository https://repository.apache.org/content/groups/snapshots-group/ and use version 5.1.0.8-SNAPSHOT There's no released version of 5.1.0.7 On Wed, Aug 4, 2010 at 13:13, Yohan Yudanara yohan.yudan...@gmail.com wrote: Sorry, wrong bug link. I mean this https://issues.apache.org/jira/browse/TAP5-714 which has been fixed on T 5.1.0.7 How to get Tapestry 5.1.0.7 Thanks in advance.. On Wed, Aug 4, 2010 at 5:01 PM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi, Now I'm using tapestry 5.1.0.5 from maven repo. I encountered bug https://issues.apache.org/jira/browse/TAP5-100 on my application which has been fixed on tapestry 5.1.0.7 But I couldn't find any link to download tapestry 5.1.0.7. plz help.. Thanks.. Best regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr Tapestry PMC / Tacos developer Open Source / JEE Consulting - 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
Re: [T5.1] Remembering Search Parameter during Changing Page in Grid
Thanks a lot for the solution... It works.. On Wed, Feb 17, 2010 at 2:10 AM, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Tue, 16 Feb 2010 03:42:30 -0200, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi.. Hi! My question is: can I execute above scenario without persisting searchParam in Session ? Use the search text as the page activation context. Something like: public void onActivate(String search) { searchParam = search; } public String onPassivate() { return searchParam; } This way, it's like you're persisting the search param in the URL. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, software architect and developer, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - 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
[T5.1] Remembering Search Parameter during Changing Page in Grid
Hi.. I'd like to ask a question which seems to be basic question, but I can't find it on this mailing list archives and wiki. I have a page with textfield, search button, and grid to display search result: t:textfield t:id=searchParam t:value=searchParam / t:submit t:id=search value=Search / Let's say the search returned 60 rows, and the grid display the first 25 rows. If I click link to second page to display next 25 rows, the search result is displayed correctly if I was using session (not FLASH) to save searchParam, like this: @Persist(PersistenceConstants.SESSION) private String searchParam; My page class executing search query to return GridDataSource object on setupRender() method. My question is: can I execute above scenario without persisting searchParam in Session ? Thanks in advance. Regards, Yohan Yudanara - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
T5-Chenillekit Quartz-Accessing JobDataMap
Hi... I'm using chenillekit quartz from http://chenillekit.codehaus.org/chenillekit-quartz/index.html. I already follow the how-to guide and it is running well. But I'd like to ask: how to access JobDataMap from Tapestry page class, in case I want to change the JobDataMap value from user input. Thanks... Best regards, Yohan - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5-Chenillekit Quartz-Accessing JobDataMap
Sorry, the problem was solved.. It's very simple :) just using this in tapestry page class: @Inject private QuartzSchedulerManager schedulerManager; and use this code to access the jobDataMap and update the value: JobDetail jobDetail = schedulerManager.getScheduler().getJobDetail(AutoHouseKeeping, null); JobDataMap jobDataMap = jobDetail.getJobDataMap(); jobDataMap.put(oldKey, newValue); //update the value schedulerManager.getScheduler().addJob(jobDetail, true); //reassign job to scheduler Best regards, Yohan On Thu, Jan 14, 2010 at 5:08 PM, Yohan Yudanara yohan.yudan...@gmail.com wrote: Hi... I'm using chenillekit quartz from http://chenillekit.codehaus.org/chenillekit-quartz/index.html. I already follow the how-to guide and it is running well. But I'd like to ask: how to access JobDataMap from Tapestry page class, in case I want to change the JobDataMap value from user input. Thanks... Best regards, Yohan - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
IPage and ILink difference
Dear all, what is the difference between using IPage and ILink for redirecting page? Which one is recommended to be put on listener that will load another page? From googling on the net, I found this explanation: An ILink will cause a redirect url to be sent to the browser. An IPage will be rendered in the current request cycle. Could anyone plz give me more explanation about that statement? Thanks in advance, Yohan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T 4.1.5] client-side validation
Hi, I'm using tapestry 4.1.5. Why client-side validation doesn't work? There are 2 errors, which saying: dojo is undefined and tapestry is undefined When I click view source on Firefox, Tapestry adds these lines on the bottom section: script type=text/javascript!-- tapestry.addOnLoad(function(e) { dojo.require(tapestry.form);tapestry.form.registerForm(virtualPinChange); tapestry.form.clearProfiles('virtualPinChange'); tapestry.form.registerProfile('virtualPinChange',{trim:[currentvpin,newvpin,newvpin2],required:[currentvpin,newvpin,newvpin2],currentvpin:{required:[Virtual Pin tidak boleh kosong],constraints:[Virtual Pin harus 6 digit angka,Virtual Pin harus 6 digit angka]},constraints:{currentvpin:[[tapestry.form.validation.isText,{minlength:6}],[tapestry.form.validation.isValidPattern,\\d\{6\}]],newvpin:[[tapestry.form.validation.isText,{minlength:6}],[tapestry.form.validation.isValidPattern,\\d\{6\}]],newvpin2:[[tapestry.form.validation.isText,{minlength:6}],[tapestry.form.validation.isValidPattern,\\d\{6\}],[tapestry.form.validation.isEqual,newvpin]]},newvpin:{required:[Virtual Pin tidak boleh kosong],constraints:[Virtual Pin harus 6 digit angka,Virtual Pin harus 6 digit angka]},newvpin2:{required:[Virtual Pin tidak boleh kosong],constraints:[Virtual Pin harus 6 digit angka,Virtual Pin harus 6 digit angka,Kedua Virtual Pin anda harus cocok]}}); tapestry.form.focusField('newvpin');}); // --/script Tapestry also add this line after body tag: script type=text/javascript src=/bprks/assets/static/dojo-0.4.3-custom-4.1.5/dojo3.js/script When I try to open dojo3.js using browser, it's there. So what do I miss in this case? plz help Thanks in advance, Yohan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T 4.1.5] client-side validation
Hi all, This problem solved by adding @Shell component before @Body component but, there is another question: Is it possible to distinct error message lines in Client Side Validation message box (Same message just appear once) ? plz help Thanks in advance, Yohan On Wed, 2008-07-02 at 13:37 +0700, Yohan Yudanara wrote: Hi, I'm using tapestry 4.1.5. Why client-side validation doesn't work? There are 2 errors, which saying: dojo is undefined and tapestry is undefined When I click view source on Firefox, Tapestry adds these lines on the bottom section: script type=text/javascript!-- tapestry.addOnLoad(function(e) { dojo.require(tapestry.form);tapestry.form.registerForm(virtualPinChange); tapestry.form.clearProfiles('virtualPinChange'); tapestry.form.registerProfile('virtualPinChange',{trim:[currentvpin,newvpin,newvpin2],required:[currentvpin,newvpin,newvpin2],currentvpin:{required:[Virtual Pin tidak boleh kosong],constraints:[Virtual Pin harus 6 digit angka,Virtual Pin harus 6 digit angka]},constraints:{currentvpin:[[tapestry.form.validation.isText,{minlength:6}],[tapestry.form.validation.isValidPattern,\\d\{6\}]],newvpin:[[tapestry.form.validation.isText,{minlength:6}],[tapestry.form.validation.isValidPattern,\\d\{6\}]],newvpin2:[[tapestry.form.validation.isText,{minlength:6}],[tapestry.form.validation.isValidPattern,\\d\{6\}],[tapestry.form.validation.isEqual,newvpin]]},newvpin:{required:[Virtual Pin tidak boleh kosong],constraints:[Virtual Pin harus 6 digit angka,Virtual Pin harus 6 digit angka]},newvpin2:{required:[Virtual Pin tidak boleh kosong],constraints:[Virtual Pin harus 6 digit angka,Virtual Pin harus 6 digit angka,Kedua Virtual Pin anda harus cocok]}}); tapestry.form.focusField('newvpin');}); // --/script Tapestry also add this line after body tag: script type=text/javascript src=/bprks/assets/static/dojo-0.4.3-custom-4.1.5/dojo3.js/script When I try to open dojo3.js using browser, it's there. So what do I miss in this case? plz help - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T 4.1.5] client-side validation
Hi all, I'm successfully eliminate duplicate messages in client-side validation by modifying form.js I love open source. Thanks anyway, Yohan On Wed, 2008-07-02 at 14:10 +0700, Yohan Yudanara wrote: Hi all, but, there is another question: Is it possible to distinct error message lines in Client Side Validation message box (Same message just appear once) ? plz help Thanks in advance, Yohan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
OGNL in operator
Dear all, Could I use OGNL in operator (containment operator) in Tapestry? I'm trying to shorten this expression: span jwcid=@If condition='ognl:(user.securityType == A || user.securityType == B)' into: span jwcid=@If condition='ognl:user.securityType in {A,B}' but I got the following error: HiveMindExpressionCompiler.compileExpression(174) | Error generating OGNL getter for expression user.securityType in { A, B } with root [EMAIL PROTECTED] and body: { return ($w) ((($UserActivation_0)$2).ognl.OgnlOps.in( ($w) (($UserActivation_0)$2).getUser().getSecurityType(), ($w) java.util.Arrays.asList( new Object[] { ($w) (A), ($w) (B)})));} org.apache.hivemind.ApplicationRuntimeException: Unable to add method java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class $ASTIn_11ade9ec0ce: [source error] no such field: ognl at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) Could anyone help me? Is it possible to use OGNL in operator in Tapestry ? Thanks in advance, Yohan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: form enctype
it's done by creating custom component similar to @Upload component I love open source.. On Tue, 2007-10-23 at 15:53 +0700, Yohan Yudanara wrote: Dear all, I've done this through creating component which extends AbstractFormComponent. protected void renderFormComponent(IMarkupWriter w, IRequestCycle c) { IForm form = getForm(); form.setEncodingType(multipart/form-data); } Now, the form renders as enctype=multipart/form-data : form method=post action=/blabla/viewWorkflowForm,$Form.sdirect name=Form id=Form enctype=multipart/form-data Another problem occured I'm using common file upload to get the files uploaded by user: FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(getRequest()); //request injected using: inject property=request object=service:tapestry.globals.HttpServletRequest/ why the parseRequest always return no items? Is it because tapestry already consumed it? Thanks, Yohan Yudanara On Tue, 2007-10-23 at 13:04 +0700, Yohan Yudanara wrote: Dear all, I need a way to set the enctype of a form. Could anyone help me, plz. I'm using tapestry form, and I fill in the controls within the form dynamically. (which is can contains input type=file/) That's why I need to set enctype=multipart/form-data without using Tapestry's upload components. I'm using Tapestry 4.0 Thanks, Yohan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: form enctype
Dear all, I've done this through creating component which extends AbstractFormComponent. protected void renderFormComponent(IMarkupWriter w, IRequestCycle c) { IForm form = getForm(); form.setEncodingType(multipart/form-data); } Now, the form renders as enctype=multipart/form-data : form method=post action=/blabla/viewWorkflowForm,$Form.sdirect name=Form id=Form enctype=multipart/form-data Another problem occured I'm using common file upload to get the files uploaded by user: FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(getRequest()); //request injected using: inject property=request object=service:tapestry.globals.HttpServletRequest/ why the parseRequest always return no items? Is it because tapestry already consumed it? Thanks, Yohan Yudanara On Tue, 2007-10-23 at 13:04 +0700, Yohan Yudanara wrote: Dear all, I need a way to set the enctype of a form. Could anyone help me, plz. I'm using tapestry form, and I fill in the controls within the form dynamically. (which is can contains input type=file/) That's why I need to set enctype=multipart/form-data without using Tapestry's upload components. I'm using Tapestry 4.0 Thanks, Yohan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T4:listener on button component
Hi all, I need help. I want to set value on particular field on the destination page via a listener. If I use button as a link to the destination page, Could I add a listener to button component? When using DirectLink component, i could do this: a jwcid=@DirectLink listener=ognl:listeners.add Add /a When using button component: input type=button class=button onclick=location.href='metadataForm.html' jwcid=@Button value=add/ When using Button component, it doesn't have a listener parameter. Could anyone suggest a workaround for this? Thanks, Yohan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T4 contrib table sorting
Hi.. I'm using tapestry 4.0.1 included in Appfuse 1.9.4 why does the sorting on contrib table not working (ascending to descending or descending to ascending) when I click on title column too quick? When I click in title column for the first time, the table data sorted ascending.. When I click second time right after that, the table data still sorted ascending.. I have to wait for some period (about 5 seconds, but it's not exactly) before click on the title heading to make it sort descending. The contrib table also show strange behaviour when I click refresh button (F5) on browser. (I've try it in IE and firefox). When I click refresh, the table show ascending. When I refresh again, the table show descending, When I refresh again, the table show ascending, and so on Plz help.. thanks a lot - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
@Hidden can't refresh like @TextField
Dear all, I have a tacos:AjaxDirectLink component which render partial page. The partial part contains this code: (html file) form jwcid=orderForm input class=text medium jwcid=paymentPrice type=text/ !-- for display only -- input type=hidden jwcid=@Hidden value=ognl:paymentPrice/ !-- I want to get the value when the form submitted -- /form and the controller contains this code: (page file) component id=paymentPrice type=Insert binding name=value value=paymentPrice/ binding name=format value=moneyFormat/ /component Let's say the paymentPrice contains 300. After the tacos:ajaxDirectLink clicked, the paymentPrice become 200 and it displays correcly on the screen. When the orderForm being submitted, I was expecting that calling getPaymentPrice() on Java class will return 200. But it's still return 300, unless I change the @Hidden component to @TextField. When I change @Hidden to @TextField, input type=hidden jwcid=@Hidden value=ognl:paymentPrice/ become input type=hidden jwcid=@TextField value=ognl:paymentPrice/ calling getPaymentPrice() on Java class returned 200 (correct) Why is this happening? I'm using Tapestry 4.0.1 and Tacos 4.0.1.. Could somebody explain? Thanks a lot - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ognl in @Image component
dear all, I have method named getImageAsset in the java class. and I have this code in HTML template file: img jwcid=@Image image=ognl:imageAsset(book.isbn) when I run the application, there was error saying java.lang.NoSuchMethodException imageAsset(java.lang.String). why does tapestry search for method named imageAsset in the java class, instead of getImageAsset? My application works smoothly when I use this code in HTML template file: img jwcid=@Image image=ognl:getImageAsset(book.isbn) Can someone explain this behavior? Thanks - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]