From 1377be2ef559fa9a9cb2dc7334ab3efcaacf81a5 Mon Sep 17 00:00:00 2001 From: aboyko Date: Tue, 29 Aug 2023 23:50:57 -0400 Subject: [PATCH] Avoid receiving notification and sending notification on the same thread --- .../commons/languageserver/util/SimpleLanguageServer.java | 2 +- .../ide/vscode/boot/app/SpringSymbolIndex.java | 6 +++--- .../ide/vscode/boot/modulith/ModulithService.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java index 233bbfe2a..19afa6c80 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java @@ -164,7 +164,7 @@ public final class SimpleLanguageServer implements Sts4LanguageServer, SpringInd } WorkDoneProgressCreateParams params = new WorkDoneProgressCreateParams(); params.setToken(taskId); - client.createProgress(params).thenAccept((p) -> { + client.createProgress(params).thenAcceptAsync((p) -> { ProgressParams progressParams = new ProgressParams(); progressParams.setToken(taskId); progressParams.setValue(Either.forLeft(report)); diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java index 8330acab9..8fbd40441 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java @@ -504,7 +504,7 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex { } CompletableFuture future = CompletableFuture.allOf((CompletableFuture[]) futures.toArray(new CompletableFuture[futures.size()])); - future = future.thenAccept(v -> server.getClient().indexUpdated()).thenAccept(v -> listeners.fire(v)); + future = future.thenAcceptAsync(v -> server.getClient().indexUpdated()).thenAccept(v -> listeners.fire(v)); return future; } } @@ -565,7 +565,7 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex { } } CompletableFuture future = CompletableFuture.allOf((CompletableFuture[]) futures.toArray(new CompletableFuture[futures.size()])); - future = future.thenAccept(v -> server.getClient().indexUpdated()).thenAccept(v -> listeners.fire(v)); + future = future.thenAcceptAsync(v -> server.getClient().indexUpdated()).thenAccept(v -> listeners.fire(v)); return future; } } @@ -640,7 +640,7 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex { } CompletableFuture future = CompletableFuture.allOf((CompletableFuture[]) futures.toArray(new CompletableFuture[futures.size()])); - future = future.thenAccept(v -> server.getClient().indexUpdated()).thenAccept(v -> listeners.fire(v)); + future = future.thenAcceptAsync(v -> server.getClient().indexUpdated()).thenAccept(v -> listeners.fire(v)); return future; } catch (Exception e) { diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/modulith/ModulithService.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/modulith/ModulithService.java index 181a78548..629cba3bf 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/modulith/ModulithService.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/modulith/ModulithService.java @@ -162,7 +162,7 @@ public class ModulithService { if (refreshed) { server.getClient().showMessage(new MessageParams(MessageType.Info, "Project '" + project.getElementName() + "' Modulith metadata has been changed.")); } else { - server.getClient().showMessage(new MessageParams(MessageType.Info, "Project '" + project.getElementName() + "' Modulith metadata has been refreshed but it has not unchanged.")); + server.getClient().showMessage(new MessageParams(MessageType.Info, "Project '" + project.getElementName() + "' Modulith metadata has been refreshed but it has not changed.")); } } });