Skip to content

Commit 71bcc7a

Browse files
committed
Fix upgrade/refactor dialog popping up more than once
1 parent 4ca41cf commit 71bcc7a

File tree

2 files changed

+10
-2
lines changed
  • eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/commands
  • headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/data/jpa/queries

2 files changed

+10
-2
lines changed

eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/commands/RewriteRefactoringsHandler.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.eclipse.lsp4e.LanguageServers;
2929
import org.eclipse.lsp4e.LanguageServersRegistry;
3030
import org.eclipse.lsp4e.LanguageServersRegistry.LanguageServerDefinition;
31+
import org.eclipse.lsp4j.ExecuteCommandOptions;
3132
import org.eclipse.lsp4j.ExecuteCommandParams;
3233
import org.eclipse.swt.widgets.Display;
3334
import org.eclipse.ui.PlatformUI;
@@ -86,7 +87,10 @@ public Object execute(ExecutionEvent event) throws ExecutionException {
8687

8788
try {
8889

89-
LanguageServers.forProject(project).withPreferredServer(def).computeFirst(ls -> {
90+
LanguageServers.forProject(project).withPreferredServer(def).withFilter(c -> {
91+
ExecuteCommandOptions commandProvider = c.getExecuteCommandProvider();
92+
return commandProvider != null && commandProvider.getCommands().contains(REWRITE_REFACTORINGS_EXEC);
93+
}).computeFirst(ls -> {
9094

9195
PlatformUI.getWorkbench().getDisplay().asyncExec(() -> {
9296
RecipeTreeModel recipesModel = new RecipeTreeModel(ls.getWorkspaceService(), recipeFilter.toString());

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/data/jpa/queries/JpqlSupportState.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ public JpqlSupportState(SimpleLanguageServer server, ProjectObserver projectObse
2727
this.server = server;
2828
this.enabled = enabled;
2929
config.addListener(v -> setEnabled(config.isJpqlEnabled()));
30-
projectObserver.addListener(ProjectObserver.onAny(jp -> server.getAsync().execute(() -> server.getClient().refreshSemanticTokens())));
30+
projectObserver.addListener(ProjectObserver.onAny(jp -> {
31+
if (enabled && server.getWorkspaceService().supportsSemanticTokensRefresh()) {
32+
server.getAsync().execute(() -> server.getClient().refreshSemanticTokens());
33+
}
34+
}));
3135
}
3236

3337
public synchronized boolean isEnabled() {

0 commit comments

Comments
 (0)