Merge branch 'main' into jdt-diagnostics-via-symbols

This commit is contained in:
Martin Lippert
2023-08-01 10:13:38 +02:00
12 changed files with 297 additions and 31 deletions

View File

@@ -399,14 +399,19 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex {
return CompletableFuture.completedFuture(null);
} else {
removeSymbolsByProject(project);
springIndex.removeBeans(project.getElementName());
@SuppressWarnings("unchecked")
CompletableFuture<Void>[] futures = new CompletableFuture[this.indexers.length];
CompletableFuture<Void>[] futures = new CompletableFuture[this.indexers.length + 1];
// clean future
futures[0] = CompletableFuture.runAsync(() -> {
removeSymbolsByProject(project);
springIndex.removeBeans(project.getElementName());
}, this.updateQueue);
// index futures
for (int i = 0; i < this.indexers.length; i++) {
InitializeProject initializeItem = new InitializeProject(project, this.indexers[i], clean);
futures[i] = CompletableFuture.runAsync(initializeItem, this.updateQueue);
futures[i + 1] = CompletableFuture.runAsync(initializeItem, this.updateQueue);
}
CompletableFuture<Void> future = CompletableFuture.allOf(futures);