Howard,

I had a closer look to volatile in the Loop. Though I don't fully get
all the details yet, I don't see why the Form still needs to execute
any ComponentAction on the Loop when volatile=true. Why does
advanceVolatile need to access the Loop's iterator?

When I remove items from the loop through ajax, this causes a
NoSuchElementException like listed below.

Looking forward to your reply cuz I'm lost.
Cheers,
Joost

On Fri, Mar 13, 2009 at 11:55 AM, Joost Schouten (mailing lists)
<joost...@jsportal.com> wrote:
> Howard,
>
> So why do I get the following exception when I set volatile=true? It
> only happens when my Ajax request removes some of the Loop items. It
> sounds like Tapestry is still trying to do some sort of state
> recovery.
>
> Cheers,
> Joost
>
> ----- 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
>
> 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 ------
>
>
>
> On Thu, Mar 12, 2009 at 11:55 PM, Howard Lewis Ship <hls...@gmail.com> wrote:
>> That what volatile is supposed to do; when set to true, the Loop
>> doesn't record its state (i.e., the series of values iterated over)
>> into the form data.
>>
>> On Thu, Mar 12, 2009 at 3:20 AM, Joost Schouten (mailing lists)
>> <joost...@jsportal.com> wrote:
>>> Hi,
>>>
>>> AjaxFormLoop seems intended for formitems and would require a lot of
>>> javascript wiring to make it do what I want it to do. All I need is
>>> for the Form to completely ignore the Loop, just like it did nicely in
>>> 5.0.18. Do you know why the Loop's state needs to be persisted in the
>>> first place? And why can I not tell it to be completely ignored by the
>>> Form?
>>>
>>> It seems to me that all this state saving on a loop is needed if there
>>> are formitems in the loop. If so, it'd be great if I could just ignore
>>> the whole state saving and use the Loop in a nice and simple way by
>>> setting something like ignoreForm=true.
>>>
>>> Cheers,
>>> Joost
>>>
>>> On Tue, Mar 10, 2009 at 1:29 PM, DH <ningd...@gmail.com> wrote:
>>>> Hi,
>>>>
>>>> In your case, why not have a try on AjaxFormLoop component, but I haven't 
>>>> tried this component yet and don't have much experience.
>>>>
>>>> Loop component in form is a bit tricky. Set volatile='true' means you need 
>>>> have your source object unchanged. But you have deleted one row during 
>>>> process, so exception happens.
>>>>
>>>> Thanks
>>>>
>>>> DH
>>>>
>>>>
>>>> ----- Original Message -----
>>>> From: "Joost Schouten (mailing lists)" <joost...@jsportal.com>
>>>> To: "Tapestry users" <users@tapestry.apache.org>
>>>> Sent: Tuesday, March 10, 2009 11:13 AM
>>>> Subject: Re: [T5.1.0.0] Loop in Form problem introduced in T5.1.0.0
>>>>
>>>>
>>>> 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
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>>
>>
>>
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator Apache Tapestry and Apache HiveMind
>>
>> ---------------------------------------------------------------------
>> 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