Dear DH, Thanks for you quick response. I added the param but now get a new Exception (see below). The exception still only happens when elements are removed from the Loop through AJAX, adding all works fine. This whole volatile concept is a bit fuzzy to me and scanning the source of the Loop component does not clear things up to me. Do you have any further pointers?
Cheers, Joost --- the new Exception ------ Caused by: java.util.NoSuchElementException at java.util.AbstractList$Itr.next(AbstractList.java:427) at org.apache.tapestry5.corelib.components.Loop.advanceVolatile(Loop.java:335) at org.apache.tapestry5.corelib.components.Loop.access$200(Loop.java:41) at org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:92) at org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:96) at org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:471) ... 81 more On Mon, Mar 9, 2009 at 9:03 PM, ningdh <ningd...@gmail.com> wrote: > Set volatile="true" at the loop component to let the form not to restore the > state. > > Thanks, > DH > > ----- Original Message ----- > From: "Joost Schouten (mailing lists)" <joost...@jsportal.com> > To: "Tapestry users" <users@tapestry.apache.org> > Sent: Monday, March 09, 2009 6:14 PM > Subject: [T5.1.0.0] Loop in Form problem introduced in T5.1.0.0 > > > Hi, > > I have a loop in a form displaying non form information. An ajax call > can update the source of the Loop. When the loop has less, or > different items in it during submit then when the form was initiated, > the following exception is thrown. > Loop.RestoreStateFromStoredClientValue() seems to be causing this > problem. My question; Why does the form care about restoring state of > a Loop not containing any FormItems? Second, how can I fix this > problem? I cannot pull my loop out of the form unfortunately. > > This seems to be a new problem introduced in 5.1.0.0 as in version > 5.0.18 all works fine. > > Cheers, > Joost > > ---------- debug and stack trace --------------- > > DEBUG 09 Mar 2009 17:29:14,186 [qtp0-3] > org.apache.tapestry5.ioc.internal.services.MethodLogger.entry(MethodLogger.java:73) > - [ENTER] onAction(org.apache.tapestry5.internal.emptyeventcont...@422f73) > DEBUG 09 Mar 2009 17:29:14,187 [qtp0-3] > org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:458) > - Processing actions: > H4sIAAAAAAAAAM2TP2gUQRTGx0Bs0ohg6i1ikSJzieQ0nohZLptwctk7bs/IISizs2/3Ns7OrDOzJodgY6GFvZ0g2vmntTeFpLFR7AMiNoIoWin4chdRESRBCVftzLxv3/d7s98+ek9G1y6QjgFeaIhKhQFdWmCmGyqmo0rOEhCspwpLf1kKlSQQGctsYUKh+GVq1lLLuwYEcKs0ajVIa4RSudGEKp1QljPeBWpZDsbqXplypUGkIT6zXMltOa2jfqI81dh8PUmubY4Qsp4PF9tM583jT/HTl/f2hc3fE1sL61gKsDssapUF27uoKlKUrDBRwNSdZ69uEefbCDlQJ2P8Z8GSw/VVdpWVBJNJKbA6lcmp9dySm+hBV5Uy1vAuDgCShoVJJRjDoiyVNFMRCFpFEiZ788fieO7EScd3l72KczZwmkpbJpwFL6i2as12reFXHFkI4bQ7TVRUG8tN1+9capz3vZYTtN02HrrVdm3FS3E0fFdycCrOzPRwhWD2Yx5PLo0/PDOEAT0+fejD3MUHt08P2GIS/V82xrkq0K2/T5U0wDSWNSn/FTNkBqgb4iHjdjEFEU0EYIv86LmNsa0jz7/uRFJJq5XwWQZXyHUyuh3B8R3H4Idj0Hfcx8ncvU7W1IrjHxIUYZYag602nkSz8Ze7LwbfZIl4/0reZ0S0+d1mo89i/yR7u9X6fMO7/25w/9g2Q/lv939wYPYdYIg+ficGAAA= > DEBUG 09 Mar 2009 17:29:14,190 [qtp0-3] > org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:475) > - Processing: > secured/user/Dashboard:pagelayout.pagelayout.loggedstatusblock.switchselector.parentsloop > Loop.PrepareForSubmission > DEBUG 09 Mar 2009 17:29:14,191 [qtp0-3] > org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:475) > - Processing: > secured/user/Dashboard:pagelayout.pagelayout.loggedstatusblock.switchselector.parentsloop > Loop.ResetIndex > DEBUG 09 Mar 2009 17:29:14,193 [qtp0-3] > org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:475) > - Processing: > secured/user/Dashboard:pagelayout.pagelayout.loggedstatusblock.switchselector.parentsloop > loop.restorestatefromstoredclientvalue[com.joostschouten.businessadmin.model.comp...@2ff879 > NAME: JS Portal DESCRIPTION: null TYPE: COMPANY_OWNER STATE: > ACTIVEimportance : 10] > DEBUG 09 Mar 2009 17:29:14,200 [qtp0-3] > org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:60) > - Invoking constructor > org.apache.tapestry5.ioc.internal.services.ExceptionTrackerImpl() (at > ExceptionTrackerImpl.java:25) via > org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) > (at TapestryIOCModule.java:41). > DEBUG 09 Mar 2009 17:29:14,201 [qtp0-3] > org.apache.tapestry5.ioc.internal.services.MethodLogger.fail(MethodLogger.java:164) > - [ FAIL] onAction -- > org.apache.tapestry5.ioc.internal.util.TapestryException > org.apache.tapestry5.ioc.internal.util.TapestryException: Could not > find a coercion from type java.lang.String to type > com.joostschouten.businessadmin.model.Account. > at > org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:492) > at > org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:375) > at > org.apache.tapestry5.corelib.components.Form$onAction$invocation_11fea8e560c.invokeAdvisedMethod(Form$onAction$invocation_11fea8e560c.java) > at > org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71) > at > org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:45) > at > org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) > at > org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80) > at org.apache.tapestry5.corelib.components.Form.onAction(Form.java) > at > org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:910) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1081) > at > org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:75) > at > org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) > at > $ComponentEventRequestHandler_11fea8df99b.handle($ComponentEventRequestHandler_11fea8df99b.java) > at > org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) > at > $ComponentEventRequestHandler_11fea8df99b.handle($ComponentEventRequestHandler_11fea8df99b.java) > at > org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:73) > at > $ComponentEventRequestHandler_11fea8df99b.handle($ComponentEventRequestHandler_11fea8df99b.java) > at > org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2131) > .....more > > --------------------------------------------------------------------- > 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