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 106505 - API review: Cancelling of long taking ClassIndex operations
Summary: API review: Cancelling of long taking ClassIndex operations
Status: RESOLVED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Source (show other bugs)
Version: 6.x
Hardware: All Linux
: P3 blocker (vote)
Assignee: apireviews
URL:
Keywords: API_REVIEW_FAST
Depends on:
Blocks:
 
Reported: 2007-06-13 14:25 UTC by Tomas Zezula
Modified: 2007-06-14 11:41 UTC (History)
2 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
Diff file (52.68 KB, patch)
2007-06-13 14:36 UTC, Tomas Zezula
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Zezula 2007-06-13 14:25:40 UTC
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.
Comment 1 Tomas Zezula 2007-06-13 14:36:49 UTC
Created attachment 43622 [details]
Diff file
Comment 2 Tomas Zezula 2007-06-13 14:38:40 UTC
I've attached a diff file, but it does not contain any signature changes, only javadoc of ClassIndex is changed.
Comment 3 Jaroslav Tulach 2007-06-13 15:39:42 UTC
Decent and elegant. I cannot imagine ways how to make the cancelations simpler from the client point ofview.

Comment 4 Tomas Zezula 2007-06-14 11:41:30 UTC
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