You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Geoff Callender (Created) (JIRA)" <ji...@apache.org> on 2012/04/04 11:10:34 UTC

[jira] [Created] (TAP5-1896) AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
---------------------------------------------------------------------------------

                 Key: TAP5-1896
                 URL: https://issues.apache.org/jira/browse/TAP5-1896
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.3, 5.2
            Reporter: Geoff Callender
            Priority: Critical


To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.

Remove row n. 
Submit, ensuring in some way that you get a server-side validation error.

The redisplayed loop will have all the right output values, but the input values will be corrupted:
- the removed row (n) will be missing (good), 
- row n+1 will be correct (good),
- every row below that will have input values that belong to the row before it (bad).

If you try the process again but this time remove 2 adjacent rows you'll get:

- the removed rows (n-1 and n) will be missing (good), 
- row n+1 will be correct (good), 
- row n+2 will be correct (good),
- every row below that will have input values that belong 2 rows before it (bad).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1896) AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

Posted by "Geoff Callender (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252414#comment-13252414 ] 

Geoff Callender commented on TAP5-1896:
---------------------------------------

It seems to be that Form's Validation Tracker knows about added rows (thanks to the FormInjector?) but not removed rows - on redisplay it expects them to still be there.
                
> AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1896
>                 URL: https://issues.apache.org/jira/browse/TAP5-1896
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3, 5.2
>            Reporter: Geoff Callender
>            Priority: Critical
>
> To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.
> Remove row n. 
> Submit, ensuring in some way that you get a server-side validation error.
> The redisplayed loop will have all the right output values, but the input values will be corrupted:
> - the removed row (n) will be missing (good), 
> - row n+1 will be correct (good),
> - every row below that will have input values that belong to the row before it (bad).
> If you try the process again but this time remove 2 adjacent rows you'll get:
> - the removed rows (n-1 and n) will be missing (good), 
> - row n+1 will be correct (good), 
> - row n+2 will be correct (good),
> - every row below that will have input values that belong 2 rows before it (bad).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1896) AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459555#comment-13459555 ] 

Geoff Callender commented on TAP5-1896:
---------------------------------------

No idea, sorry. FormInjector might give some clues if it touches ValidationTracker.
                
> AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1896
>                 URL: https://issues.apache.org/jira/browse/TAP5-1896
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3, 5.2
>            Reporter: Geoff Callender
>            Priority: Critical
>
> To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.
> Remove row n. 
> Submit, ensuring in some way that you get a server-side validation error.
> The redisplayed loop will have all the right output values, but the input values will be corrupted:
> - the removed row (n) will be missing (good), 
> - row n+1 will be correct (good),
> - every row below that will have input values that belong to the row before it (bad).
> If you try the process again but this time remove 2 adjacent rows you'll get:
> - the removed rows (n-1 and n) will be missing (good), 
> - row n+1 will be correct (good), 
> - row n+2 will be correct (good),
> - every row below that will have input values that belong 2 rows before it (bad).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (TAP5-1896) AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459555#comment-13459555 ] 

Geoff Callender commented on TAP5-1896:
---------------------------------------

No idea, sorry. FormInjector might give some clues if it touches ValidationTracker.
                
> AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1896
>                 URL: https://issues.apache.org/jira/browse/TAP5-1896
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3, 5.2
>            Reporter: Geoff Callender
>            Priority: Critical
>
> To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.
> Remove row n. 
> Submit, ensuring in some way that you get a server-side validation error.
> The redisplayed loop will have all the right output values, but the input values will be corrupted:
> - the removed row (n) will be missing (good), 
> - row n+1 will be correct (good),
> - every row below that will have input values that belong to the row before it (bad).
> If you try the process again but this time remove 2 adjacent rows you'll get:
> - the removed rows (n-1 and n) will be missing (good), 
> - row n+1 will be correct (good), 
> - row n+2 will be correct (good),
> - every row below that will have input values that belong 2 rows before it (bad).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (TAP5-1896) AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

Posted by "George Christman (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458112#comment-13458112 ] 

George Christman commented on TAP5-1896:
----------------------------------------

Geoff, do you know of a way to tell Validation Tracker the row has been removed? 
                
> AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1896
>                 URL: https://issues.apache.org/jira/browse/TAP5-1896
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3, 5.2
>            Reporter: Geoff Callender
>            Priority: Critical
>
> To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.
> Remove row n. 
> Submit, ensuring in some way that you get a server-side validation error.
> The redisplayed loop will have all the right output values, but the input values will be corrupted:
> - the removed row (n) will be missing (good), 
> - row n+1 will be correct (good),
> - every row below that will have input values that belong to the row before it (bad).
> If you try the process again but this time remove 2 adjacent rows you'll get:
> - the removed rows (n-1 and n) will be missing (good), 
> - row n+1 will be correct (good), 
> - row n+2 will be correct (good),
> - every row below that will have input values that belong 2 rows before it (bad).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (TAP5-1896) AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

Posted by "George Christman (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458112#comment-13458112 ] 

George Christman commented on TAP5-1896:
----------------------------------------

Geoff, do you know of a way to tell Validation Tracker the row has been removed? 
                
> AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1896
>                 URL: https://issues.apache.org/jira/browse/TAP5-1896
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3, 5.2
>            Reporter: Geoff Callender
>            Priority: Critical
>
> To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.
> Remove row n. 
> Submit, ensuring in some way that you get a server-side validation error.
> The redisplayed loop will have all the right output values, but the input values will be corrupted:
> - the removed row (n) will be missing (good), 
> - row n+1 will be correct (good),
> - every row below that will have input values that belong to the row before it (bad).
> If you try the process again but this time remove 2 adjacent rows you'll get:
> - the removed rows (n-1 and n) will be missing (good), 
> - row n+1 will be correct (good), 
> - row n+2 will be correct (good),
> - every row below that will have input values that belong 2 rows before it (bad).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (TAP5-1896) AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

Posted by "Geoff Callender (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252414#comment-13252414 ] 

Geoff Callender commented on TAP5-1896:
---------------------------------------

It seems to be that Form's Validation Tracker knows about added rows (thanks to the FormInjector?) but not removed rows - on redisplay it expects them to still be there.
                
> AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1896
>                 URL: https://issues.apache.org/jira/browse/TAP5-1896
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3, 5.2
>            Reporter: Geoff Callender
>            Priority: Critical
>
> To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.
> Remove row n. 
> Submit, ensuring in some way that you get a server-side validation error.
> The redisplayed loop will have all the right output values, but the input values will be corrupted:
> - the removed row (n) will be missing (good), 
> - row n+1 will be correct (good),
> - every row below that will have input values that belong to the row before it (bad).
> If you try the process again but this time remove 2 adjacent rows you'll get:
> - the removed rows (n-1 and n) will be missing (good), 
> - row n+1 will be correct (good), 
> - row n+2 will be correct (good),
> - every row below that will have input values that belong 2 rows before it (bad).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira