Community
Participate
Working Groups
Build 20020109 When a project is opened, all its libraries are requested to be indexed. This is unnecessary and should be done only when the library is added.
Also look at 7441 which is a related issue. When switching JREs, all projects might references to rt.jar will be reindexed... we should also optimize this scenario (if taking out the library indexing from project opening). But then how do we deal with case where a non empty project is added from CVS at once. Its libraries must be detected as well for triggering indexing
*** Bug 7441 has been marked as a duplicate of this bug. ***
Removed indexing during JavaProject.openWhenClosed(...) and added it in the SetClasspathOperation. Also added mechanism to queue the index request on startup (during the check index constency) and when a variable is updated (when switching JRE). The queue is a HashSet, thus if a request is added twice, it will be run only once.
Improved the mechanism to eliminate duplicates: when an index request is added to the job manager's queue, check if it is already there (with the same modification timestamp for the underlying resource). Thus the extra queue (i.e. the HasSet) is not needed any longer. Removed it.