From da8c5175be8bd68403b8ef32662475ab6b1f9acd Mon Sep 17 00:00:00 2001 From: "nsingh@pivotal.io" Date: Thu, 14 Nov 2019 16:06:43 -0800 Subject: [PATCH] Add progress reporting to process connection --- .../livehover/v2/SpringProcessConnectorService.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorService.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorService.java index bd5386287..1bdcdca9e 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorService.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorService.java @@ -109,11 +109,16 @@ public class SpringProcessConnectorService { } private void scheduleConnect(String processKey, SpringProcessConnector connector, long delay, TimeUnit unit, int retryNo) { - log.info("schedule task to connect to process: " + processKey + " - retry no: " + retryNo); - + String progressMessage = "Connecting to process: " + processKey + " - retry no: " + retryNo; + log.info(progressMessage); + String progressId = "spring-process-connector-service-connect-"+processKey; + this.scheduler.schedule(() -> { try { + progress(progressId, progressMessage); connector.connect(); + progressDone(progressId); + refreshProcess(processKey); } catch (Exception e) { @@ -121,6 +126,8 @@ public class SpringProcessConnectorService { if (retryNo < RETRY_MAX_NO) { scheduleConnect(processKey, connector, RETRY_DELAY_IN_SECONDS, TimeUnit.SECONDS, retryNo + 1); + } else { + progressDone(progressId); } } }, delay, unit);