You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Jochen Kemnade (JIRA)" <ji...@apache.org> on 2009/12/15 13:39:18 UTC

[jira] Created: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
---------------------------------------------------------------------

                 Key: TAP5-953
                 URL: https://issues.apache.org/jira/browse/TAP5-953
             Project: Tapestry 5
          Issue Type: Wish
          Components: tapestry-core
    Affects Versions: 5.1.0.6
            Reporter: Jochen Kemnade


When removing a node from the DOM, its next sibling node should be reset.
This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

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

Jochen Kemnade edited comment on TAP5-953 at 4/13/10 2:40 AM:
--------------------------------------------------------------

Simple test application.

The test page contains

<ul id="list">
    <li id="node1">node 1</li>
    <li id="node2">node 2</li>
    <li id="node3">node 3</li>
    <li id="node4">node 4</li>
</ul>
  
<ul id="list2">
</ul>

In the afterRenderMethod I do node1.moveToBottom(list2). I'd expect only node1 to be moved there, but, as node1's nextSibling is not reset, nodes 2-4 are rendered there too.
This becomes even worse by replacing the invocation by node1.moveToBottom(list). Then we're caught in an endless loop, as the renderer will never cease to find a next sibling. Node4's next sibling will be node1 (which is fine), and node1's nextSibling will still be node2, so it will try to render list, node2, node3, node4, node1, node2, node3 and so on.

      was (Author: jkemnade):
    Simple test application.

The test page contains

<ul id="list">
    <li id="node1">node 1</li>
    <li id="node2">node 2</li>
    <li id="node3">node 3</li>
    <li id="node4">node 4</li>
</ul>
  
<ul id="list2">
</ul>

In the afterRenderMethod I do node1.moveToBottom(list2). I'd expect only node1 to be moved there, but, as node1's nextSibling is not reset, nodes 2-4 are rendered there too.
This becomes even worse by replacing the invocation by node1.moveToBottom(list2). Then we're caught in an endless loop, as the renderer will never cease to find a next sibling. Node4's next sibling will be node1 (which is fine), and node1's nextSibling will still be node2, so it will try to render list, node2, node3, node4, node1, node2, node3 and so on.
  
> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.1.0.6
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

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

        

[jira] Issue Comment Edited: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

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

Jochen Kemnade edited comment on TAP5-953 at 4/13/10 2:40 AM:
--------------------------------------------------------------

Simple test application.

The test page contains

<ul id="list">
    <li id="node1">node 1</li>
    <li id="node2">node 2</li>
    <li id="node3">node 3</li>
    <li id="node4">node 4</li>
</ul>
  
<ul id="list2">
</ul>

In the afterRenderMethod I do node1.moveToBottom(list2). I'd expect only node1 to be moved there, but, as node1's nextSibling is not reset, nodes 2-4 are rendered there too.
This becomes even worse by replacing the invocation by node1.moveToBottom(list). Then we're caught in an endless loop, as the renderer will never cease to find a next sibling. Node4's next sibling will be node1 (which is fine), and node1's nextSibling will still be node2, so it will try to render list, node2, node3, node4, node1, node2, node3 and so on.

      was (Author: jkemnade):
    Simple test application.

The test page contains

<ul id="list">
    <li id="node1">node 1</li>
    <li id="node2">node 2</li>
    <li id="node3">node 3</li>
    <li id="node4">node 4</li>
</ul>
  
<ul id="list2">
</ul>

In the afterRenderMethod I do node1.moveToBottom(list2). I'd expect only node1 to be moved there, but, as node1's nextSibling is not reset, nodes 2-4 are rendered there too.
This becomes even worse by replacing the invocation by node1.moveToBottom(list2). Then we're caught in an endless loop, as the renderer will never cease to find a next sibling. Node4's next sibling will be node1 (which is fine), and node1's nextSibling will still be node2, so it will try to render list, node2, node3, node4, node1, node2, node3 and so on.
  
> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.1.0.6
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

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

        

[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Attachment: nodetest.zip

Simple test application.

The test page contains

<ul id="list">
    <li id="node1">node 1</li>
    <li id="node2">node 2</li>
    <li id="node3">node 3</li>
    <li id="node4">node 4</li>
</ul>
  
<ul id="list2">
</ul>

In the afterRenderMethod I do node1.moveToBottom(list2). I'd expect only node1 to be moved there, but, as node1's nextSibling is not reset, nodes 2-4 are rendered there too.
This becomes even worse by replacing the invocation by node1.moveToBottom(list2). Then we're caught in an endless loop, as the renderer will never cease to find a next sibling. Node4's next sibling will be node1 (which is fine), and node1's nextSibling will still be node2, so it will try to render list, node2, node3, node4, node1, node2, node3 and so on.

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.1.0.6
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

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

        

[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Attachment: nodetest.zip

Simple test application.

The test page contains

<ul id="list">
    <li id="node1">node 1</li>
    <li id="node2">node 2</li>
    <li id="node3">node 3</li>
    <li id="node4">node 4</li>
</ul>
  
<ul id="list2">
</ul>

In the afterRenderMethod I do node1.moveToBottom(list2). I'd expect only node1 to be moved there, but, as node1's nextSibling is not reset, nodes 2-4 are rendered there too.
This becomes even worse by replacing the invocation by node1.moveToBottom(list2). Then we're caught in an endless loop, as the renderer will never cease to find a next sibling. Node4's next sibling will be node1 (which is fine), and node1's nextSibling will still be node2, so it will try to render list, node2, node3, node4, node1, node2, node3 and so on.

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.1.0.6
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

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

        

[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Affects Version/s: 5.1.0.7
                       5.2.0

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.2.0, 5.1.0.6, 5.1.0.7
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Affects Version/s: 5.2.1
                       5.2.2

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.2.0, 5.2.1, 5.2.2, 5.1.0.6, 5.1.0.7
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Attachment: Node.java.patch

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.1.0.6
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Affects Version/s: 5.2.1
                       5.2.2

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.2.0, 5.2.1, 5.2.2, 5.1.0.6, 5.1.0.7
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Attachment: Node.java.patch

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.1.0.6
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-953) org.apache.tapestry5.dom.Node.remove() should set nextSibling to null

Posted by "Jochen Kemnade (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-953:
--------------------------------

    Affects Version/s: 5.1.0.7
                       5.2.0

> org.apache.tapestry5.dom.Node.remove() should set nextSibling to null
> ---------------------------------------------------------------------
>
>                 Key: TAP5-953
>                 URL: https://issues.apache.org/jira/browse/TAP5-953
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.2.0, 5.1.0.6, 5.1.0.7
>            Reporter: Jochen Kemnade
>         Attachments: Node.java.patch, nodetest.zip
>
>
> When removing a node from the DOM, its next sibling node should be reset.
> This is especially important for the moveToBottom(org.apache.tapestry5.dom.Element element) method. The current behavior of n.moveToBottom(e) results in n's following siblings being rendered twice, once in their original position and once after the moved node. Only the latter seems correct to me.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.