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 c3cea213a..6ea90cfb1 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 @@ -70,6 +70,7 @@ import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguage import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService; import org.springframework.ide.vscode.commons.languageserver.util.SimpleWorkspaceService; import org.springframework.ide.vscode.commons.protocol.spring.Bean; +import org.springframework.ide.vscode.commons.protocol.spring.SpringModelService; import org.springframework.ide.vscode.commons.util.Futures; import org.springframework.ide.vscode.commons.util.StringUtil; import org.springframework.ide.vscode.commons.util.UriUtil; @@ -82,7 +83,7 @@ import com.google.common.collect.ImmutableList; * @author Martin Lippert */ @Component -public class SpringSymbolIndex implements InitializingBean { +public class SpringSymbolIndex implements InitializingBean, SpringModelService { @Autowired SimpleLanguageServer server; @Autowired BootJavaConfig config; @@ -688,6 +689,11 @@ public class SpringSymbolIndex implements InitializingBean { return Collections.emptyList(); } } + + @Override + public CompletableFuture> beans(String project) { + return CompletableFuture.completedFuture(Arrays.asList(springIndex.getBeansOfProject(project))); + } /** * inserts a noop operation into the worker/update quene, which allows invokers to use the diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/index/SpringMetamodelIndex.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/index/SpringMetamodelIndex.java index d2823afe4..8e1e57bfe 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/index/SpringMetamodelIndex.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/index/SpringMetamodelIndex.java @@ -13,15 +13,13 @@ package org.springframework.ide.vscode.boot.index; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.stream.Collectors; import org.springframework.ide.vscode.commons.protocol.spring.Bean; -import org.springframework.ide.vscode.commons.protocol.spring.SpringModelService; -public class SpringMetamodelIndex implements SpringModelService { +public class SpringMetamodelIndex { private final ConcurrentMap beansPerProject; @@ -29,11 +27,6 @@ public class SpringMetamodelIndex implements SpringModelService { beansPerProject = new ConcurrentHashMap<>(); } - @Override - public CompletableFuture> beans(String project) { - return CompletableFuture.completedFuture(null); - } - public void updateBeans(String projectName, Bean[] beanDefinitions) { beansPerProject.put(projectName, beanDefinitions); }