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

Reply via email to