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 d1f55ffc2..dda4bd53b 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 @@ -18,10 +18,15 @@ import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicInteger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.ide.vscode.commons.java.IJavaProject; import org.springframework.ide.vscode.commons.languageserver.ProgressService; import org.springframework.ide.vscode.commons.languageserver.Sts4LanguageServer; +import com.google.common.base.Supplier; +import com.google.common.base.Suppliers; + /** * Cache for java projects. The key for the cache is a "project" specific file * @@ -31,6 +36,8 @@ import org.springframework.ide.vscode.commons.languageserver.Sts4LanguageServer; */ public abstract class AbstractFileToProjectCache

extends AbstractJavaProjectCache { + private static final Supplier LOG = Suppliers.memoize(() -> LoggerFactory.getLogger(AbstractFileToProjectCache.class)); + private List subscriptions; protected boolean asyncUpdate; protected final Path projectCacheFolder; @@ -82,10 +89,14 @@ public abstract class AbstractFileToProjectCache

extends progressService.progressEvent(taskId, "Updating data for project `" + project.getElementName() + "'"); } if (async) { + LOG.get().info("Started updating project " + project.getElementName() + " in ASYNC mode"); CompletableFuture.supplyAsync(() -> update(project)).thenAccept((changed) -> afterUpdate(project, changed, notify, taskId)); + LOG.get().info("Finished updating project " + project.getElementName() + " in ASYNC mode"); } else { + LOG.get().info("Started updating project " + project.getElementName() + " in SYNC mode"); boolean changed = update(project); afterUpdate(project, changed, notify, taskId); + LOG.get().info("Finished updating project " + project.getElementName() + " in SYNC mode"); } }