fixed two remaining issues with changed annotation metadata in beans model
This commit is contained in:
@@ -11,7 +11,6 @@
|
||||
package org.springframework.ide.vscode.boot.java.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -30,6 +29,7 @@ import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguage
|
||||
import org.springframework.ide.vscode.commons.protocol.java.Classpath;
|
||||
import org.springframework.ide.vscode.commons.protocol.java.Gav;
|
||||
import org.springframework.ide.vscode.commons.protocol.java.ProjectGavParams;
|
||||
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.BeansParams;
|
||||
|
||||
@@ -57,7 +57,7 @@ public class WorkspaceBootExecutableProjects {
|
||||
params.setProjectName(project.getElementName());
|
||||
return symbolIndex.beans(params).thenApply(beans -> {
|
||||
List<Bean> bootAppBeans = beans.stream()
|
||||
.filter(b -> Arrays.asList(b.getAnnotations()).contains(Annotations.BOOT_APP))
|
||||
.filter(b -> hasAnnotation(b, Annotations.BOOT_APP))
|
||||
.limit(2)
|
||||
.collect(Collectors.toList());
|
||||
if (bootAppBeans.size() == 1) {
|
||||
@@ -76,6 +76,17 @@ public class WorkspaceBootExecutableProjects {
|
||||
});
|
||||
}
|
||||
|
||||
private boolean hasAnnotation(Bean bean, String annotationType) {
|
||||
AnnotationMetadata[] annotations = bean.getAnnotations();
|
||||
for (int i = 0; i < annotations.length; i++) {
|
||||
if (annotationType.equals(annotations[i].getAnnotationType())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private CompletableFuture<List<ExecutableProject>> findExecutableProjects() {
|
||||
List<CompletableFuture<Optional<ExecutableProject>>> futures = projectFinder.all().stream()
|
||||
.filter(p -> SpringProjectUtil.isBootProject(p))
|
||||
|
||||
@@ -391,7 +391,9 @@ public class ModulithService {
|
||||
for (Bean bean : beansOfProject) {
|
||||
String beanType = bean.getType();
|
||||
if (beanType != null) {
|
||||
if (Arrays.stream(bean.getAnnotations()).anyMatch(Annotations.BOOT_APP::equals)) {
|
||||
if (Arrays.stream(bean.getAnnotations())
|
||||
.map(annotation -> annotation.getAnnotationType())
|
||||
.anyMatch(Annotations.BOOT_APP::equals)) {
|
||||
packages.add(getPackageNameFromTypeFQName(beanType));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user