From 99032f166622eda827b8fa4ffa5860b52d71ba67 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Sun, 15 Oct 2023 14:48:25 +0200 Subject: [PATCH] GH-1124: do not run indexing and cache write for empty list of affected files --- .../boot/java/utils/SpringIndexerJava.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java index b5d3f38e2..242647e87 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java @@ -457,18 +457,20 @@ public class SpringIndexerJava implements SpringIndexer { } } - DocumentDescriptor[] docsToScan = filesToScan.stream().map(file -> { - File realFile = new File(file); - String docURI = UriUtil.toUri(realFile).toASCIIString(); - long lastModified = realFile.lastModified(); - return new DocumentDescriptor(docURI, lastModified); - }).toArray(DocumentDescriptor[]::new); - - for (DocumentDescriptor docToScan : docsToScan) { - this.symbolHandler.removeSymbols(project, docToScan.getDocURI()); + if (!filesToScan.isEmpty()) { + DocumentDescriptor[] docsToScan = filesToScan.stream().map(file -> { + File realFile = new File(file); + String docURI = UriUtil.toUri(realFile).toASCIIString(); + long lastModified = realFile.lastModified(); + return new DocumentDescriptor(docURI, lastModified); + }).toArray(DocumentDescriptor[]::new); + + for (DocumentDescriptor docToScan : docsToScan) { + this.symbolHandler.removeSymbols(project, docToScan.getDocURI()); + } + + scanFilesInternally(project, docsToScan); } - - scanFilesInternally(project, docsToScan); log.info("Finished scanning affected files {}", alreadyScannedFiles); }