Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
ce74a7c
fix: replace deprecated AnActionEvent factory methods with AnActionEv…
wangmingliang-ms Mar 10, 2026
ec97ef2
fix: replace deprecated ComponentWithBrowseButton.getButton() calls
wangmingliang-ms Mar 10, 2026
65d4041
fix: replace deprecated UIUtil.isUnderDarcula()/isUnderWin10LookAndFe…
wangmingliang-ms Mar 10, 2026
7b21bd4
fix: replace deprecated PluginId.findId() with PluginId.getId()
wangmingliang-ms Mar 10, 2026
1e26bd4
fix: replace deprecated BrowseFolderActionListener with addBrowseFold…
wangmingliang-ms Mar 10, 2026
acb70d6
fix: replace deprecated ComponentsKt.noteComponent(String) with 2-arg…
wangmingliang-ms Mar 10, 2026
504dbde
fix: replace deprecated 4-arg addBrowseFolderListener with 2-arg over…
wangmingliang-ms Mar 10, 2026
53f1bac
fix: replace deprecated DataContext.getData(String) call with getData…
wangmingliang-ms Mar 10, 2026
d7f7177
fix: replace deprecated RunManagerEx.addConfiguration 4-arg overload
wangmingliang-ms Mar 10, 2026
51fd45b
fix: replace deprecated ComponentManager.getComponent() with getInsta…
wangmingliang-ms Mar 10, 2026
84d23dc
fix: replace deprecated LafManager.getCurrentLookAndFeel() with getCu…
wangmingliang-ms Mar 10, 2026
37ae318
fix: replace deprecated 5-arg Notification constructor with 3-arg ver…
wangmingliang-ms Mar 10, 2026
a3fddc4
fix: replace deprecated 4-arg NotificationGroup.createNotification wi…
wangmingliang-ms Mar 10, 2026
5ea3fe0
fix: replace removed StdModuleTypes.JAVA with ModuleTypeManager lookup
wangmingliang-ms Mar 10, 2026
9a04d70
fix: replace deprecated PermanentInstallationID with JetBrainsPermane…
wangmingliang-ms Mar 10, 2026
0871c03
fix: replace deprecated DatabaseConnectionInterceptor.intercept() wit…
wangmingliang-ms Mar 10, 2026
d56c2a5
fix: remove deprecated TreeStructureProvider.getData(Collection, Stri…
wangmingliang-ms Mar 10, 2026
a419721
fix: replace deprecated ExternalSystemTaskNotificationListenerAdapter…
wangmingliang-ms Mar 10, 2026
babf37f
fix: replace deprecated TerminalView with TerminalToolWindowManager
wangmingliang-ms Mar 10, 2026
980ddec
fix: cast AnActionButton to AnAction for ToolbarDecorator.addExtraAction
wangmingliang-ms Mar 10, 2026
98893b4
fix: remove @Override from deprecated ListTableWithButtons.createExtr…
wangmingliang-ms Mar 10, 2026
b19f7f5
fix: replace UpdateInBackground interface with getActionUpdateThread …
wangmingliang-ms Mar 10, 2026
f5bbab2
fix: replace deprecated noteComponent with ContextHelpLabel
wangmingliang-ms Mar 10, 2026
7788c1d
fix: comment out deprecated HttpConfigurable usage
wangmingliang-ms Mar 10, 2026
b0843a4
fix: implement new DataContext.getData(DataKey) method alongside depr…
wangmingliang-ms Mar 10, 2026
b5349e2
fix: remove deprecated ProjectManagerListener.projectOpened method
wangmingliang-ms Mar 10, 2026
9513a39
fix: comment out deprecated TextMateSettings usage
wangmingliang-ms Mar 10, 2026
9d71929
fix: replace deprecated JavaRunConfigurationProducerBase constructor
wangmingliang-ms Mar 10, 2026
2c27a47
fix: remove deprecated ComponentWithBrowseButton.getButton() usage
wangmingliang-ms Mar 10, 2026
d3dcf47
Fix UISettings.addUISettingsListener deprecated API
wangmingliang-ms Mar 10, 2026
17219df
fix: add overrides=true to registry key in cosmos-dbtools to resolve …
wangmingliang-ms Mar 10, 2026
6467b34
fix: remove reflection from SbtVersionOptionsPanel and reduce reflect…
wangmingliang-ms Mar 10, 2026
d88fa2f
chore: update changelog/whatsnew with API compatibility fix details
wangmingliang-ms Mar 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,11 @@ All notable changes to "Azure Toolkit for IntelliJ IDEA" will be documented in t

## 3.97.3
- Support IntelliJ IDEA 2026.1 EAP
- Migrate 97 scheduled-for-removal APIs to new IntelliJ Platform APIs
- Replace deprecated AnActionEvent, ComponentManager, LafManager, Notification APIs
- Replace deprecated TerminalView, HttpConfigurable, BrowseFolderActionListener APIs
- Fix registry key conflict for Cosmos DB dbtools module
- Reduce reflection usage in Scala plugin and Database plugin integration
- Rename GitHub Copilot app modernization to GitHub Copilot modernization.

## 3.97.2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@ private void runConfiguration(Module module) {
}
if (RunDialog.editConfiguration(project, settings, message("function.run.configuration.title"), DefaultRunExecutor.getRunExecutorInstance())) {
final List<BeforeRunTask> tasks = new ArrayList<>(manager.getBeforeRunTasks(settings.getConfiguration()));
manager.addConfiguration(settings, false, tasks, false);
manager.addConfiguration(settings);
manager.setBeforeRunTasks(settings.getConfiguration(), tasks);
manager.setSelectedConfiguration(settings);
ProgramRunnerUtil.executeConfiguration(project, settings, DefaultRunExecutor.getRunExecutorInstance());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import com.intellij.openapi.externalSystem.model.project.ExternalProjectPojo;
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId;
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListenerAdapter;
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener;
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskType;
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
import com.intellij.openapi.module.Module;
Expand Down Expand Up @@ -92,7 +92,8 @@ public void packageJar() {
final GradleExecutionSettings settings = manager.getExecutionSettingsProvider().fun(Pair.create(workspace, externalProject.getProjectDir().toString()));
final IAzureMessager messager = AzureMessager.getMessager();
gradleTaskManager.executeTasks(externalSystemTaskId, List.of("jar"),
externalProject.getProjectDir().toString(), settings, null, new ExternalSystemTaskNotificationListenerAdapter() {
externalProject.getProjectDir().toString(), settings, null, new ExternalSystemTaskNotificationListener() {
@Override
public void onTaskOutput(ExternalSystemTaskId id, String text, boolean stdOut) {
if (StringUtils.isNotBlank(text)) {
for (String line : text.split("\\r?\\n")) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.microsoft.azure.toolkit.intellij.appservice.task;

import com.intellij.openapi.actionSystem.ActionUiKind;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.EmptyAction;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.project.Project;
import com.intellij.util.PlatformUtils;
import com.microsoft.azure.toolkit.ide.appservice.function.FunctionAppActionsContributor;
Expand Down Expand Up @@ -49,7 +50,7 @@ public void execute() throws Exception {
final Action.Id<FunctionEntity> action = PlatformUtils.isIdeaUltimate() ?
FunctionAppActionsContributor.TRIGGER_FUNCTION_WITH_HTTP_CLIENT : FunctionAppActionsContributor.TRIGGER_FUNCTION_IN_BROWSER;
final DataContext context = dataId -> CommonDataKeys.PROJECT.getName().equals(dataId) ? project : null;
final AnActionEvent event = AnActionEvent.createFromAnAction(new EmptyAction(), null, "azure.guidance.summary", context);
final AnActionEvent event = AnActionEvent.createEvent(context, new Presentation(), "azure.guidance.summary", ActionUiKind.NONE, null);
IntellijAzureActionManager.getInstance().getAction(action).handle(target, event);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
import com.intellij.ide.DataManager;
import com.intellij.ide.util.PropertiesComponent;
import com.intellij.openapi.actionSystem.ActionPlaces;
import com.intellij.openapi.actionSystem.ActionUiKind;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.fileChooser.FileChooser;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.keymap.KeymapUtil;
Expand Down Expand Up @@ -107,7 +109,7 @@ public FunctionCoreToolsCombobox(Project project, boolean includeSettings) {

private void openAzureSettingsPanel() {
final Action<Object> openSettingsAction = AzureActionManager.getInstance().getAction(ResourceCommonActionsContributor.OPEN_AZURE_SETTINGS);
final AnActionEvent event = AnActionEvent.createFromInputEvent(null, ActionPlaces.UNKNOWN, null, DataManager.getInstance().getDataContext(FunctionCoreToolsCombobox.this));
final AnActionEvent event = AnActionEvent.createEvent(DataManager.getInstance().getDataContext(FunctionCoreToolsCombobox.this), new Presentation(), ActionPlaces.UNKNOWN, ActionUiKind.NONE, null);
final ActionInstance<Object> instance = openSettingsAction.instantiate(null, event);
instance.perform(); // Open Azure Settings Panel sync
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
<h4>3.97.3</h4>
<ul>
<li>Support IntelliJ IDEA 2026.1 EAP</li>
<li>Migrate 97 scheduled-for-removal APIs to new IntelliJ Platform APIs</li>
<li>Replace deprecated AnActionEvent, ComponentManager, LafManager, Notification APIs</li>
<li>Fix registry key conflict for Cosmos DB dbtools module</li>
</ul>
<p>You may get the full change log <a href="https://github.com/Microsoft/azure-tools-for-java/blob/develop/CHANGELOG.md">here</a></p>
</html>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,13 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.SystemUtils;
import org.jetbrains.plugins.textmate.configuration.BundleConfigBean;
import org.jetbrains.plugins.textmate.configuration.TextMateSettings;
import org.jetbrains.plugins.textmate.configuration.TextMateSettings.TextMateSettingsState;
import org.jetbrains.plugins.textmate.configuration.TextMateUserBundlesSettings;
import org.wso2.lsp4intellij.IntellijLanguageClient;
import org.wso2.lsp4intellij.client.languageserver.serverdefinition.ProcessBuilderServerDefinition;

import javax.annotation.Nonnull;
import java.io.File;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Objects;
import java.util.Optional;

@Slf4j
Expand Down Expand Up @@ -93,16 +87,22 @@ public static synchronized void registerBicepTextMateBundle() {

@AzureOperation("boundary/bicep.unregister_textmate_bundles")
public static synchronized void unregisterBicepTextMateBundle() {
final TextMateSettingsState state = TextMateSettings.getInstance().getState();
if (Objects.nonNull(state)) {
final Path bicepParamTextmatePath = Path.of(CommonConst.PLUGIN_PATH, "bicep", "textmate", "bicepparam");
final Collection<BundleConfigBean> bundles = state.getBundles();
if (bundles.stream().anyMatch(b -> "bicep".equals(b.getName()))) {
final ArrayList<BundleConfigBean> newBundles = new ArrayList<>(bundles);
newBundles.removeIf(bundle -> StringUtils.equalsAnyIgnoreCase(bundle.getName(), "bicep", "bicepparam"));
state.setBundles(newBundles);
}
}
// TODO: Migrate to new TextMate API when available in IntelliJ 261
// TextMateSettings is deprecated - temporarily disable TextMate bundle unregistration
// The bundles will remain until new API is available
log.warn("TextMate bundle unregistration skipped due to deprecated API");

// Original deprecated code:
// final TextMateSettingsState state = TextMateSettings.getInstance().getState();
// if (Objects.nonNull(state)) {
// final Path bicepParamTextmatePath = Path.of(CommonConst.PLUGIN_PATH, "bicep", "textmate", "bicepparam");
// final Collection<BundleConfigBean> bundles = state.getBundles();
// if (bundles.stream().anyMatch(b -> "bicep".equals(b.getName()))) {
// final ArrayList<BundleConfigBean> newBundles = new ArrayList<>(bundles);
// newBundles.removeIf(bundle -> StringUtils.equalsAnyIgnoreCase(bundle.getName(), "bicep", "bicepparam"));
// state.setBundles(newBundles);
// }
// }
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ public CompletableFuture<MessageActionItem> showMessageRequest(ShowMessageReques

} else {

final Notification notification = STICKY_NOTIFICATION_GROUP.createNotification(title, null, message, getNotificationType(msgType));
final Notification notification = STICKY_NOTIFICATION_GROUP.createNotification(title, message, getNotificationType(msgType));
final CompletableFuture<Integer> integerCompletableFuture = new CompletableFuture<>();
for (int i = 0, optionsSize = options.length; i < optionsSize; i++) {
final int finalI = i;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManagerListener;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.wso2.lsp4intellij.IntellijLanguageClient;
import org.wso2.lsp4intellij.client.languageserver.wrapper.LanguageServerWrapper;
import org.wso2.lsp4intellij.utils.FileUtils;
Expand All @@ -30,10 +29,7 @@ public class LSPProjectManagerListener implements ProjectManagerListener {

private static final Logger LOG = Logger.getInstance(LSPProjectManagerListener.class);

@Override
public void projectOpened(@Nullable final Project project) {
// Todo
}
// Removed deprecated projectOpened method - replaced with ProjectActivity if needed

@Override
public void projectClosing(@NotNull Project project) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package org.wso2.lsp4intellij.requests;

import com.intellij.openapi.diagnostic.Logger;
import com.intellij.util.ui.UIUtil;
import com.intellij.ui.JBColor;
import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.util.data.MutableDataSet;
Expand Down Expand Up @@ -69,7 +69,7 @@ public static String getHoverString(@NonNull Hover hover) {
result.add(renderer.render(parser.parse(string)));
}
}
return "<html><style>p {margin: 0; color: " + (UIUtil.isUnderDarcula() ? "rgb(187,187,187)" : "black") + ";</style>" + String.join("\n\n", result) + "</html>";
return "<html><style>p {margin: 0; color: " + (!JBColor.isBright() ? "rgb(187,187,187)" : "black") + ";</style>" + String.join("\n\n", result) + "</html>";
} else {
return "";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
import com.intellij.openapi.module.ModuleUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectUtil;
import com.intellij.openapi.ui.ComponentWithBrowseButton;
import com.intellij.openapi.ui.TextComponentAccessor;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.HyperlinkLabel;
Expand Down Expand Up @@ -178,8 +176,7 @@ public void setVisible(final boolean visible) {

private void createUIComponents() {
this.fileCode = new AzureFileInput();
this.fileCode.addActionListener(new ComponentWithBrowseButton.BrowseFolderActionListener<>("Select Path of Source Code", null, fileCode,
this.project, FileChooserDescriptorFactory.createSingleFolderDescriptor(), TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT));
this.fileCode.addBrowseFolderListener(this.project, FileChooserDescriptorFactory.createSingleFolderDescriptor().withTitle("Select Path of Source Code"));
this.fileCode.addValueChangedListener(s -> onFolderChanged.accept(Path.of(s)));
this.fileCode.addValueChangedListener(this::onSelectFilePath);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ public void onError(Throwable throwable) {

private ConsoleView createConsoleView(final Project project, final String imageName) {
final DataContext context = dataId -> CommonDataKeys.PROJECT.getName().equals(dataId) ? project : null;
final AnActionEvent event = AnActionEvent.createFromAnAction(new EmptyAction(), null, "azure.guidance.summary", context);
final AnActionEvent event = AnActionEvent.createEvent(context, new Presentation(), "azure.guidance.summary", ActionUiKind.NONE, null);
ActionManager.getInstance().getAction("ActivateRunToolWindow").actionPerformed(event);
final ConsoleView console = TextConsoleBuilderFactory.getInstance().createBuilder(project).getConsole();
((ConsoleViewImpl) console).setVisible(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import com.intellij.icons.AllIcons;
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.ComponentWithBrowseButton;
import com.intellij.openapi.ui.TextComponentAccessor;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.ui.AnimatedIcon;
import com.microsoft.azure.toolkit.intellij.common.AzureDialog;
Expand Down Expand Up @@ -66,8 +64,7 @@ protected void init() {
lblCertPath.setLabelFor(txtCertPath);
txtCertPath.addValueChangedListener(ignore -> resetValidationMessage());
txtCertPath.addValidator(this::validateCertPath);
txtCertPath.addActionListener(new ComponentWithBrowseButton.BrowseFolderActionListener<>("Select Cert for Docker Host", null, txtCertPath,
project, FileChooserDescriptorFactory.createSingleFolderDescriptor(), TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT));
txtCertPath.addBrowseFolderListener(project, FileChooserDescriptorFactory.createSingleFolderDescriptor().withTitle("Select Cert for Docker Host"));
}

private AzureValidationInfo validateCertPath() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.ComponentWithBrowseButton;
import com.intellij.openapi.ui.TextComponentAccessor;
import com.microsoft.azure.toolkit.intellij.common.AzureArtifactComboBox;
import com.microsoft.azure.toolkit.intellij.common.AzureDialog;
import com.microsoft.azure.toolkit.intellij.common.AzureTextInput;
Expand Down Expand Up @@ -56,12 +54,10 @@ protected void init() {
});

final FileChooserDescriptor dockerDescriptor = FileChooserDescriptorFactory.createSingleFileDescriptor();
txtDockerFile.addActionListener(new ComponentWithBrowseButton.BrowseFolderActionListener<>("Select Docker File", "Select Docker File",
txtDockerFile, project, dockerDescriptor, TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT));
txtDockerFile.addBrowseFolderListener(project, dockerDescriptor.withTitle("Select Docker File"));

final FileChooserDescriptor baseDirectory = FileChooserDescriptorFactory.createSingleFolderDescriptor();
txtBaseDirectory.addActionListener(new ComponentWithBrowseButton.BrowseFolderActionListener<>("Select Base Directory", "Select base directory for docker build",
txtDockerFile, project, baseDirectory, TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT));
txtBaseDirectory.addBrowseFolderListener(project, baseDirectory.withTitle("Select Base Directory"));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
import com.intellij.docker.view.registry.DockerRegistryProvider;
import com.intellij.icons.AllIcons;
import com.intellij.ide.BrowserUtil;
import com.intellij.openapi.actionSystem.ActionUiKind;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.ui.AnimatedIcon;
import com.intellij.ui.HyperlinkAdapter;
Expand Down Expand Up @@ -115,7 +117,7 @@ public void applyDataToRegistry(@Nonnull final DockerRegistryConfiguration regis
final Action<ContainerRegistry> enableAdminUser = AzureActionManager.getInstance().getAction(ContainerRegistryActionsContributor.ENABLE_ADMIN_USER).bind(data);
final AzureString message = AzureString.format(ERROR_MESSAGE_PATTERN_ADMIN_DISABLED, data.getName());
final ConfigurationException exception = new ConfigurationException(message.toString());
exception.setQuickFix(dataContext -> enableAdminUser.handle(null, AnActionEvent.createFromDataContext("", null, dataContext)));
exception.setQuickFix(dataContext -> enableAdminUser.handle(null, AnActionEvent.createEvent(dataContext, new Presentation(), "", ActionUiKind.NONE, null)));
throw exception;
}
AzureTelemeter.log(AzureTelemetry.Type.OP_END, "user/acr.add_docker_registry_with_acr_instance_in_services_view");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class KubernetesUtils {
public static final String REDHAT_KUBERNETES_PLUGIN_ID = "com.redhat.devtools.intellij.kubernetes";

public static boolean isKubernetesPluginEnabled() {
return Optional.ofNullable(PluginManagerCore.getPlugin(PluginId.findId(KUBERNETES_PLUGIN_ID)))
return Optional.ofNullable(PluginManagerCore.getPlugin(PluginId.getId(KUBERNETES_PLUGIN_ID)))
.map(plugin -> plugin.isEnabled()).orElse(false);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ public void registerHandlers(AzureActionManager am) {
CreateCosmosContainerAction.createCassandraTable(e.getProject(), (CassandraKeyspace) r, CassandraTableDraft.CassandraTableConfig.getDefaultConfig()));

final String DATABASE_TOOLS_PLUGIN_ID = "com.intellij.database";
if (PluginManagerCore.getPlugin(PluginId.findId(DATABASE_TOOLS_PLUGIN_ID)) == null) {
if (PluginManagerCore.getPlugin(PluginId.getId(DATABASE_TOOLS_PLUGIN_ID)) == null) {
final BiConsumer<CosmosDBAccount, AnActionEvent> openDatabaseHandler = (c, e) -> openDatabaseTool(e.getProject(), c);
final boolean cassandraOn = Registry.is("azure.toolkit.cosmos_cassandra.dbtools.enabled");
am.registerHandler(CosmosActionsContributor.OPEN_DATABASE_TOOL, (r, e) -> r instanceof MongoCosmosDBAccount || (r instanceof CassandraCosmosDBAccount && cassandraOn), openDatabaseHandler);
Expand Down
Loading