diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java index 161acbabe..440e948c7 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java @@ -25,8 +25,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.function.Function; -import javax.inject.Provider; - import org.eclipse.lsp4j.jsonrpc.Launcher; import org.eclipse.lsp4j.jsonrpc.MessageConsumer; import org.eclipse.lsp4j.services.LanguageClient; @@ -38,7 +36,6 @@ import org.springframework.boot.CommandLineRunner; import org.springframework.ide.vscode.commons.languageserver.config.LanguageServerProperties; import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer; import org.springframework.ide.vscode.commons.util.Log; -import org.springframework.util.Assert; /** * A CommandLineRunner that launches a language server. This meant to be used as a Spring bean @@ -77,13 +74,13 @@ public class LanguageServerRunner implements CommandLineRunner { private LanguageServerProperties properties; private final String name; - private final Provider languageServerFactory; + private final SimpleLanguageServer languageServer; - public LanguageServerRunner(String name, LanguageServerProperties properties, Provider languageServerFactory) { + public LanguageServerRunner(String name, LanguageServerProperties properties, SimpleLanguageServer languageServer) { super(); this.name = name; this.properties = properties; - this.languageServerFactory = languageServerFactory; + this.languageServer = languageServer; } public void start() throws Exception { @@ -96,7 +93,7 @@ public class LanguageServerRunner implements CommandLineRunner { } } - protected static class Connection { + private static class Connection { final InputStream in; final OutputStream out; final Socket socket; @@ -132,7 +129,7 @@ public class LanguageServerRunner implements CommandLineRunner { } } - public void startAsClient() throws IOException { + private void startAsClient() throws IOException { Log.info("Starting LS"); Connection connection = null; try { @@ -169,7 +166,6 @@ public class LanguageServerRunner implements CommandLineRunner { return result; }; - SimpleLanguageServer languageServer = createServer(); Launcher launcher = createSocketLauncher(languageServer, STS4LanguageClient.class, new InetSocketAddress("localhost", serverPort), createServerThreads(), wrapper); @@ -219,8 +215,8 @@ public class LanguageServerRunner implements CommandLineRunner { } } - protected Future runAsync(Connection connection) throws Exception { - LanguageServer server = createServer(); + private Future runAsync(Connection connection) throws Exception { + LanguageServer server = this.languageServer; ExecutorService executor = createServerThreads(); Function wrapper = (MessageConsumer consumer) -> { return (msg) -> { @@ -248,8 +244,4 @@ public class LanguageServerRunner implements CommandLineRunner { return launcher.startListening(); } - final SimpleLanguageServer createServer() { - return languageServerFactory.get(); - } - } diff --git a/headless-services/commons/language-server-starter/src/main/java/org/springframework/ide/vscode/languageserver/starter/LanguageServerAutoconf.java b/headless-services/commons/language-server-starter/src/main/java/org/springframework/ide/vscode/languageserver/starter/LanguageServerAutoconf.java index 666324b35..61e17acf2 100644 --- a/headless-services/commons/language-server-starter/src/main/java/org/springframework/ide/vscode/languageserver/starter/LanguageServerAutoconf.java +++ b/headless-services/commons/language-server-starter/src/main/java/org/springframework/ide/vscode/languageserver/starter/LanguageServerAutoconf.java @@ -27,7 +27,7 @@ public class LanguageServerAutoconf { @Bean public LanguageServerRunner serverApp( @Qualifier("serverName") String serverName, LanguageServerProperties properties, - Provider languageServerFactory + SimpleLanguageServer languageServerFactory ) { return new LanguageServerRunner(serverName, properties, languageServerFactory); }