From 8545ca16e1fb088ed500635005788f5dc671f597 Mon Sep 17 00:00:00 2001 From: aboyko Date: Tue, 18 Jul 2023 17:47:41 -0400 Subject: [PATCH] Remove deprecated API in the ProgressService --- .../java/AbstractFileToProjectCache.java | 21 +++++----- .../languageserver/ProgressService.java | 40 +------------------ .../SpringPropertiesIndexManager.java | 12 +++--- .../utils/test/SpringPropertyIndexTest.java | 8 ++-- .../boot/test/SpringPropertiesIndexTest.java | 6 +-- 5 files changed, 24 insertions(+), 63 deletions(-) diff --git a/headless-services/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/AbstractFileToProjectCache.java b/headless-services/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/AbstractFileToProjectCache.java index 91b6b7344..e3e2e8e9b 100644 --- a/headless-services/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/AbstractFileToProjectCache.java +++ b/headless-services/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/AbstractFileToProjectCache.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017, 2022 Pivotal, Inc. + * Copyright (c) 2017, 2023 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicInteger; import org.springframework.ide.vscode.commons.java.IJavaProject; +import org.springframework.ide.vscode.commons.languageserver.IndefiniteProgressTask; import org.springframework.ide.vscode.commons.languageserver.ProgressService; import org.springframework.ide.vscode.commons.languageserver.Sts4LanguageServer; @@ -68,23 +69,21 @@ public abstract class AbstractFileToProjectCache

extends } final protected void performUpdate(P project, boolean async, boolean notify) { - final String taskId = getProgressId(); final ProgressService progressService = server.getProgressService(); - if (progressService != null) { - progressService.progressBegin(taskId, "Updating data for project", "'" + project.getElementName() + "'"); - } + final IndefiniteProgressTask progress = progressService == null ? null + : progressService.createIndefiniteProgressTask(getProgressId(), + "Updating data for project '" + project.getElementName() + "'", null); if (async) { - CompletableFuture.supplyAsync(() -> update(project)).thenAccept((changed) -> afterUpdate(project, changed, notify, taskId)); + CompletableFuture.supplyAsync(() -> update(project)).thenAccept((changed) -> afterUpdate(project, changed, notify, progress)); } else { boolean changed = update(project); - afterUpdate(project, changed, notify, taskId); + afterUpdate(project, changed, notify, progress); } } - private void afterUpdate(P project, boolean changed, boolean notify, String taskId) { - final ProgressService progressService = server.getProgressService(); - if (progressService != null) { - progressService.progressDone(taskId); + private void afterUpdate(P project, boolean changed, boolean notify, IndefiniteProgressTask progress) { + if (progress != null) { + progress.done(); } if (changed || alwaysFireEventOnUpdate) { if (notify) { diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/ProgressService.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/ProgressService.java index 38a7ed18e..324bea8b9 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/ProgressService.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/ProgressService.java @@ -17,7 +17,7 @@ import org.eclipse.lsp4j.WorkDoneProgressReport; public interface ProgressService { public static ProgressService NO_PROGRESS = new ProgressService() { - + @Override public void progressBegin(String taskId, WorkDoneProgressBegin report) { } @@ -32,27 +32,6 @@ public interface ProgressService { }; - /** - * Sends an event to start progress to the LSP client. - * - * @param taskId is an arbitrary id - * that can be chosen by the caller. The purpose of the id is to be a 'unique' - * id for some kind of 'long running job' - * @param title progress main title, i.e. "Indexing", "Loading" - * @param message detail for the title, i.e. subtask in progress at the moment - * @deprecated Use {@link #progressBegin(String, WorkDoneProgressBegin)} - */ - default void progressBegin(String taskId, String title, String message) { - WorkDoneProgressBegin report = new WorkDoneProgressBegin(); - report.setCancellable(false); - if (message != null && !message.isEmpty()) { - report.setMessage(message); - } - report.setTitle(title); - - progressBegin(taskId, report); - } - /** * Sends an event to start progress to the LSP client. * @@ -63,23 +42,6 @@ public interface ProgressService { */ void progressBegin(String taskId, WorkDoneProgressBegin report); - /** - * Sends a progress event to the LSP client. Each event updates the message shown - * to the user replacing the old one. - * More than one message may be shown simultaneously to the user, if they - * have different taskId. - * - * @param taskId - * @param statusMsg - * - * @deprecated Use {@link #progressEvent(String, WorkDoneProgressReport)} - */ - default void progressEvent(String taskId, String statusMsg) { - WorkDoneProgressReport report = new WorkDoneProgressReport(); - report.setMessage(statusMsg); - progressEvent(taskId, report); - } - /** * Sends a progress event to the LSP client. Each event updates the message shown * to the user replacing the old one. diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/SpringPropertiesIndexManager.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/SpringPropertiesIndexManager.java index f12381b95..66b140684 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/SpringPropertiesIndexManager.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/SpringPropertiesIndexManager.java @@ -20,6 +20,7 @@ import org.springframework.ide.vscode.boot.metadata.SpringPropertyIndex.Builder; import org.springframework.ide.vscode.boot.metadata.util.Listener; import org.springframework.ide.vscode.boot.metadata.util.ListenerManager; import org.springframework.ide.vscode.commons.java.IJavaProject; +import org.springframework.ide.vscode.commons.languageserver.IndefiniteProgressTask; import org.springframework.ide.vscode.commons.languageserver.ProgressService; import org.springframework.ide.vscode.commons.languageserver.java.ProjectObserver; import org.springframework.ide.vscode.commons.util.FileObserver; @@ -76,10 +77,9 @@ public class SpringPropertiesIndexManager extends ListenerManager