From feb0f77f905754aac291384be99f0ee2155e315b Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Thu, 2 May 2024 10:43:35 +0200 Subject: [PATCH] turn the base reconciler test to use new AST visitor creators and removed outdated reconcile method from reconciling mechanism --- .../AbstractSecurityLamdaDslReconciler.java | 8 -------- .../AddConfigurationIfBeansPresentReconciler.java | 6 ------ .../java/reconcilers/AnnotationNodeReconciler.java | 6 ------ .../AuthorizeHttpRequestsReconciler.java | 8 -------- ...redFieldIntoConstructorParameterReconciler.java | 8 -------- .../reconcilers/BeanMethodNotPublicReconciler.java | 6 ------ .../BeanPostProcessingIgnoreInAotReconciler.java | 6 ------ .../Boot3NotSupportedTypeReconciler.java | 6 ------ .../reconcilers/EntityIdForRepoReconciler.java | 8 -------- .../boot/java/reconcilers/JdtAstReconciler.java | 10 ++++++++-- .../ModulithTypeReferenceViolationReconciler.java | 8 -------- .../NoAutowiredOnConstructorReconciler.java | 6 ------ .../reconcilers/NoRepoAnnotationReconciler.java | 6 ------ .../NoRequestMappingAnnotationReconciler.java | 6 ------ .../reconcilers/NotRegisteredBeansReconciler.java | 6 ------ .../reconcilers/PreciseBeanTypeReconciler.java | 6 ------ .../UnnecessarySpringExtensionReconciler.java | 7 ------- .../WebSecurityConfigurerAdapterReconciler.java | 6 ------ .../java/reconcilers/test/BaseReconcilerTest.java | 14 +++++++++++++- 19 files changed, 21 insertions(+), 116 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java index 132f9b1da..22d7afa8b 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java @@ -33,14 +33,6 @@ public abstract class AbstractSecurityLamdaDslReconciler implements JdtAstReconc this.registry = registry; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - if (visitor != null) { - cu.accept(visitor); - } - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AddConfigurationIfBeansPresentReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AddConfigurationIfBeansPresentReconciler.java index 4e853c124..c1c824546 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AddConfigurationIfBeansPresentReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AddConfigurationIfBeansPresentReconciler.java @@ -73,12 +73,6 @@ public class AddConfigurationIfBeansPresentReconciler implements JdtAstReconcile this.applicationContext = applicationContext; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { return new ASTVisitor() { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AnnotationNodeReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AnnotationNodeReconciler.java index 15f1d8435..c6df45df1 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AnnotationNodeReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AnnotationNodeReconciler.java @@ -86,12 +86,6 @@ public class AnnotationNodeReconciler implements JdtAstReconciler { return SpelProblemType.JAVA_SPEL_EXPRESSION_SYNTAX; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AuthorizeHttpRequestsReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AuthorizeHttpRequestsReconciler.java index 62a8f9a3b..0919712f0 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AuthorizeHttpRequestsReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AuthorizeHttpRequestsReconciler.java @@ -56,14 +56,6 @@ public class AuthorizeHttpRequestsReconciler implements JdtAstReconciler { return Boot2JavaProblemType.HTTP_SECURITY_AUTHORIZE_HTTP_REQUESTS; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - if (visitor != null) { - cu.accept(visitor); - } - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java index 56d017f7e..e05093577 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java @@ -65,14 +65,6 @@ public class AutowiredFieldIntoConstructorParameterReconciler implements JdtAstR return Boot2JavaProblemType.JAVA_CONSTRUCTOR_PARAMETER_INJECTION; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - if (visitor != null) { - cu.accept(visitor); - } - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java index 30f67e703..2f2dd87c3 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java @@ -65,12 +65,6 @@ public class BeanMethodNotPublicReconciler implements JdtAstReconciler { return Boot2JavaProblemType.JAVA_PUBLIC_BEAN_METHOD; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java index 12d0ffea7..e4e99e608 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java @@ -55,12 +55,6 @@ public class BeanPostProcessingIgnoreInAotReconciler implements JdtAstReconciler return SpringAotJavaProblemType.JAVA_BEAN_POST_PROCESSOR_IGNORED_IN_AOT; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/Boot3NotSupportedTypeReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/Boot3NotSupportedTypeReconciler.java index 220ceed54..6974857a1 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/Boot3NotSupportedTypeReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/Boot3NotSupportedTypeReconciler.java @@ -44,12 +44,6 @@ public class Boot3NotSupportedTypeReconciler implements JdtAstReconciler { return Boot3JavaProblemType.JAVA_TYPE_NOT_SUPPORTED; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docURI, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { return new ASTVisitor() { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/EntityIdForRepoReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/EntityIdForRepoReconciler.java index ac82bf8ff..e262f8b88 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/EntityIdForRepoReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/EntityIdForRepoReconciler.java @@ -66,14 +66,6 @@ public class EntityIdForRepoReconciler implements JdtAstReconciler { return Boot2JavaProblemType.DOMAIN_ID_FOR_REPOSITORY; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - if (visitor != null) { - cu.accept(visitor); - } - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docURI, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtAstReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtAstReconciler.java index 411e7faf2..24366f716 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtAstReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtAstReconciler.java @@ -20,8 +20,14 @@ import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemTy public interface JdtAstReconciler { - void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException; - + /** + * This checks whether the reconciler is applicable for the given project. + * The implementation can take project and classpath information into account, + * but should not look into source or output folders. + * + * The result is the implementation might be cached and cache entries will only + * be renewed if the project changes. + */ boolean isApplicable(IJavaProject project); ProblemType getProblemType(); diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ModulithTypeReferenceViolationReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ModulithTypeReferenceViolationReconciler.java index a3a65104c..19625ecf2 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ModulithTypeReferenceViolationReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ModulithTypeReferenceViolationReconciler.java @@ -51,14 +51,6 @@ public class ModulithTypeReferenceViolationReconciler implements JdtAstReconcile this.appContext = applicationContext; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - if (visitor != null) { - cu.accept(visitor); - } - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java index 609ff5511..9b25172bc 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java @@ -54,12 +54,6 @@ public class NoAutowiredOnConstructorReconciler implements JdtAstReconciler { return Boot2JavaProblemType.JAVA_AUTOWIRED_CONSTRUCTOR; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRepoAnnotationReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRepoAnnotationReconciler.java index a722dfbb2..7b0aed423 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRepoAnnotationReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRepoAnnotationReconciler.java @@ -53,12 +53,6 @@ public class NoRepoAnnotationReconciler implements JdtAstReconciler { return Boot2JavaProblemType.JAVA_REPOSITORY; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java index 693a2bdee..ee6869e35 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java @@ -68,12 +68,6 @@ public class NoRequestMappingAnnotationReconciler implements JdtAstReconciler { return Boot2JavaProblemType.JAVA_PRECISE_REQUEST_MAPPING; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NotRegisteredBeansReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NotRegisteredBeansReconciler.java index 36f29b5ea..b4620e1ec 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NotRegisteredBeansReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NotRegisteredBeansReconciler.java @@ -82,12 +82,6 @@ public class NotRegisteredBeansReconciler implements JdtAstReconciler, Applicati this.applicationContext = applicationContext; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java index f2363e294..7858e1660 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java @@ -56,12 +56,6 @@ public class PreciseBeanTypeReconciler implements JdtAstReconciler { return SpringAotJavaProblemType.JAVA_CONCRETE_BEAN_TYPE; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/UnnecessarySpringExtensionReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/UnnecessarySpringExtensionReconciler.java index d26bd721b..365e6aa21 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/UnnecessarySpringExtensionReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/UnnecessarySpringExtensionReconciler.java @@ -73,13 +73,6 @@ public class UnnecessarySpringExtensionReconciler implements JdtAstReconciler { return Boot2JavaProblemType.JAVA_TEST_SPRING_EXTENSION; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, - boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { return new ASTVisitor() { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/WebSecurityConfigurerAdapterReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/WebSecurityConfigurerAdapterReconciler.java index edb7516d1..6e100a4aa 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/WebSecurityConfigurerAdapterReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/WebSecurityConfigurerAdapterReconciler.java @@ -83,12 +83,6 @@ public class WebSecurityConfigurerAdapterReconciler implements JdtAstReconciler return Boot2JavaProblemType.WEB_SECURITY_CONFIGURER_ADAPTER; } - @Override - public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException { - ASTVisitor visitor = createVisitor(project, docUri, cu, problemCollector, isCompleteAst); - cu.accept(visitor); - } - @Override public ASTVisitor createVisitor(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) { return new ASTVisitor() { diff --git a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/BaseReconcilerTest.java b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/BaseReconcilerTest.java index 2b460720e..ff5bb881a 100644 --- a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/BaseReconcilerTest.java +++ b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/BaseReconcilerTest.java @@ -25,8 +25,10 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; import java.util.stream.Stream; +import org.eclipse.jdt.core.dom.ASTVisitor; import org.eclipse.jdt.core.dom.CompilationUnit; import org.eclipse.jdt.core.dom.FileASTRequestor; +import org.springframework.ide.vscode.boot.java.reconcilers.CompositeASTVisitor; import org.springframework.ide.vscode.boot.java.reconcilers.JdtAstReconciler; import org.springframework.ide.vscode.boot.java.reconcilers.RequiredCompleteAstException; import org.springframework.ide.vscode.boot.java.utils.SpringIndexerJava; @@ -91,7 +93,17 @@ public abstract class BaseReconcilerTest { @Override public void acceptAST(String sourceFilePath, CompilationUnit cu) { try { - reconcilerFactory.get().reconcile(project, path.toUri(), cu, problemCollector, isCompleteAst); + JdtAstReconciler reconciler = reconcilerFactory.get(); + ASTVisitor visitor = reconciler.createVisitor(project, path.toUri(), cu, problemCollector, isCompleteAst); + + if (visitor != null) { + // use a composite visitor here to make sure that the tests will fail if there is anything missing in the composite + // visitor for the reconciler AST visitor to work correctly + CompositeASTVisitor compositeASTVisitor = new CompositeASTVisitor(); + compositeASTVisitor.add(visitor); + + cu.accept(compositeASTVisitor); + } } catch (RequiredCompleteAstException e) { requiredCompleteAst.set(true); }