From b3af8580ff06e6a578d8df427223a4e6b06d0dc7 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Fri, 14 Jul 2023 12:58:16 +0200 Subject: [PATCH] fixed NPE when there are no symbols for a project (in case something went wrong) --- .../ide/vscode/boot/app/SpringSymbolIndex.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java index a18e5cabb..41e6758a5 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java @@ -723,7 +723,10 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex { CompletableFuture latestTask = this.latestScheduledTaskByProject.get(projectName); if (latestTask != null) { - return latestTask.thenApply((e) -> Arrays.asList(springIndex.getBeansOfProject(projectName))); + return latestTask.thenApply((e) -> { + Bean[] beansOfProject = springIndex.getBeansOfProject(projectName); + return beansOfProject != null ? Arrays.asList(beansOfProject) : Collections.emptyList(); + }); } else { return CompletableFuture.completedFuture(null); @@ -738,7 +741,10 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex { CompletableFuture latestTask = this.latestScheduledTaskByProject.get(projectName); if (latestTask != null) { - return latestTask.thenApply((e) -> Arrays.asList(springIndex.getMatchingBeans(projectName, matchType))); + return latestTask.thenApply((e) -> { + Bean[] matchingBeans = springIndex.getMatchingBeans(projectName, matchType); + return matchingBeans != null ? Arrays.asList(matchingBeans) : Collections.emptyList(); + }); } else { return CompletableFuture.completedFuture(null);