From 7d0ddf1c149413375df7d73a7e58b38b2906416a Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Tue, 29 Nov 2016 15:57:40 -0800 Subject: [PATCH] Fix 'showMessage' function in SimpleLanguageServer --- .../util/SimpleLanguageServer.java | 51 +++++-------------- 1 file changed, 14 insertions(+), 37 deletions(-) diff --git a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java index 1923c2b88..d985ba8c2 100644 --- a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java +++ b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java @@ -5,7 +5,6 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; -import java.util.function.Consumer; import java.util.logging.Level; import java.util.logging.Logger; @@ -35,8 +34,6 @@ public abstract class SimpleLanguageServer implements LanguageServer, LanguageCl private static final Logger LOG = Logger.getLogger(SimpleLanguageServer.class.getName()); - private Consumer showMessage = m -> {}; - private Path workspaceRoot; private SimpleTextDocumentService tds; @@ -69,42 +66,22 @@ public abstract class SimpleLanguageServer implements LanguageServer, LanguageCl return CompletableFuture.completedFuture(result); } - //TODO: What happened to WindowService? Seems to be removed in lsp4j. So how can we show messages? + public void onError(String message, Throwable error) { + LanguageClient cl = this.client; + if (cl != null) { + if (error instanceof ShowMessageException) + client.showMessage(((ShowMessageException) error).message); + else { + LOG.log(Level.SEVERE, message, error); -// @Override -// public WindowService getWindowService() { -// return new WindowService() { -// @Override -// public void onShowMessage(Consumer callback) { -// showMessage = callback; -// } -// -// @Override -// public void onShowMessageRequest(Consumer callback) { -// -// } -// -// @Override -// public void onLogMessage(Consumer callback) { -// -// } -// }; -// } + MessageParams m = new MessageParams(); - public void onError(String message, Throwable error) { - if (error instanceof ShowMessageException) - showMessage.accept(((ShowMessageException) error).message); - else { - LOG.log(Level.SEVERE, message, error); - - MessageParams m = new MessageParams(); - - m.setMessage(message); - m.setType(MessageType.Error); - - showMessage.accept(m); - } - } + m.setMessage(message); + m.setType(MessageType.Error); + client.showMessage(m); + } + } + } protected abstract ServerCapabilities getServerCapabilities();