[ http://issues.apache.org/jira/browse/MYFACES-159?page=comments#action_63928 ] sean schofield commented on MYFACES-159: ----------------------------------------
This is trickier than it seems. In some situations you may care a great deal if a node has been deleted and the user thinks is expecting something other than a silent log message. What if we provided an attribute that took a value binding expression for a method to call in the event of a missing node? This way the developer can choose to handle it however they want. If no such method is provided, then a RuntimeException will be thrown (like what happens now.) > Deleted tree2 nodes cause fatal exception > ----------------------------------------- > > Key: MYFACES-159 > URL: http://issues.apache.org/jira/browse/MYFACES-159 > Project: MyFaces > Type: Bug > Versions: 1.0.9 beta > Environment: All > Reporter: Rob Decker > Assignee: sean schofield > > If a node gets deleted between the time it is clicked on and when the server > processes > the request I get this error: > > java.lang.IllegalArgumentException: Node with id 0:1:1. Failed to parse 0:1:1 > > Basically the node's child was deleted and the index of the child list is no > longer > valid. It was valid when the tree was displayed. This gets thrown from > TreeModel.getNodeById() when an IndexOutOfBoundsException is thrown by the > child list. > This should be handled more gracefully, like by adding a faces context > message, "The selected item no longer exists.", and the processing of the > rest of the tree nodes should continue. The end user can choose whether or > not to show the messages. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
