diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/BootJavaHoverProvider.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/BootJavaHoverProvider.java index 54899dae0..ac57efc4e 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/BootJavaHoverProvider.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/BootJavaHoverProvider.java @@ -11,7 +11,6 @@ package org.springframework.ide.vscode.boot.java.handlers; import java.util.Collection; -import java.util.Collections; import java.util.LinkedHashSet; import java.util.Optional; @@ -59,15 +58,18 @@ public class BootJavaHoverProvider implements HoverHandler { private JavaProjectFinder projectFinder; private BootJavaLanguageServerComponents server; private AnnotationHierarchyAwareLookup hoverProviders; + private RunningAppProvider runningAppProvider; private Collection runningSpringBootApps; + public BootJavaHoverProvider(BootJavaLanguageServerComponents server, JavaProjectFinder projectFinder, AnnotationHierarchyAwareLookup specificProviders, RunningAppProvider runningAppProvider) { this.server = server; this.projectFinder = projectFinder; this.hoverProviders = specificProviders; - this.runningSpringBootApps = Collections.emptyList(); + this.runningAppProvider = runningAppProvider; + this.runningSpringBootApps = null; } @Override @@ -353,6 +355,10 @@ public class BootJavaHoverProvider implements HoverHandler { private SpringBootApp[] getRunningSpringApps(IJavaProject project) { try { Collection allApps = this.runningSpringBootApps; + if (allApps == null) { + allApps = runningAppProvider.getAllRunningSpringApps(); + } + Collection allMatchingApps = RunningAppMatcher.getAllMatchingApps(allApps, project); return allMatchingApps.toArray(new SpringBootApp[0]);