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.
The "slow" ClassIndex operations running inside task registered by factory are canceled by the JavaSource infrastructure when user starts typing. By now it was not possible for task to cancel when it was inside ClassIndex call. When the ClassIndex method is canceled it returns null instead of Set to let client determine this state. There is no signature API change only semantic change. The task registered by factories which use ClassIndex need to check the return values for null.
Created attachment 43622 [details] Diff file
I've attached a diff file, but it does not contain any signature changes, only javadoc of ClassIndex is changed.
Decent and elegant. I cannot imagine ways how to make the cancelations simpler from the client point ofview.
Checking in editor/src/org/netbeans/modules/java/editor/imports/ComputeImports.java; /cvs/java/editor/src/org/netbeans/modules/java/editor/imports/ComputeImports.java,v <-- ComputeImports.java new revision: 1.7; previous revision: 1.6 done Checking in editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenAnnotationHandler.java; /cvs/java/editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenAnnotationHandler.java,v <-- IsOverriddenAnnotationHandler.java new revision: 1.8; previous revision: 1.7 done Checking in editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenVisitor.java; /cvs/java/editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenVisitor.java,v <-- IsOverriddenVisitor.java new revision: 1.4; previous revision: 1.3 done Checking in source/apichanges.xml; /cvs/java/source/apichanges.xml,v <-- apichanges.xml new revision: 1.11; previous revision: 1.10 done Checking in source/nbproject/project.properties; /cvs/java/source/nbproject/project.properties,v <-- project.properties new revision: 1.23; previous revision: 1.22 done Checking in source/src/org/netbeans/api/java/source/ClassIndex.java; /cvs/java/source/src/org/netbeans/api/java/source/ClassIndex.java,v <-- ClassIndex.java new revision: 1.8; previous revision: 1.7 done Checking in source/src/org/netbeans/api/java/source/JavaSource.java; /cvs/java/source/src/org/netbeans/api/java/source/JavaSource.java,v <-- JavaSource.java new revision: 1.61; previous revision: 1.60 done Checking in source/src/org/netbeans/modules/java/source/JBrowseModule.java; /cvs/java/source/src/org/netbeans/modules/java/source/JBrowseModule.java,v <-- JBrowseModule.java new revision: 1.9; previous revision: 1.8 done Checking in source/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java,v <-- ClassIndexImpl.java new revision: 1.5; previous revision: 1.4 done Checking in source/src/org/netbeans/modules/java/source/usages/ClassIndexManager.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/ClassIndexManager.java,v <-- ClassIndexManager.java new revision: 1.5; previous revision: 1.4 done Checking in source/src/org/netbeans/modules/java/source/usages/Index.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/Index.java,v <-- Index.java new revision: 1.13; previous revision: 1.12 done RCS file: /cvs/java/source/src/org/netbeans/modules/java/source/usages/IndexFactory.java,v done Checking in source/src/org/netbeans/modules/java/source/usages/IndexFactory.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/IndexFactory.java,v <-- IndexFactory.java initial revision: 1.1 done Checking in source/src/org/netbeans/modules/java/source/usages/LuceneIndex.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/LuceneIndex.java,v <-- LuceneIndex.java new revision: 1.15; previous revision: 1.14 done RCS file: /cvs/java/source/src/org/netbeans/modules/java/source/usages/LuceneIndexFactory.java,v done Checking in source/src/org/netbeans/modules/java/source/usages/LuceneIndexFactory.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/LuceneIndexFactory.java,v <-- LuceneIndexFactory.java initial revision: 1.1 done Checking in source/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java,v <-- PersistentClassIndex.java new revision: 1.5; previous revision: 1.4 done Checking in source/src/org/netbeans/modules/java/source/usages/RepositoryUpdater.java; /cvs/java/source/src/org/netbeans/modules/java/source/usages/RepositoryUpdater.java,v <-- RepositoryUpdater.java new revision: 1.57; previous revision: 1.56 done Checking in source/test/unit/src/org/netbeans/api/java/source/JavaSourceTest.java; /cvs/java/source/test/unit/src/org/netbeans/api/java/source/JavaSourceTest.java,v <-- JavaSourceTest.java new revision: 1.14; previous revision: 1.13 done