From 436909a3446900042db289349eda785a867127d3 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Mon, 25 Mar 2019 14:31:38 -0700 Subject: [PATCH] Boot property to enable disk-based cache Also switch the default so disk-based cache is enabled by default. --- .../vscode/boot/app/BootLanguagServerBootApp.java | 7 ++----- .../ide/vscode/boot/app/BootLsConfigProperties.java | 12 ++++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java index e9bd08587..46291e1a6 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguagServerBootApp.java @@ -68,11 +68,8 @@ public class BootLanguagServerBootApp { @ConditionalOnMissingClass("org.springframework.ide.vscode.languageserver.testharness.LanguageServerHarness") @Bean - SymbolCache symbolCache() { - //TODO: Don't use system properties. This should be done via 'proper' spring boot property. That way it can - // be controlled via sysprop or via application.yml, or via env var etc. - //Question... who sets this property? I don't find anything setting this. - if ("true".equals(System.getProperty("boot.ls.symbols.caching.enabled", "true"))) { + SymbolCache symbolCache(BootLsConfigProperties props) { + if (props.isSymbolCacheEnabled()) { return new SymbolCacheOnDisc(); } else { return new SymbolCacheVoid(); diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLsConfigProperties.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLsConfigProperties.java index 2fa38d374..5a1011bbf 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLsConfigProperties.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLsConfigProperties.java @@ -31,5 +31,17 @@ public class BootLsConfigProperties { this.enableJandexIndex = enableJandexIndex; } + /** + * Enable's or disables disk-based symbol cache. This is + * enabled by default. + */ + private boolean symbolCacheEnabled = true; + public boolean isSymbolCacheEnabled() { + return symbolCacheEnabled; + } + + public void setSymbolCacheEnabled(boolean symbolCacheEnabled) { + this.symbolCacheEnabled = symbolCacheEnabled; + } }