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.
As described at http://www.netbeans.org/servlets/ReadMsg?list=nbdev&msgNo=31924 we want all tests from unit-nb config to pass on release50 branch. Please "fix" yours. Definitely on the branch, preferably in trunk as well.
Created attachment 27861 [details] The failure
Fix. The problem was in synchronization. It may have happened that synchronization between XML data model and editor document started sooner than changes were actually written to XML data model. Fortunatelly we have the test that showed us the problem ;-) http://xml.netbeans.org/source/browse/xml/multiview/src/org/netbeans/modules/xml/multiview/ui/SectionInnerPanel.java?r1=1.19&r2=1.20 http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/BookPanel.java?r1=1.1&r2=1.2 http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/ChapterPanel.java?r1=1.3&r2=1.4 Related changes in j2ee/ddloaders : http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/WelcomeFilesPanel.java?r1=1.4&r2=1.5 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/FilterPanel.java?r1=1.2&r2=1.3 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/OverviewPanel.java?r1=1.2&r2=1.3 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/JspPGPanel.java?r1=1.3&r2=1.4 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ServletPanel.java?r1=1.3&r2=1.4 I would ask Marek Fukaal to review the fix.
One strange thing which may be a bug is that dObj.modelUpdatedFromUI(); is now called after model change ( setValue(tc, tc.getText()); ) in spite of the previous state, where it was called before. Is that intentional? See: http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/FilterPanel.java?r1=1.2&r2=1.3 http://xml.netbeans.org/source/browse/xml/multiview/src/org/netbeans/modules/xml/multiview/ui/SectionInnerPanel.java?r1=1.19&r2=1.20 Another small comment: Please correct javadocs in the test panels. The signalUIChange() method there claims that the method is called before model change in spite of their superclass SectionInnerPanel.java which says: /** This will be called after model is changed from this panel * @deprecated use {@link SectionInnerPanel#endUIChange} instead */ protected void signalUIChange() { }
Yes, the modelUpdatedFromUI() must be called after setValue(). I fixed tha javadoc : http://xml.netbeans.org/source/browse/xml/multiview/src/org/netbeans/modules/xml/multiview/ui/BoxPanel.java?r1=1.7&r2=1.8 Also fixed javadoc by removing useless code : http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ErrorPagesPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ResEnvRefsPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ContextParamsPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ListenersPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/EjbRefsPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/FilterMappingsPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/MessageDestRefsPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/EnvEntriesPanel.java?r1=1.1&r2=1.2 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ResRefsPanel.java?r1=1.1&r2=1.2
OK then. Feel free to integrate to release50 branch...
Changes merged to Release 50 : Diffs: http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/FilterPanel.java?r1=1.2&r2=1.2.2.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/JspPGPanel.java?r1=1.3&r2=1.3.2.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/OverviewPanel.java?r1=1.2&r2=1.2.2.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ServletPanel.java?r1=1.3&r2=1.3.2.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/WelcomeFilesPanel.java?r1=1.4&r2=1.4.2.1
The remaining integrations: http://xml.netbeans.org/source/browse/xml/multiview/src/org/netbeans/modules/xml/multiview/ui/SectionInnerPanel.java?r1=1.19&r2=1.19.2.1 http://xml.netbeans.org/source/browse/xml/multiview/src/org/netbeans/modules/xml/multiview/ui/BoxPanel.java?r1=1.7&r2=1.7.32.1 http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/BookPanel.java?r1=1.1&r2=1.1.48.1 http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/ChapterPanel.java?r1=1.3&r2=1.3.46.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ContextParamsPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/EjbRefsPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/EnvEntriesPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ErrorPagesPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/FilterMappingsPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ListenersPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/MessageDestRefsPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ResEnvRefsPanel.java?r1=1.1&r2=1.1.38.1 http://j2ee.netbeans.org/source/browse/j2ee/ddloaders/src/org/netbeans/modules/j2ee/ddloaders/web/multiview/ResRefsPanel.java?r1=1.1&r2=1.1.38.1
New failure on Dec 22, 2005
Created attachment 28028 [details] Another failure
This should help. The test must wait until text field changes finish in dispatch thread: trunk: http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/XmlMultiViewEditorTest.java?r1=1.25r2=1.26 release50 branch : http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/XmlMultiViewEditorTest.java?r1=1.25r2=1.25.4.1
The correct links are : http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/XmlMultiViewEditorTest.java?r1=1.25&r2=1.26 and http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/XmlMultiViewEditorTest.java?r1=1.25&r2=1.25.4.1 (the ampersand was missing)
The previous fix didn't help. The test is still failing (RANDOMLY)
The last problem was in test only. Need to wait until focusGained() is finished in AWT thread. The procedure in SectionInnerPanel() relies that focusGained() is called before setValue(). In the automatic test this wasn't guaranteed and this was the source of problems. When editing by hand - the user cannot type to text field before focus is gained . Diffs: trunk: http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/XmlMultiViewEditorTest.java?r1=1.26&r2=1.27 release50 branch: http://xml.netbeans.org/source/browse/xml/multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/XmlMultiViewEditorTest.java?r1=1.25.4.1&r2=1.25.4.2
Okay, verifying then. I guess Yarda already knows what to do if he does not like the implemented solution ...