diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/CompilationUnitCache.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/CompilationUnitCache.java index 0e1a9abf6..90dc7c7f5 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/CompilationUnitCache.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/CompilationUnitCache.java @@ -50,7 +50,7 @@ public final class CompilationUnitCache { public CompilationUnitCache(JavaProjectFinder projectFinder, SimpleTextDocumentService documentService, ProjectObserver projectObserver) { this.projectFinder = projectFinder; this.projectObserver = projectObserver; - projectListener = new CUProjectListener(); + projectListener = ProjectObserver.onAny(this::invalidateProject); uriToCu = CacheBuilder.newBuilder().build(); projectToDocs = CacheBuilder.newBuilder().build(); @@ -185,22 +185,4 @@ public final class CompilationUnitCache { } } } - - private class CUProjectListener implements ProjectObserver.Listener { - - @Override - public void created(IJavaProject project) { - } - - @Override - public void changed(IJavaProject project) { - invalidateProject(project); - } - - @Override - public void deleted(IJavaProject project) { - invalidateProject(project); - } - - } } diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/jdt/ls/JdtLsProjectCache.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/jdt/ls/JdtLsProjectCache.java index 0ccc6068b..a631258b4 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/jdt/ls/JdtLsProjectCache.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/jdt/ls/JdtLsProjectCache.java @@ -57,14 +57,14 @@ public class JdtLsProjectCache implements JavaProjectFinder, ProjectObserver { @Override public void changed(Event event) { synchronized (table) { - log.info("Classpath changed: " + event.projectUri); String uri = UriUtil.normalize(event.projectUri); + log.info("Classpath changed: " + uri); if (event.deleted) { JdtLsProject deleted = table.remove(uri); notifyDelete(deleted); } else { JdtLsProject newProject = new JdtLsProject(event.name, uri, event.classpath); - JdtLsProject oldProject = table.put(event.projectUri, newProject); + JdtLsProject oldProject = table.put(uri, newProject); if (oldProject != null) { notifyChanged(newProject); } else { 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 857ad7126..c1614e2b8 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 @@ -44,7 +44,7 @@ public class SpringPropertiesIndexManager extends ListenerManager