From 840a5b9a85cbe8f27d984902063299456ebfa4ef Mon Sep 17 00:00:00 2001 From: Rome Li Date: Fri, 20 Sep 2019 14:39:31 +0800 Subject: [PATCH] Pass ClientPreferences to Handler Signed-off-by: Rome Li --- .../jdt/ls/core/internal/handlers/JDTLanguageServer.java | 4 ++-- .../internal/handlers/WorkspaceDiagnosticsHandler.java | 7 ++++--- .../internal/handlers/WorkspaceDiagnosticsHandlerTest.java | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/JDTLanguageServer.java b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/JDTLanguageServer.java index 3ea2f49f1e..ce23796209 100644 --- a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/JDTLanguageServer.java +++ b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/JDTLanguageServer.java @@ -254,7 +254,7 @@ public void initialized(InitializedParams params) { // we do not have the user setting initialized yet at this point but we should // still call to enable defaults in case client does not support configuration changes syncCapabilitiesToSettings(); - boolean isDiagnosticTagSupported = preferenceManager.getClientPreferences().isDiagnosticTagSupported(); + Job initializeWorkspace = new Job("Initialize workspace") { @Override @@ -262,7 +262,7 @@ public IStatus run(IProgressMonitor monitor) { try { JobHelpers.waitForBuildJobs(60 * 60 * 1000); // 1 hour logInfo(">> build jobs finished"); - workspaceDiagnosticsHandler = new WorkspaceDiagnosticsHandler(JDTLanguageServer.this.client, pm, isDiagnosticTagSupported); + workspaceDiagnosticsHandler = new WorkspaceDiagnosticsHandler(JDTLanguageServer.this.client, pm, preferenceManager.getClientPreferences()); workspaceDiagnosticsHandler.publishDiagnostics(monitor); workspaceDiagnosticsHandler.addResourceChangeListener(); pm.registerWatchers(); diff --git a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandler.java b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandler.java index e0f672676a..3663ab2d6a 100644 --- a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandler.java +++ b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandler.java @@ -42,6 +42,7 @@ import org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin; import org.eclipse.jdt.ls.core.internal.ResourceUtils; import org.eclipse.jdt.ls.core.internal.managers.ProjectsManager; +import org.eclipse.jdt.ls.core.internal.preferences.ClientPreferences; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.lsp4j.Diagnostic; @@ -68,13 +69,13 @@ public final class WorkspaceDiagnosticsHandler implements IResourceChangeListene @Deprecated public WorkspaceDiagnosticsHandler(JavaClientConnection connection, ProjectsManager projectsManager) { - this(connection, projectsManager, false); + this(connection, projectsManager, null); } - public WorkspaceDiagnosticsHandler(JavaClientConnection connection, ProjectsManager projectsManager, boolean isDiagnosticTagSupported) { + public WorkspaceDiagnosticsHandler(JavaClientConnection connection, ProjectsManager projectsManager, ClientPreferences prefs) { this.connection = connection; this.projectsManager = projectsManager; - this.isDiagnosticTagSupported = isDiagnosticTagSupported; + this.isDiagnosticTagSupported = prefs != null ? prefs.isDiagnosticTagSupported() : false; } public void addResourceChangeListener() { diff --git a/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandlerTest.java b/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandlerTest.java index e5db477231..5824efc3e0 100644 --- a/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandlerTest.java +++ b/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/WorkspaceDiagnosticsHandlerTest.java @@ -35,6 +35,7 @@ import org.eclipse.jdt.ls.core.internal.JavaClientConnection; import org.eclipse.jdt.ls.core.internal.ResourceUtils; import org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest; +import org.eclipse.jdt.ls.core.internal.preferences.ClientPreferences; import org.eclipse.jdt.ls.tests.Unstable; import org.eclipse.jface.text.IDocument; import org.eclipse.lsp4j.Diagnostic; @@ -66,7 +67,7 @@ public class WorkspaceDiagnosticsHandlerTest extends AbstractProjectsManagerBase @Before public void setup() throws Exception { - handler = new WorkspaceDiagnosticsHandler(connection, projectsManager, true); + handler = new WorkspaceDiagnosticsHandler(connection, projectsManager, preferenceManager.getClientPreferences()); handler.addResourceChangeListener(); }