diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/commands/UpgradeToBoot3Handler.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/commands/UpgradeToBoot3Handler.java
index 572771b9f..1b6c56c7c 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/commands/UpgradeToBoot3Handler.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/commands/UpgradeToBoot3Handler.java
@@ -18,6 +18,7 @@ import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.lsp4e.LanguageServiceAccessor;
@@ -27,34 +28,40 @@ import org.eclipse.ui.handlers.HandlerUtil;
import org.springsource.ide.eclipse.commons.livexp.util.Log;
public class UpgradeToBoot3Handler extends AbstractHandler {
-
+
private static final String UPGRADE_TO_BOOT_3_COMMAND_ID = "sts/rewrite/recipe/org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0";
-
+
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
-
+
IStructuredSelection selection = HandlerUtil.getCurrentStructuredSelection(event);
Object o = selection.getFirstElement();
+ IProject project = null;
if (o instanceof IResource) {
- IProject project = ((IResource) o).getProject();
- if (project != null) {
- List<@NonNull LanguageServer> usedLanguageServers = LanguageServiceAccessor.getActiveLanguageServers(serverCapabilities -> true);
+ project = ((IResource) o).getProject();
+ } else if (o instanceof IProject) {
+ project = (IProject) o;
+ } else if (o instanceof IAdaptable) {
+ project = ((IAdaptable) o).getAdapter(IProject.class);
+ }
+ if (project != null) {
+ List<@NonNull LanguageServer> usedLanguageServers = LanguageServiceAccessor
+ .getActiveLanguageServers(serverCapabilities -> true);
- if (!usedLanguageServers.isEmpty()) {
- ExecuteCommandParams commandParams = new ExecuteCommandParams();
- commandParams.setCommand(UPGRADE_TO_BOOT_3_COMMAND_ID);
- commandParams.setArguments(List.of(project.getLocationURI().toString()));
+ if (!usedLanguageServers.isEmpty()) {
+ ExecuteCommandParams commandParams = new ExecuteCommandParams();
+ commandParams.setCommand(UPGRADE_TO_BOOT_3_COMMAND_ID);
+ commandParams.setArguments(List.of(project.getLocationURI().toString()));
- try {
- CompletableFuture.allOf(usedLanguageServers.stream().map(ls ->
- ls.getWorkspaceService().executeCommand(commandParams)).toArray(CompletableFuture[]::new));
- }
- catch (Exception e) {
- Log.log(e);
- }
+ try {
+ CompletableFuture.allOf(usedLanguageServers.stream()
+ .map(ls -> ls.getWorkspaceService().executeCommand(commandParams))
+ .toArray(CompletableFuture[]::new));
+ } catch (Exception e) {
+ Log.log(e);
}
-
}
+
}
return null;
}
diff --git a/headless-services/commons/pom.xml b/headless-services/commons/pom.xml
index 9aee4bb5c..5e14fd480 100644
--- a/headless-services/commons/pom.xml
+++ b/headless-services/commons/pom.xml
@@ -108,8 +108,8 @@
1.13
- 7.21.3
- 4.19.3
+ 7.23.0
+ 4.21.0
2.13.2
true
diff --git a/headless-services/spring-boot-language-server/pom.xml b/headless-services/spring-boot-language-server/pom.xml
index f8f341540..11c197941 100644
--- a/headless-services/spring-boot-language-server/pom.xml
+++ b/headless-services/spring-boot-language-server/pom.xml
@@ -133,7 +133,7 @@
com.fasterxml.jackson.core
jackson-databind
- ${rewrite-jackson.version}
+ 2.13.2.2
com.fasterxml.jackson.core