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