You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Peter Ertl (JIRA)" <ji...@apache.org> on 2010/09/20 23:22:34 UTC

[jira] Resolved: (WICKET-2888) Nullpointer when inserting [i.e. moving] a node in a TreeTable (AbstactTree, treeNodesInserted)

     [ https://issues.apache.org/jira/browse/WICKET-2888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Ertl resolved WICKET-2888.
--------------------------------

         Assignee: Peter Ertl
    Fix Version/s: 1.4.13
                   1.5-M3
       Resolution: Fixed

Integrated in current 1.4.x and 1.5.x. Please verify thoroughly ! :-)

> Nullpointer when inserting [i.e. moving] a node in a TreeTable (AbstactTree, treeNodesInserted)
> -----------------------------------------------------------------------------------------------
>
>                 Key: WICKET-2888
>                 URL: https://issues.apache.org/jira/browse/WICKET-2888
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket, wicket-extensions
>    Affects Versions: 1.4.2
>         Environment: On Linux, AMD64
>            Reporter: Rob Audenaerde
>            Assignee: Peter Ertl
>             Fix For: 1.4.13, 1.5-M3
>
>         Attachments: patch.txt, patch.txt, patch.txt, tree-quickstart.tar.gz
>
>
> A have a simple tree:
> root
> -c1
> --cc1
> -c2
> --cc2
> -c3
> I want to move c3 from parent root to parent c2. This works when the treenode c2 is not expanded, i.e. cc2 is not shown. When c2 is expanded, the action results in a nullPointerException in treeNodesInserted. The cause of the nullPointer is:
> parentItem.getChildren() <-- returns null, but in line 845 the parentItem.getChildren().add() is called, thus the nullPointer.
> Any hints?
> my piece of tree manipulation code:
>                table.getTreeTable().modelChanging();
>                 DefaultTreeModel model = (DefaultTreeModel) table.getTreeTable().getDefaultModelObject();
>                 DefaultMutableTreeNode parent = (DefaultMutableTreeNode) myNode.getParent();
>                 // getIndexOfChild returns -1 if either of th nodes == null
>                 int myIndex = model.getIndexOfChild( parent, myNode );
>                 if ( myIndex < 1 ) // 0 or -1
>                 {
>                     return;
>                 }
>                 DefaultMutableTreeNode previousSibling = (DefaultMutableTreeNode) model.getChild( parent, myIndex - 1 );
>                 model.removeNodeFromParent( myNode );
>                 //insert the node as last
>                 model.insertNodeInto( myNode, previousSibling, model.getChildCount( previousSibling ) );
>                 table.getTreeTable().modelChanged();

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