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