moved lsp server beans model extension implementation to spring indexer

This commit is contained in:
Martin Lippert
2023-04-14 12:12:54 +02:00
parent a229820b01
commit 825a65d1df
2 changed files with 8 additions and 9 deletions

View File

@@ -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<List<Bean>> 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

View File

@@ -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<String, Bean[]> beansPerProject;
@@ -29,11 +27,6 @@ public class SpringMetamodelIndex implements SpringModelService {
beansPerProject = new ConcurrentHashMap<>();
}
@Override
public CompletableFuture<List<Bean>> beans(String project) {
return CompletableFuture.completedFuture(null);
}
public void updateBeans(String projectName, Bean[] beanDefinitions) {
beansPerProject.put(projectName, beanDefinitions);
}