diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerBootApp.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerBootApp.java index 58b2a8949..12e532674 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerBootApp.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerBootApp.java @@ -222,11 +222,6 @@ public class BootLanguageServerBootApp { return SourceLinkFactory.createSourceLinks(server, cuCache, params.projectFinder); } - @ConditionalOnBean(RewriteRecipeRepository.class) - @Bean RewriteCompilationUnitCache orcuCache(SimpleLanguageServer server, BootLanguageServerParams params) { - return new RewriteCompilationUnitCache(params.projectFinder, server, params.projectObserver); - } - @Bean CompilationUnitCache cuCache(SimpleLanguageServer server, BootLanguageServerParams params) { return new CompilationUnitCache(params.projectFinder, server, params.projectObserver); } @@ -299,6 +294,16 @@ public class BootLanguageServerBootApp { return new FutureProjectFinder(projectFinder, projectObserver); } + @ConditionalOnMissingClass("org.springframework.ide.vscode.languageserver.testharness.LanguageServerHarness") + @Bean RewriteRecipeRepository rewriteRecipesRepository(SimpleLanguageServer server, JavaProjectFinder projectFinder, BootJavaConfig config) { + return new RewriteRecipeRepository(server, projectFinder, config); + } + + @ConditionalOnBean(RewriteRecipeRepository.class) + @Bean RewriteCompilationUnitCache orcuCache(SimpleLanguageServer server, BootLanguageServerParams params) { + return new RewriteCompilationUnitCache(params.projectFinder, server, params.projectObserver); + } + @ConditionalOnBean(RewriteRecipeRepository.class) @Bean RewriteRefactorings rewriteRefactorings(SimpleLanguageServer server, JavaProjectFinder projectFinder, RewriteRecipeRepository recipeRepo, RewriteCompilationUnitCache cuCache) { return new RewriteRefactorings(server.getTextDocumentService(), projectFinder, recipeRepo, cuCache); @@ -315,11 +320,6 @@ public class BootLanguageServerBootApp { }; } - @ConditionalOnMissingClass("org.springframework.ide.vscode.languageserver.testharness.LanguageServerHarness") - @Bean RewriteRecipeRepository rewriteRecipesRepository(SimpleLanguageServer server, JavaProjectFinder projectFinder, BootJavaConfig config) { - return new RewriteRecipeRepository(server, projectFinder, config); - } - @Bean LanguageComputer languageComputer() { return new LanguageComputer() { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java index e9609fcdc..d4708ebee 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java @@ -24,29 +24,31 @@ import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFin import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry; import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer; -@ConditionalOnBean(RewriteRecipeRepository.class) @Configuration public class RewriteConfig implements InitializingBean { @Autowired private SimpleLanguageServer server; - @Autowired + @Autowired(required = false) private RewriteRefactorings rewriteRefactorings; - @Bean - RewriteCodeActionHandler rewriteCodeActionHandler(RewriteCompilationUnitCache cuCache, RewriteRecipeRepository recipeRepo, BootJavaConfig config) { + @ConditionalOnBean(RewriteRecipeRepository.class) + @Bean RewriteCodeActionHandler rewriteCodeActionHandler(RewriteCompilationUnitCache cuCache, RewriteRecipeRepository recipeRepo, BootJavaConfig config) { return new RewriteCodeActionHandler(cuCache, recipeRepo, config); } + @ConditionalOnBean(RewriteRecipeRepository.class) @Bean SpringBootUpgrade springBootUpgrade(SimpleLanguageServer server, RewriteRecipeRepository recipeRepo, JavaProjectFinder projectFinder) { return new SpringBootUpgrade(server, recipeRepo, projectFinder); } @Override public void afterPropertiesSet() throws Exception { - QuickfixRegistry registry = server.getQuickfixRegistry(); - registry.register(RewriteRefactorings.REWRITE_RECIPE_QUICKFIX, rewriteRefactorings); + if (rewriteRefactorings != null) { + QuickfixRegistry registry = server.getQuickfixRegistry(); + registry.register(RewriteRefactorings.REWRITE_RECIPE_QUICKFIX, rewriteRefactorings); + } } }