Community
Participate
Working Groups
Build 3.2 M3 (but already exists in 3.0) Working on failing tests in SearchParticipantTests, there's a test which uses a SearchParticipant with a specific index location. Then, corresponding Index is stored in IndexManager cache. Problem is at the end of test, project is deleted and we want also to remove the specific index file using IO File delete() method. Unfortunately, doing this, Index is not removed from IndexManager cache and there's no way to do it... Next test creates same SearchParticipant which fails to save the Index as it considers that it already exists in the IndexManager cache and so does not create the underlying IO file...
It looks like a design hole in search participants. We might want to provide an API that deletes the index given an index location (e.g. SearchParticipant#removeIndex(IPath indexLocation)) and encourage clients to use it instead of manually deleting the index file themselves. This would give us the oportunity to remove it from the cache.
Fixed and released in HEAD. Test cases modified in SearchParticipantTests
Verified for 3.2 M4 using build I20051213-0010