From 5e3663af5293df0a9e16808751677184af8222ac Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Fri, 14 Apr 2023 12:12:54 +0200 Subject: [PATCH] moved lsp server beans model extension implementation to spring indexer --- .../ide/vscode/boot/app/SpringSymbolIndex.java | 8 +++++++- .../ide/vscode/boot/index/SpringMetamodelIndex.java | 9 +-------- 2 files changed, 8 insertions(+), 9 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 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); }