GH-1424: bean index elements now childs of surrounding config node

This commit is contained in:
Martin Lippert
2025-02-10 15:15:27 +01:00
parent 8f6b5a619a
commit f5cc986854
3 changed files with 44 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@@ -41,6 +42,7 @@ import org.springframework.ide.vscode.commons.protocol.spring.AnnotationMetadata
import org.springframework.ide.vscode.commons.protocol.spring.Bean;
import org.springframework.ide.vscode.commons.protocol.spring.DefaultValues;
import org.springframework.ide.vscode.commons.protocol.spring.InjectionPoint;
import org.springframework.ide.vscode.commons.protocol.spring.SpringIndexElement;
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -135,6 +137,10 @@ public class SpringMetamodelIndexerBeansTest {
String docUri = directory.toPath().resolve("src/main/java/org/test/injections/ConfigurationWithoutInjection.java").toUri().toString();
assertEquals(docUri, beans[0].getLocation().getUri());
List<SpringIndexElement> children = beans[0].getChildren();
assertEquals(1, children.size());
assertEquals("beanWithoutInjections", ((Bean) children.get(0)).getName());
}
@Test
@@ -461,6 +467,11 @@ public class SpringMetamodelIndexerBeansTest {
Location runtimeHintsValueLocation = new Location(bean.getLocation().getUri(), new Range(new Position(13, 20), new Position(13, 52)));
assertEquals("org.test.injections.DummyRuntimeHintsRegistrar", runtimeHintsValueAttribute[0].getName());
assertEquals(runtimeHintsValueLocation, runtimeHintsValueAttribute[0].getLocation());
// child bean
List<SpringIndexElement> children = bean.getChildren();
assertEquals(1, children.size());
assertEquals("beanWithAnnotationsOnInjectionPoints", ((Bean) children.get(0)).getName());
}
@Test

View File

@@ -10,10 +10,13 @@
*******************************************************************************/
package org.springframework.ide.vscode.boot.java.beans.test;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@@ -29,6 +32,7 @@ import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
import org.springframework.ide.vscode.boot.index.SpringMetamodelIndex;
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.SpringIndexElement;
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -78,7 +82,13 @@ public class SpringIndexerBeansTest {
Bean simpleBean = Arrays.stream(beans).filter(bean -> bean.getName().equals("simpleBean")).findFirst().get();
assertEquals("org.test.SimpleConfiguration", simpleConfigBean.getType());
assertTrue(simpleConfigBean.isConfiguration());
assertEquals("org.test.BeanClass", simpleBean.getType());
List<SpringIndexElement> children = simpleConfigBean.getChildren();
assertEquals(1, children.size());
assertSame(simpleBean, children.get(0));
}
@Test