diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/Constants.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/Constants.java
index 02df2a794..0030921fb 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/Constants.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/Constants.java
@@ -31,9 +31,9 @@ public class Constants {
public static final String PREF_CHANGE_DETECTION = "boot-java.change-detection.on";
- public static final String PREF_REWRITE_RECONCILE = "boot-java.rewrite.reconcile";
+ public static final String PREF_JAVA_RECONCILE = "boot-java.java.reconcile";
- public static final String PREF_REWRITE_RECONCILE_PROMPT = "rewrite.reconcile-prompt";
+ public static final String PREF_JAVA_RECONCILE_PROMPT = "java.reconcile-prompt";
public static final String PREF_REWRITE_RECIPE_FILTERS = "boot-java.rewrite.recipe-filters";
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java
index ce2e33a6e..627331dcc 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java
@@ -179,7 +179,7 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
IPreferenceStore preferenceStore = BootLanguageServerPlugin.getDefault().getPreferenceStore();
- if (preferenceStore.getBoolean(Constants.PREF_REWRITE_RECONCILE_PROMPT) && !preferenceStore.getBoolean(Constants.PREF_REWRITE_RECONCILE)) {
+ if (preferenceStore.getBoolean(Constants.PREF_JAVA_RECONCILE_PROMPT) && !preferenceStore.getBoolean(Constants.PREF_JAVA_RECONCILE)) {
PlatformUI.getWorkbench().getDisplay().asyncExec(() -> {
try {
NotificationQuestionWithLink question = new NotificationQuestionWithLink(
@@ -187,9 +187,9 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
"Do you wish to enable additional Java sources reconciling to get Spring specific validations and suggestions?\n\n" +
"See Validations And Quick Fixes for more details.",
new URL("https://github.com/spring-projects/sts4/wiki/Validations-And-Quick-Fixes"),
- () -> preferenceStore.setValue(Constants.PREF_REWRITE_RECONCILE, true),
+ () -> preferenceStore.setValue(Constants.PREF_JAVA_RECONCILE, true),
() -> {},
- () -> preferenceStore.setValue(Constants.PREF_REWRITE_RECONCILE_PROMPT, false));
+ () -> preferenceStore.setValue(Constants.PREF_JAVA_RECONCILE_PROMPT, false));
question.setDelayClose(-1);
question.open();
} catch (Exception e) {
@@ -212,6 +212,7 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
Map scanTestJavaSources = new HashMap<>();
Map validation = new HashMap<>();
Map validationSpelExpressions = new HashMap<>();
+ Map javaValidation = new HashMap<>();
IPreferenceStore preferenceStore = BootLanguageServerPlugin.getDefault().getPreferenceStore();
@@ -227,8 +228,10 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
bootChangeDetection.put("on", preferenceStore.getBoolean(Constants.PREF_CHANGE_DETECTION));
scanTestJavaSources.put("on", preferenceStore.getBoolean(Constants.PREF_SCAN_JAVA_TEST_SOURCES));
+ javaValidation.put("reconcilers", preferenceStore.getBoolean(Constants.PREF_JAVA_RECONCILE));
validationSpelExpressions.put("on", preferenceStore.getBoolean(Constants.PREF_VALIDATION_SPEL_EXPRESSIONS));
validation.put("spel", validationSpelExpressions);
+ validation.put("java", javaValidation);
bootJavaObj.put("live-information", liveInformation);
bootJavaObj.put("support-spring-xml-config", supportXML);
@@ -239,7 +242,6 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
bootJavaObj.put("remote-apps", getAllRemoteApps());
bootJavaObj.put("rewrite", Map.of(
- "reconcile", preferenceStore.getBoolean(Constants.PREF_REWRITE_RECONCILE),
"recipe-filters", StringListEditor.decode(preferenceStore.getString(Constants.PREF_REWRITE_RECIPE_FILTERS)),
"scan-directories", FileListEditor.getValuesFromPreference(preferenceStore.getString(Constants.PREF_REWRITE_RECIPES_SCAN_DIRS)),
"scan-files", FileListEditor.getValuesFromPreference(preferenceStore.getString(Constants.PREF_REWRITE_RECIPES_SCAN_FILES))
@@ -342,7 +344,7 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
this.noHandler = noHandler;
this.stopAskingHandler = stopAskingHandler;
- setParentShell(PlatformUI.getWorkbench().getDisplay().getActiveShell());
+ setParentShell(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
setBlockOnOpen(true);
}
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/RewritePreferencePage.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/RewritePreferencePage.java
index f62da9ef8..4878f5042 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/RewritePreferencePage.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/RewritePreferencePage.java
@@ -30,11 +30,6 @@ public class RewritePreferencePage extends FieldEditorPreferencePage implements
addField(new BooleanFieldEditor(Constants.PREF_REWRITE_PROJECT_REFACTORINGS,
"Project refactoring actions", fieldEditorParent));
- addField(new BooleanFieldEditor(Constants.PREF_REWRITE_RECONCILE,
- "Reconciling of Java Sources", fieldEditorParent));
-
- addField(new BooleanFieldEditor(Constants.PREF_REWRITE_RECONCILE_PROMPT,
- "Prompt for Reconciling of Java Sources", fieldEditorParent));
}
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/PrefsInitializer.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/PrefsInitializer.java
index d28ad418b..27bea7cd4 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/PrefsInitializer.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/PrefsInitializer.java
@@ -45,8 +45,8 @@ public class PrefsInitializer extends AbstractPreferenceInitializer {
preferenceStore.setDefault(Constants.PREF_SCAN_JAVA_TEST_SOURCES, false);
- preferenceStore.setDefault(Constants.PREF_REWRITE_RECONCILE_PROMPT, true);
- preferenceStore.setDefault(Constants.PREF_REWRITE_RECONCILE, false);
+ preferenceStore.setDefault(Constants.PREF_JAVA_RECONCILE_PROMPT, true);
+ preferenceStore.setDefault(Constants.PREF_JAVA_RECONCILE, false);
preferenceStore.setDefault(Constants.PREF_REWRITE_PROJECT_REFACTORINGS, true);
preferenceStore.setDefault(Constants.PREF_REWRITE_RECIPE_FILTERS, StringListEditor.encode(new String[] {
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/ValidationPreferencePage.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/ValidationPreferencePage.java
index caa398f11..7893b4d91 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/ValidationPreferencePage.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/ValidationPreferencePage.java
@@ -10,40 +10,30 @@
*******************************************************************************/
package org.springframework.tooling.boot.ls.prefs;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.springframework.tooling.boot.ls.BootLanguageServerPlugin;
+import org.springframework.tooling.boot.ls.Constants;
-public class ValidationPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
- public ValidationPreferencePage() {
- }
-
- public ValidationPreferencePage(String title) {
- super(title);
- }
-
- public ValidationPreferencePage(String title, ImageDescriptor image) {
- super(title, image);
- }
+public class ValidationPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
@Override
public void init(IWorkbench workbench) {
+ setPreferenceStore(BootLanguageServerPlugin.getDefault().getPreferenceStore());
}
@Override
- protected Control createContents(Composite parent) {
- return null;
- }
-
- @Override
- public void createControl(Composite parent) {
- Composite content = new Composite(parent, SWT.NONE);
- setControl(content);
+ protected void createFieldEditors() {
+ Composite fieldEditorParent = getFieldEditorParent();
+
+ addField(new BooleanFieldEditor(Constants.PREF_JAVA_RECONCILE,
+ "Reconciling of Java Sources", fieldEditorParent));
+
+ addField(new BooleanFieldEditor(Constants.PREF_JAVA_RECONCILE_PROMPT,
+ "Prompt for Reconciling of Java Sources", fieldEditorParent));
}
}
diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootJavaConfig.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootJavaConfig.java
index f39c528ae..8f127b30f 100644
--- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootJavaConfig.java
+++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootJavaConfig.java
@@ -154,8 +154,8 @@ public class BootJavaConfig implements InitializingBean {
return enabled != null && enabled.booleanValue();
}
- public boolean isRewriteReconcileEnabled() {
- Boolean enabled = getRawSettings().getBoolean("boot-java", "rewrite", "reconcile");
+ public boolean isJavaSourceReconcileEnabled() {
+ Boolean enabled = getRawSettings().getBoolean("boot-java", "validation", "java", "reconcilers");
return enabled == null ? false : enabled.booleanValue();
}
diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java
index 7ad97eaf7..0459f5269 100644
--- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java
+++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/RewriteConfig.java
@@ -38,8 +38,8 @@ public class RewriteConfig {
}
@ConditionalOnBean(RewriteRecipeRepository.class)
- @Bean RewriteRefactorings rewriteRefactorings(SimpleLanguageServer server, JavaProjectFinder projectFinder, RewriteRecipeRepository recipeRepo, RewriteCompilationUnitCache cuCache) {
- return new RewriteRefactorings(server, projectFinder, recipeRepo, cuCache);
+ @Bean RewriteRefactorings rewriteRefactorings(SimpleLanguageServer server, JavaProjectFinder projectFinder, RewriteRecipeRepository recipeRepo) {
+ return new RewriteRefactorings(server, projectFinder, recipeRepo);
}
@ConditionalOnBean(RewriteRecipeRepository.class)
diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtReconciler.java
index 9f2dd60de..c9eac4d01 100644
--- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtReconciler.java
+++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/JdtReconciler.java
@@ -58,6 +58,10 @@ public class JdtReconciler implements JavaReconciler {
@Override
public void reconcile(IJavaProject project, final IDocument doc, final IProblemCollector problemCollector) {
+ if (!config.isJavaSourceReconcileEnabled()) {
+ return;
+ }
+
final long s = System.currentTimeMillis();
URI uri = URI.create(doc.getUri());
compilationUnitCache.withCompilationUnit(project, uri, cu -> {
@@ -75,6 +79,9 @@ public class JdtReconciler implements JavaReconciler {
public void reconcile(IJavaProject project, URI docUri, CompilationUnit cu, IProblemCollector problemCollector, boolean isCompleteAst) throws RequiredCompleteAstException {
+ if (!config.isJavaSourceReconcileEnabled()) {
+ return;
+ }
for (JdtAstReconciler reconciler : getApplicableReconcilers(project)) {
try {
reconciler.reconcile(project, docUri, cu, problemCollector, isCompleteAst);
diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java
index afb84a81f..86a91fc2d 100644
--- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java
+++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java
@@ -92,7 +92,8 @@ public class RewriteCodeActionHandler implements JavaCodeActionHandler {
@Override
public List> handle(IJavaProject project, CancelChecker cancelToken,
CodeActionCapabilities capabilities, CodeActionContext context, TextDocument doc, IRegion region) {
- if (!config.isRewriteReconcileEnabled()) {
+ // Short circuit here to avoid parsing the java source for nothing.
+ if (!config.isJavaSourceReconcileEnabled()) {
return Collections.emptyList();
}
diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteReconciler.java
index da3e09383..e1c55f6c6 100644
--- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteReconciler.java
+++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteReconciler.java
@@ -76,33 +76,33 @@ public class RewriteReconciler implements JavaReconciler {
@Override
public void reconcile(IJavaProject project, IDocument doc, IProblemCollector problemCollector) {
- if (!config.isRewriteReconcileEnabled()) {
- return;
- }
-
- long start = System.currentTimeMillis();
-
- try {
- problemCollector.beginCollecting();
-
- List descriptors = getProblemRecipeDescriptors(project);
-
- if (!descriptors.isEmpty()) {
- CompilationUnit cu = cuCache.getCU(project, URI.create(doc.getUri()));
- if (cu != null) {
- collectProblems(project, descriptors, doc, cu, problemCollector::accept);
- }
- }
- } catch (Exception e) {
- if (ORAstUtils.isExceptionFromInterrupedThread(e)) {
- log.debug("", e);
- } else {
- log.error("", e);
- }
- } finally {
- problemCollector.endCollecting();
- log.info("reconciling (OpenRewrite): " + doc.getUri() + " done in " + (System.currentTimeMillis() - start) + "ms");
- }
+// if (!config.isRewriteReconcileEnabled()) {
+// return;
+// }
+//
+// long start = System.currentTimeMillis();
+//
+// try {
+// problemCollector.beginCollecting();
+//
+// List descriptors = getProblemRecipeDescriptors(project);
+//
+// if (!descriptors.isEmpty()) {
+// CompilationUnit cu = cuCache.getCU(project, URI.create(doc.getUri()));
+// if (cu != null) {
+// collectProblems(project, descriptors, doc, cu, problemCollector::accept);
+// }
+// }
+// } catch (Exception e) {
+// if (ORAstUtils.isExceptionFromInterrupedThread(e)) {
+// log.debug("", e);
+// } else {
+// log.error("", e);
+// }
+// } finally {
+// problemCollector.endCollecting();
+// log.info("reconciling (OpenRewrite): " + doc.getUri() + " done in " + (System.currentTimeMillis() - start) + "ms");
+// }
}
private List createProblems(IDocument doc, FixAssistMarker m, J astNode) {
@@ -140,7 +140,7 @@ public class RewriteReconciler implements JavaReconciler {
@Override
public Map> reconcile(IJavaProject project, List docs, Runnable incrementProgress) {
- if (!config.isRewriteReconcileEnabled()) {
+ if (!config.isJavaSourceReconcileEnabled()) {
return Collections.emptyMap();
}
@@ -251,7 +251,7 @@ public class RewriteReconciler implements JavaReconciler {
// Parse in batches and share the parser
private Map> doReconcile(IJavaProject project, List docs, JavaParser javaParser, JavaSourceSet javaSourceSet, Runnable incrementProgress) {
Map> allProblems = new HashMap<>();
- if (javaParser != null && config.isRewriteReconcileEnabled()) {
+ if (javaParser != null && config.isJavaSourceReconcileEnabled()) {
try {
List descriptors = getProblemRecipeDescriptors(project);
diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteRefactorings.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteRefactorings.java
index 879f8f3c1..692fd74bc 100644
--- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteRefactorings.java
+++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteRefactorings.java
@@ -16,7 +16,6 @@ import java.nio.file.Paths;
import java.util.Collections;
import java.util.List;
import java.util.Map.Entry;
-import java.util.Objects;
import java.util.Optional;
import java.util.UUID;
import java.util.stream.Collectors;
@@ -70,17 +69,14 @@ public class RewriteRefactorings implements CodeActionResolver, QuickfixHandler
private SimpleLanguageServer server;
- private RewriteCompilationUnitCache cuCache;
-
private JavaProjectFinder projectFinder;
private Gson gson;
- public RewriteRefactorings(SimpleLanguageServer server, JavaProjectFinder projectFinder, RewriteRecipeRepository recipeRepo, RewriteCompilationUnitCache cuCache) {
+ public RewriteRefactorings(SimpleLanguageServer server, JavaProjectFinder projectFinder, RewriteRecipeRepository recipeRepo) {
this.server = server;
this.projectFinder = projectFinder;
this.recipeRepo = recipeRepo;
- this.cuCache = cuCache;
this.gson = new GsonBuilder()
.registerTypeAdapter(RecipeScope.class, (JsonDeserializer) (json, type, context) -> {
try {
@@ -164,13 +160,9 @@ public class RewriteRefactorings implements CodeActionResolver, QuickfixHandler
progress.done();
}
} else {
- if (data.getTypeStubs().length == 0) {
- cus = data.getDocUris().stream().map(docUri -> cuCache.getCU(project.get(), URI.create(docUri))).filter(Objects::nonNull).collect(Collectors.toList());
- } else {
- JavaParser jp = ORAstUtils.createJavaParserBuilder(project.get()).dependsOn(data.getTypeStubs()).build();
- List inputs = data.getDocUris().stream().map(URI::create).map(Paths::get).map(p -> ORAstUtils.getParserInput(server.getTextDocumentService(), p)).collect(Collectors.toList());
- cus = ORAstUtils.parseInputs(jp, inputs, null);
- }
+ JavaParser jp = ORAstUtils.createJavaParserBuilder(project.get()).dependsOn(data.getTypeStubs()).build();
+ List inputs = data.getDocUris().stream().map(URI::create).map(Paths::get).map(p -> ORAstUtils.getParserInput(server.getTextDocumentService(), p)).collect(Collectors.toList());
+ cus = ORAstUtils.parseInputs(jp, inputs, null);
return applyRecipe(r, project.get(), cus);
}
}
diff --git a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/SpringValidationBeanMethodNotPublicTest.java b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/SpringValidationBeanMethodNotPublicTest.java
index cf34d8b1c..9410e4c94 100644
--- a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/SpringValidationBeanMethodNotPublicTest.java
+++ b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/reconcilers/test/SpringValidationBeanMethodNotPublicTest.java
@@ -61,6 +61,10 @@ public class SpringValidationBeanMethodNotPublicTest {
@BeforeEach
public void setup() throws Exception {
harness.intialize(null);
+
+ String changedSettings = "{\"boot-java\": {\"validation\": {\"java\": { \"reconcilers\": true}}}}";
+ JsonElement settingsAsJson = new Gson().fromJson(changedSettings, JsonElement.class);
+ harness.changeConfiguration(new Settings(settingsAsJson));
directory = new File(ProjectsHarness.class.getResource("/test-projects/test-spring-validations/").toURI());
@@ -105,7 +109,7 @@ public class SpringValidationBeanMethodNotPublicTest {
assertEquals(1, diagnostics.size());
assertEquals(DiagnosticSeverity.Hint, diagnostic.getSeverity());
- String changedSettings = "{\"spring-boot\": {\"ls\": {\"problem\": {\"boot2\": {\"JAVA_PUBLIC_BEAN_METHOD\": \"ERROR\"}}}}}";
+ String changedSettings = "{\"spring-boot\": {\"ls\": {\"problem\": {\"boot2\": {\"JAVA_PUBLIC_BEAN_METHOD\": \"ERROR\"}}}}, \"boot-java\": {\"validation\": {\"java\": { \"reconcilers\": true}}}}";
JsonElement settingsAsJson = new Gson().fromJson(changedSettings, JsonElement.class);
Settings settings = new Settings(settingsAsJson);
diff --git a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/value/test/ValueSpelExpressionValidationTest.java b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/value/test/ValueSpelExpressionValidationTest.java
index cf267c3a3..ea9424b57 100644
--- a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/value/test/ValueSpelExpressionValidationTest.java
+++ b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/value/test/ValueSpelExpressionValidationTest.java
@@ -56,6 +56,7 @@ import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFin
import org.springframework.ide.vscode.commons.languageserver.java.ProjectObserver;
import org.springframework.ide.vscode.commons.languageserver.reconcile.IProblemCollector;
import org.springframework.ide.vscode.commons.languageserver.reconcile.ReconcileProblem;
+import org.springframework.ide.vscode.commons.languageserver.util.Settings;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService;
import org.springframework.ide.vscode.commons.maven.java.MavenJavaProject;
@@ -65,6 +66,9 @@ import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
import org.springframework.test.context.junit.jupiter.SpringExtension;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+
/**
* @author Martin Lippert
*/
@@ -145,6 +149,10 @@ public class ValueSpelExpressionValidationTest {
public void setup() throws Exception {
harness.intialize(null);
+ String changedSettings = "{\"boot-java\": {\"validation\": {\"java\": { \"reconcilers\": true}}}}";
+ JsonElement settingsAsJson = new Gson().fromJson(changedSettings, JsonElement.class);
+ harness.changeConfiguration(new Settings(settingsAsJson));
+
directory = new File(ProjectsHarness.class.getResource("/test-projects/test-annotations/").toURI());
docUri = directory.toPath().resolve("src/main/java/org/test/TestValueCompletion.java").toUri().toASCIIString();
diff --git a/vscode-extensions/vscode-spring-boot/lib/Main.ts b/vscode-extensions/vscode-spring-boot/lib/Main.ts
index 1a0faa221..f1ba4e458 100644
--- a/vscode-extensions/vscode-spring-boot/lib/Main.ts
+++ b/vscode-extensions/vscode-spring-boot/lib/Main.ts
@@ -23,8 +23,8 @@ const FACTORIES_LANGUAGE_ID = "spring-factories";
const YES = 'Yes';
const NO = 'No';
const STOP_ASKING = "Stop Asking";
-const RECONCILING_PREF_KEY = 'boot-java.rewrite.reconcile';
-const RECONCILING_PROMPT_PREF_KEY = 'vscode-spring-boot.rewrite.reconcile-prompt';
+const RECONCILING_PREF_KEY = 'boot-java.validation.java.reconcilers';
+const RECONCILING_PROMPT_PREF_KEY = 'vscode-spring-boot.java.reconcile-prompt';
/** Called when extension is activated */
export function activate(context: VSCode.ExtensionContext): Thenable {
diff --git a/vscode-extensions/vscode-spring-boot/package.json b/vscode-extensions/vscode-spring-boot/package.json
index 2d4d5cbc2..a41da9586 100644
--- a/vscode-extensions/vscode-spring-boot/package.json
+++ b/vscode-extensions/vscode-spring-boot/package.json
@@ -139,6 +139,16 @@
"title": "Features",
"order": 100,
"properties": {
+ "boot-java.validation.java.reconcilers": {
+ "type": "boolean",
+ "default": false,
+ "description": "Reconciling Java Sources"
+ },
+ "vscode-spring-boot.java.reconcile-prompt": {
+ "type": "boolean",
+ "default": true,
+ "description": "Reconciling Java Sources Prompt enabled"
+ },
"boot-java.live-information.automatic-connection.on": {
"type": "boolean",
"default": true,
@@ -233,16 +243,6 @@
"default": true,
"description": "Recipes refactoring entire Maven project via commands"
},
- "boot-java.rewrite.reconcile": {
- "type": "boolean",
- "default": false,
- "description": "Reconciling Java Sources"
- },
- "vscode-spring-boot.rewrite.reconcile-prompt": {
- "type": "boolean",
- "default": true,
- "description": "Reconciling Java Sources Prompt enabled"
- },
"boot-java.rewrite.recipe-filters": {
"type": "array",
"default": [
@@ -1038,4 +1038,4 @@
"extensionDependencies": [
"redhat.java"
]
-}
+}
\ No newline at end of file