Beans model extension API for VSCode

This commit is contained in:
aboyko
2023-05-08 18:57:45 -04:00
parent b19c16cee6
commit dfe0c51331
7 changed files with 102 additions and 7 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.BeansParams;
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;
@@ -706,7 +707,8 @@ public class SpringSymbolIndex implements InitializingBean, SpringModelService {
}
@Override
public CompletableFuture<List<Bean>> beans(String projectName) {
public CompletableFuture<List<Bean>> beans(BeansParams params) {
String projectName = params.getProjectName();
CompletableFuture<Void> latestTask = this.latestScheduledTaskByProject.get(projectName);
if (latestTask != null) {

View File

@@ -30,6 +30,7 @@ import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
import org.springframework.ide.vscode.commons.protocol.spring.Bean;
import org.springframework.ide.vscode.commons.protocol.spring.BeansParams;
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -65,7 +66,9 @@ public class SpringModelServiceTest {
@Test
void testSpringModelServiceBeansForNonExistingProject() throws Exception {
CompletableFuture<List<Bean>> result = indexer.beans("random-project");
BeansParams params = new BeansParams();
params.setProjectName("random-project");
CompletableFuture<List<Bean>> result = indexer.beans(params);
List<Bean> list = result.get();
assertNull(list);
@@ -73,7 +76,9 @@ public class SpringModelServiceTest {
@Test
void testBeansNameAndTypeFromBeanAnnotatedMethod() throws Exception {
CompletableFuture<List<Bean>> result = indexer.beans("test-spring-indexing");
BeansParams params = new BeansParams();
params.setProjectName("test-spring-indexing");
CompletableFuture<List<Bean>> result = indexer.beans(params);
List<Bean> beans = result.get(5, TimeUnit.SECONDS);