From 527599685bf07838cff8568cf3cbf733d6bb7f71 Mon Sep 17 00:00:00 2001 From: "nsingh@pivotal.io" Date: Tue, 10 Dec 2019 22:44:21 -0800 Subject: [PATCH] PT 169821181 - Show progress in progress status line in Eclipse --- .../ls/eclipse/commons/STS4LanguageClientImpl.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java index 88715a32d..416ff8192 100644 --- a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java +++ b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java @@ -27,6 +27,7 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.ILocalVariable; @@ -341,7 +342,15 @@ public class STS4LanguageClientImpl extends LanguageClientImpl implements STS4La public void run() { IStatusLineManager statusLineManager = getStatusLineManager(); if (statusLineManager != null) { - statusLineManager.setMessage(status); + // PT 169821181 - Show progress in progress status line + IProgressMonitor progressMonitor = statusLineManager.getProgressMonitor(); + + if (progressMonitor != null) { + SubMonitor sub = SubMonitor.convert(progressMonitor); + // language server will send empty status when progress sequence terminates so + // this takes care of clearing the status line from the previous displayed message + sub.subTask(status); + } } } }); @@ -356,6 +365,8 @@ public class STS4LanguageClientImpl extends LanguageClientImpl implements STS4La } } + + public STS4LanguageClientImpl() { classpathService.addNotificationsSentCallback(projectNames -> { List projects = projectNames.stream().map(projectName -> ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)).filter(Objects::nonNull).collect(Collectors.toList());