This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 71022 - In config editor, nodes for invalid customer pages are not marked as such.
Summary: In config editor, nodes for invalid customer pages are not marked as such.
Status: RESOLVED FIXED
Alias: None
Product: serverplugins
Classification: Unclassified
Component: Sun Appserver 8 (show other bugs)
Version: 5.x
Hardware: All All
: P3 blocker (vote)
Assignee: _ pcw
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-05 01:50 UTC by _ pcw
Modified: 2006-01-24 13:27 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ pcw 2006-01-05 01:50:54 UTC
Regression:  When a customizer page in the Sun Configuration Editor has errors
(ie failed validation), the node for that page is marked with [Error] in the
name (not a glyph, long story related to JSR-88 deficiencies).  This worked in
NB 3.6.  It was broken in NB 4.1 by the fix to issue 48996 so now nodes for
pages that are invalid do not display the [Error] tag.
Comment 1 _ pcw 2006-01-05 01:56:01 UTC
Fix for issue 48996 caused 'getNode()' method in the ConfigBeanStorage wrapper
for each DConfigBean to return new node every time.  This worked around what
seems to me to be a still unexplored issue where by invalid nodes were
subsequently getting accessed and causing numerous NPE's.

However, getNode() was *also* used by the property event manager in this object
that handled change events from the wrapped DConfigBean, and in the case of a
PROP_DISPLAY_NAME change event, changing the name of the node.  The result was
that the node for which the display name was changed is not actually a the node
being displayed, but a new one (that is also immediately thrown away.)

I fixed this by no longer calling getNode(), but accessing the private node data
member directly, checking for null first in case this node has not been created yet.