From 2fd8d05fd098e0be58455a4d50c1a82114518063 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Tue, 16 Oct 2018 14:29:42 -0700 Subject: [PATCH] Cleanups Some useless LSFactories removed. Some unused obsolete methods removed. --- .../composable/ComposableLanguageServer.java | 22 ++-------- .../boot/app/BootLanguagServerBootApp.java | 2 +- .../app/BootLanguageServerInitializer.java | 36 ++++------------ .../boot/app/BootLanguageServerParams.java | 41 +++++++++---------- 4 files changed, 30 insertions(+), 71 deletions(-) diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/composable/ComposableLanguageServer.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/composable/ComposableLanguageServer.java index b11cd9b10..f4b4c347c 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/composable/ComposableLanguageServer.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/composable/ComposableLanguageServer.java @@ -26,16 +26,16 @@ import org.springframework.ide.vscode.commons.util.text.TextDocument; * * @author Kris De Volder */ -public class ComposableLanguageServer implements SimpleLanguageServerWrapper { +public class ComposableLanguageServer { private final SimpleLanguageServer server; private C components; private VscodeCompletionEngineAdapter completionEngineAdapter; private HoverHandler hoverHandler; - public ComposableLanguageServer(SimpleLanguageServer server, LSFactory _components) { + public ComposableLanguageServer(SimpleLanguageServer server, C _components) { this.server = server; - this.components = _components.create(server); + this.components = _components; SimpleTextDocumentService documents = server.getTextDocumentService(); @@ -58,25 +58,9 @@ public class ComposableLanguageServer implem documents.onHover(hoverHandler); } - public C getComponents() { - return components; - } - public void setMaxCompletionsNumber(int number) { if (completionEngineAdapter!=null) { completionEngineAdapter.setMaxCompletions(number); } } - - public void setHoverType(HoverType type) { - if (hoverHandler instanceof VscodeCompletionEngineAdapter) { - ((VscodeHoverEngineAdapter) hoverHandler).setHoverType(type); - } - } - - @Override - public SimpleLanguageServer getServer() { - return this.server; - } - } diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java index c5e756bb4..8b33b11e6 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java @@ -32,6 +32,6 @@ public class BootLanguagServerBootApp { @ConditionalOnMissingClass("org.springframework.ide.vscode.languageserver.testharness.LanguageServerHarness") @Bean BootLanguageServerParams serverParams(SimpleLanguageServer server) { - return BootLanguageServerParams.createDefault().create(server); + return BootLanguageServerParams.createDefault(server); } } diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java index d69842a22..7293b8f79 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java @@ -34,7 +34,7 @@ public class BootLanguageServerInitializer implements InitializingBean { private CompositeLanguageServerComponents components; - private ComposableLanguageServer composableLs; + private ComposableLanguageServer composableLs; private static final Logger log = LoggerFactory.getLogger(BootLanguageServerInitializer.class); @@ -49,38 +49,16 @@ public class BootLanguageServerInitializer implements InitializingBean { }); } - public static ComposableLanguageServer create(SimpleLanguageServer server, LSFactory _params) { - return new ComposableLanguageServer<>(server, s -> { - BootLanguageServerParams params = _params.create(s); - CompositeLanguageServerComponents.Builder builder = new CompositeLanguageServerComponents.Builder(); - builder.add(new BootPropertiesLanguageServerComponents(s, (ignore) -> params)); - builder.add(new BootJavaLanguageServerComponents(s, (ignore) -> params)); - CompositeLanguageServerComponents components = builder.build(s); - params.projectObserver.addListener(reconcileOpenDocuments(s, components)); - return components; - }); - } - - public static ComposableLanguageServer createProperties(SimpleLanguageServer server, LSFactory params) { - return new ComposableLanguageServer<>(server, s -> new BootPropertiesLanguageServerComponents(s, params)); - } - - public static ComposableLanguageServer createJava(SimpleLanguageServer server, LSFactory params) { - return new ComposableLanguageServer<>(server, s -> new BootJavaLanguageServerComponents(s, params)); - } - @Override public void afterPropertiesSet() throws Exception { //TODO: ComposableLanguageServer object instance serves no purpose anymore. The constructor really just contains // some server intialization code. Migrate that code and get rid of the ComposableLanguageServer class - this.composableLs = new ComposableLanguageServer<>(server, s -> { - CompositeLanguageServerComponents.Builder builder = new CompositeLanguageServerComponents.Builder(); - builder.add(new BootPropertiesLanguageServerComponents(s, (ignore) -> params)); - builder.add(new BootJavaLanguageServerComponents(s, (ignore) -> params)); - components = builder.build(s); - params.projectObserver.addListener(reconcileOpenDocuments(s, components)); - return components; - }); + CompositeLanguageServerComponents.Builder builder = new CompositeLanguageServerComponents.Builder(); + builder.add(new BootPropertiesLanguageServerComponents(server, (ignore) -> params)); + builder.add(new BootJavaLanguageServerComponents(server, (ignore) -> params)); + components = builder.build(server); + params.projectObserver.addListener(reconcileOpenDocuments(server, components)); + this.composableLs = new ComposableLanguageServer<>(server, components); } public CompositeLanguageServerComponents getComponents() { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerParams.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerParams.java index 3b58aa4fb..1207b2d01 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerParams.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerParams.java @@ -89,29 +89,26 @@ public class BootLanguageServerParams { this.watchDogInterval = watchDogInterval; } - public static LSFactory createDefault() { - //TODO: Get rid of LSFactory - return (SimpleLanguageServer server) -> { - // Initialize project finders, project caches and project observers - JavaProjectsService jdtProjectCache = new JavaProjectsServiceWithFallback( - server, - new JdtLsProjectCache(server), - () -> createFallbackProjectCache(server) - ); - DefaultSpringPropertyIndexProvider indexProvider = new DefaultSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache); - SpringPropertyIndexProvider adHocProvider = new AdHocSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache, server.getWorkspaceService().getFileObserver()); - indexProvider.setProgressService(server.getProgressService()); + public static BootLanguageServerParams createDefault(SimpleLanguageServer server) { + // Initialize project finders, project caches and project observers + JavaProjectsService jdtProjectCache = new JavaProjectsServiceWithFallback( + server, + new JdtLsProjectCache(server), + () -> createFallbackProjectCache(server) + ); + DefaultSpringPropertyIndexProvider indexProvider = new DefaultSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache); + SpringPropertyIndexProvider adHocProvider = new AdHocSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache, server.getWorkspaceService().getFileObserver()); + indexProvider.setProgressService(server.getProgressService()); - return new BootLanguageServerParams( - jdtProjectCache.filter(BootProjectUtil::isBootProject), - jdtProjectCache, - indexProvider, - adHocProvider, - (IDocument doc) -> new TypeUtil(jdtProjectCache.find(new TextDocumentIdentifier(doc.getUri()))), - RunningAppProvider.createDefault(server), - SpringLiveHoverWatchdog.DEFAULT_INTERVAL - ); - }; + return new BootLanguageServerParams( + jdtProjectCache.filter(BootProjectUtil::isBootProject), + jdtProjectCache, + indexProvider, + adHocProvider, + (IDocument doc) -> new TypeUtil(jdtProjectCache.find(new TextDocumentIdentifier(doc.getUri()))), + RunningAppProvider.createDefault(server), + SpringLiveHoverWatchdog.DEFAULT_INTERVAL + ); } private static JavaProjectsService createFallbackProjectCache(SimpleLanguageServer server) {