all two-level tab navigation was broken

Joseph Marques jmarques at redhat.com
Mon Dec 13 14:58:54 UTC 2010


Two-level tab navigation appeared to be bust this weekend.  After some 
investigation I was able to track the issue down to commit b20dc08 from 
Friday/11am (fix so subtab content refreshes when you switch back to a 
subtab BZ-661528).  That fix altered the following line:

if (subView instanceof BookmarkableView) {

to:

if (subView instanceof BookmarkableView && !viewPath.isEnd()) {

so that the else block, which checks for RefreshableView, would 
trigger.  The larger effect of this, however, is that renderView for 
TableSection is never invoked...not on first page load, not on tab 
switching, not on subtab switching.  This then has the effect that the 
private member variable 'basepath' for TableSection is never set, which 
means that the master/details navigation is broken (row double-click, 
name-column hyperlink, back-to-list functionality, new button, etc).

So I removed the check for isEnd() and things are back to normal for 
now, but it likely reintroduces some or all of BZ-661528.  I've flipped 
that bugzilla back to ON_DEV, and reassigned to Ian to take a look at, 
but I think the bigger issue here is how easy it is to regress on a 
large part of the navigation experience when plumbing around in our 
infrastructure classes.  We either need to put some emphasis on 
automated testing in this area, or be a bit more diligent about manually 
testing for regressions when committing enhancements to these classes.

-joseph




More information about the rhq-devel mailing list