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 60837 - Undocumented, unreviewed API change in tabcontrol API
Summary: Undocumented, unreviewed API change in tabcontrol API
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 5.x
Hardware: All All
: P2 blocker (vote)
Assignee: apireviews
URL:
Keywords: API, API_REVIEW_FAST
Depends on:
Blocks:
 
Reported: 2005-07-11 13:37 UTC by Jaroslav Tulach
Modified: 2008-12-22 21:59 UTC (History)
3 users (show)

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 Jaroslav Tulach 2005-07-11 13:37:24 UTC
The tabcontrol is exposed as friend API   
http://www.netbeans.org/download/dev/javadoc/org-netbeans-swing-tabcontrol/overview-summary.html   
and as such changes in it are subject to review   
http://openide.netbeans.org/tutorial/reviews/   
and versioning policy   
http://openide.netbeans.org/versioning-policy.html   
   
The (fasttrack) review has not been done before integration and the necessary   
steps in versioning policy has not been followed. This bugs is here to help  
the module owner to "get well". Things there are likely missing:  
  
1. incompatible change of api needs one major version increment per release  
2. module spec version needs to be increased  
3. api change documented in api changes  
 
And last, but not least: Next time do review before commit using fastrack 
review.
Comment 1 _ tboudreau 2005-07-11 18:30:21 UTC
I made ChicletWrapper a package private class - I saw it was public and there was no reason for it to be, 
it was just an accident when I wrote it, I guess.

AFAIK, after offline discussion w/ Jarda, since Jarda's fix of the context classloader stuff, we should be 
able to remove org.netbeans.swing.tabcontrol.plaf from the public packages list, which is what really 
should be fixed here - I think it was only in public packages to ensure that UIManager would not have 
problems constructing instances of its classes.
Comment 2 _ tboudreau 2005-07-22 18:23:03 UTC
It turns out that core-windows uses org.netbeans.swing.plaf.EqualPolygon (implementation of Polygon 
with working equals() and hashCode() methods) as an optimization in drag and drop (otherwise drag 
and drop will be slow to paint feedback - it's a pretty big optimization).

So for the time being, I don't want to remove org.netbeans.swing.plaf.* from the list of public packages 
for core-swing-tabcontrol (an option would be to duplicate the EqualPolygon class in core-windows, 
but this doesn't seem like a great idea).

So what I'm requesting review for is simply making ChicletWrapper package private.  I have some work 
in progress to create a new package of UI delegates that are much easier to customize painting 
behavior on, so longer term we can hopefully deprecate the entirety of this package.
Comment 3 Jan Chalupa 2005-09-15 09:10:29 UTC
Any progress on this issue? Still a P2 defect?
Comment 4 _ tboudreau 2005-09-17 20:53:33 UTC
As ChicletWrapper is public again, this issue is fixed.  Since there were no
objections to fast track review, I can also document the change and make it non
public as I originally wanted to.  Any preference?  Looks like either way the
issue is fixed.

(FWIW, I'd believe in pigs with wings before I'd believe anyone was actually
affected by this api change).
Comment 5 Marian Mirilovic 2006-01-18 15:00:15 UTC
based on last Tim's comment - verified