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.
In 6.1 and 6.5 J2EE team refactored J2EE/Web project types and moved most of code which was initially copy&pasted from J2SE project into shared friend API module j2ee.common (and eliminated about 20k lines of code). For 7.0 we would like to push most of this code back where it belongs - Java domain. Specifically to java.api.common which is friend API module. The primary goal is to eliminate code duplication and diverging code and makes changes and maintenance easier in future. Friend API contract was chosen as no stable API is going to be defined for now - classes are taken as they are from several different places and merged into one version. API-fication can be done in next step if desired. Attached is zipped new java.api.common module (common.classpath and common.project packages are completely new) and diff of changes in J2SE project module. These and related changes in j2ee.common project (diff not included) eliminates further 15k lines of code). It is not final but should give you good idea about the scope of changes. All classes added to java.api.common are J2SE project versions of classes with slight enhancements to make them usable and customizable in J2EE project types. These customization points are (in java.api.common module): - ClassPathModifier.Callback - ClassPathSupport.Callback - ClassPathUiSupport.Callback - LogicalViewProvider2 - CustomizerProvider2 What needs to be still done is apichanges document, @since, fix Javadoc on new customization points, increase module versions and testing. This is friend API contract but I'm passing it to API review to inform people about the change. Thanks for your comments in advance. I would like to integrate this rather earlier then late if everything goes well - first half of next week.
Created attachment 71953 [details] java.api.common.tar.gz
Created attachment 71954 [details] J2SE project changes
*** Issue 49649 has been marked as a duplicate of this issue. ***
Seems very promising. ClassPathProviderImpl: getPropertyName - is it needed to be public, propertyChange shouldn't be public. ActionFilterNode if possible it should be package private. AntArtifactChooser propertyChange is public. Probably other methods can be made package private. Also since tags are missing but David already mentioned it. My comments are TCA as this is a friend API not a public API.
Thanks Tomas. I implemented your suggestions, fixed all my TODO items and tested the changes. If there are some regressions in next days/weeks please either put me on CC or assign the issue to me. Thanks.
changeset: 105202:2c2327006724 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 14:07:47 2008 +1300 summary: removing JspNameUtil which duplicated methods from Utils changeset: 105203:cb80f5af7e4a user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 14:25:30 2008 +1300 summary: merging WebProjectUtil with Utils changeset: 105204:a9f24e4cfb36 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 14:35:59 2008 +1300 summary: removing unused file - version of FileSearchUtility from j2ee.common is used instead changeset: 105205:1e0d0dfb18e1 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 15:00:39 2008 +1300 summary: EjbJarProjectUtil merged with Utils; PropertyHelper removed changeset: 105206:14484f0a69f1 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 15:27:15 2008 +1300 summary: refactoring default impl of ServerStatusProvider to j2ee.common module changeset: 105207:8e5591b3a76a user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 15:56:53 2008 +1300 summary: merge AppClientProjectUtil with Utils changeset: 105208:7a61b4d9bfce user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 16:11:47 2008 +1300 summary: for now copy&pasting main class updater from J2SE project changeset: 105209:a85193a52ae1 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 16:17:10 2008 +1300 summary: removing unused file changeset: 105210:ed6bfd09bcd6 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 07 22:39:15 2008 +1300 summary: refactoring Ant output filtering; adding it to web and ear changeset: 105211:1f5235cf2010 user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 08 11:41:28 2008 +1300 summary: moving BootClassPathImplementation to j2ee.common changeset: 105212:4b8d81912431 user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 08 15:09:46 2008 +1300 summary: moving SourcePathImplementation to j2ee.common changeset: 105213:62dc55d88e04 user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 08 16:06:01 2008 +1300 summary: moving SourceNodeFactory to j2ee.common changeset: 105214:4839f35a87ad user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 08 16:53:23 2008 +1300 summary: moving SourceRootsUi to j2ee.common changeset: 105215:04c1eb4c7e33 user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 08 17:11:22 2008 +1300 summary: moving FolderList to j2ee.common changeset: 105216:892f1d1fa8d6 user: David Konecny <dkonecny@netbeans.org> date: Fri Oct 10 14:56:51 2008 +1300 summary: use J2SE's ClassPathProviderImpl (for now copied to j2ee.common) changeset: 105217:7cb5b02bf767 user: David Konecny <dkonecny@netbeans.org> date: Mon Oct 13 15:03:43 2008 +1300 summary: removing pointless registration - EAR does not have anything to compile changeset: 105218:b4d903d9cd56 user: David Konecny <dkonecny@netbeans.org> date: Mon Oct 13 16:29:45 2008 +1300 summary: adding BinaryForSourceQueryImpl to java.api.common changeset: 105219:d132dcb983f8 user: David Konecny <dkonecny@netbeans.org> date: Mon Oct 13 16:37:48 2008 +1300 summary: move j2ee.common.AbstractProjectAntLogger to java.api.common.ProjectAntLogger changeset: 105220:3b88821e7b6a user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 14 11:13:02 2008 +1300 summary: fixing compilation error - BinaryForSourceQueryImpl is now private in java.api.common changeset: 105221:8208d75543a0 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 14 11:17:18 2008 +1300 summary: let's redo classpath package; I will remove all files first; make it public package changeset: 105222:0aa31d41810f user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 14 11:20:42 2008 +1300 summary: merging all impls of BootClassPathImplementation into one changeset: 105223:f786282cc2e1 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 14 13:28:26 2008 +1300 summary: merging SourcePathImplementations into one; adding ClassPathSupport as API entry point changeset: 105224:a8d015aa3bc5 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 14 13:41:27 2008 +1300 summary: updating getRunTimeClasspath based on discussion with Tomas Zezula changeset: 105225:4bea276d5073 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 14 13:50:39 2008 +1300 summary: too many ClassPathSupport classes - use different name changeset: 105226:17231ac7a6df user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 15 10:23:43 2008 +1300 summary: moving ClassPathSupport from j2ee.common to java.api.common changeset: 105227:d6cc1f98a1d9 user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 15 15:27:52 2008 +1300 summary: moving ClassPathUiSupport, EditMediator and ClassPathListCellRenderer and associated classes to java.api.common changeset: 105228:5af91e08b3e2 user: David Konecny <dkonecny@netbeans.org> date: Wed Oct 15 15:34:33 2008 +1300 summary: migrate to java.api.common; following classes were removed: ClassPathSupport, ClassPathUiSupport, J2SEClassPathUi and AntArtifactChooser changeset: 105229:c8023491c14a user: David Konecny <dkonecny@netbeans.org> date: Thu Oct 16 15:29:15 2008 +1300 summary: moving all remaining Java stuff from j2ee.common to java.api.common and updating it to match latest versions from j2seproject changeset: 105230:dc4a13e19320 user: David Konecny <dkonecny@netbeans.org> date: Thu Oct 16 15:30:29 2008 +1300 summary: forgot to commit changes in this file changeset: 105231:9d88722830fc user: David Konecny <dkonecny@netbeans.org> date: Thu Oct 16 15:45:10 2008 +1300 summary: updating layers to new node provider changeset: 105232:63a277b8ed93 user: David Konecny <dkonecny@netbeans.org> date: Thu Oct 16 15:45:52 2008 +1300 summary: updating J2SE project to use java.api.common changeset: 106246:2b8d72b12282 user: David Konecny <dkonecny@netbeans.org> date: Mon Oct 20 12:02:53 2008 +1300 summary: #149267:IDE deadlock when invoking popup menu in editor right after the startup. changeset: 106247:a01817c3bcf1 user: David Konecny <dkonecny@netbeans.org> date: Mon Oct 20 13:41:38 2008 +1300 summary: callback is optional changeset: 106248:09b74e8fcb83 user: David Konecny <dkonecny@netbeans.org> date: Mon Oct 20 14:29:10 2008 +1300 summary: making unit tests compilable again changeset: 106747:db857dda986e user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 28 13:35:08 2008 +1300 summary: API cleanup, javadoc fixes, adding since tag and increasing module versions changeset: 106748:aa06084673a5 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 28 13:38:44 2008 +1300 summary: version update changeset: 106749:38dab50acbf1 user: David Konecny <dkonecny@netbeans.org> date: Tue Oct 28 15:31:04 2008 +1300 summary: javadoc
Integrated into 'main-golden', will be available in build *200811110201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/59576fc3ac24 User: David Konecny <dkonecny@netbeans.org> Log: #150357 - fixing regression introduced by refactorings done in issue 150357
*** Bug 49650 has been marked as a duplicate of this bug. ***