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.
To avoid code copying (currently in Java, PHP and ClientSide projects) and incorrect synchronization, add support class for ProjectProblemsProvider. It should have similar role as e.g. ChangeSupport class has. Once I attach patches, I will start an API review.
Created attachment 125200 [details] ProjectProblemsProviderSupport API change.
Created attachment 125201 [details] API usage API usage for Java, PHP and ClientSide projects. The diffstat is: 6 files changed, 110 insertions(+), 215 deletions(-)
Please review, thanks.
OB01: I think that NetBeans annotations (@NonNull and such) should be used consistently in all methods and their parameters. OB02: Maybe @author annotation should be used ;)
Created attachment 125232 [details] API Patch updated.
OB01: Fixed. OB02: Fixed but please notice that the real author of the threading code is Tomas Zezula.
Seems good to me. TZ01: ProjectProblemsProviderSupport.getProblems(...) should return unmodifiable collection. TZ02(minor): Consider replacement of a new type ProblemsCollector by j.u.c.Callable<Collection<? extends ProjectProblemsProvider.ProjectProblem>>.
TZ01: Will do that. TZ02: I do not have strong opinion but solution with Callable seems to me to be a bit less "user-friendly". Is there any specific reason why to do that? Thanks.
Just to save one class on PermGen, nothing more.
TZ02: I definitely prefer readability and "user-friendly" approach. But it's on Tomas ;)
Created attachment 125271 [details] API Updated patch (TZ01)
TZ02: I will think about it. Thanks.
TZ02: I prefer to keep the interface. If there are no objections, I will integrate it today or tomorrow. Thanks for the review.
Fixed. http://hg.netbeans.org/web-main/rev/6039e10b7e1a http://hg.netbeans.org/web-main/rev/d4c81a1a4848
Integrated into 'main-golden', will be available in build *201210100002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/6039e10b7e1a User: Tomas Mysik <tmysik@netbeans.org> Log: #219313 - Add support class for ProjectProblemsProvider API itself.
Please fix: nbms-and-javadoc/apisupport.apidocs/build/javadoc/org-netbeans-modules-projectuiapi/apichanges.html:416:78: Broken link: org-netbeans-modules-projectuiapi/org/netbeans/api/project/ui/support/ProjectProblemsProviderSupport.html <class package="org.netbeans.api.project.ui.support" name="ProjectProblemsProviderSupport"/> is wrong.
(In reply to comment #16) > <class package="org.netbeans.api.project.ui.support" > name="ProjectProblemsProviderSupport"/> is wrong. Thanks for catching that, will fix it ASAP.
Fixed broken javadoc. http://hg.netbeans.org/web-main/rev/f1773120f4be
Integrated into 'main-golden', will be available in build *201210120002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/f1773120f4be User: Tomas Mysik <tmysik@netbeans.org> Log: #219313 cont'd - Add support class for ProjectProblemsProvider Apichanges fixed.