summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTableModel.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTableModel.java')
-rw-r--r--platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTableModel.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTableModel.java b/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTableModel.java
index d05622504565..cdd0fa0eb608 100644
--- a/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTableModel.java
+++ b/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTableModel.java
@@ -89,12 +89,13 @@ public class InstalledPluginsTableModel {
(descriptor, pair) -> {
});
+ Map<PluginId, IdeaPluginDescriptorImpl> pluginIdMap = PluginManagerCore.buildPluginIdMap();
List<IdeaPluginDescriptorImpl> impls = descriptors.stream()
- .filter(IdeaPluginDescriptorImpl.class::isInstance)
- .map(IdeaPluginDescriptorImpl.class::cast)
+ .map(descriptor -> descriptor instanceof IdeaPluginDescriptorImpl ?
+ (IdeaPluginDescriptorImpl)descriptor :
+ findByPluginId(descriptor.getPluginId(), pluginIdMap))
.collect(Collectors.toCollection(ArrayList::new));
- Map<PluginId, IdeaPluginDescriptorImpl> pluginIdMap = PluginManagerCore.buildPluginIdMap();
List<IdeaPluginDescriptorImpl> descriptorsToUpdate = action.isEnable() ?
getDependenciesToEnable(impls, tempEnabled, pluginIdMap) :
getDependentsToDisable(impls, tempEnabled, pluginIdMap);
@@ -116,6 +117,12 @@ public class InstalledPluginsTableModel {
updatePluginDependencies(pluginIdMap);
}
+ private static @NotNull IdeaPluginDescriptorImpl findByPluginId(@NotNull PluginId pluginId,
+ @NotNull Map<PluginId, IdeaPluginDescriptorImpl> pluginIdMap) {
+ return Objects.requireNonNull(pluginIdMap.get(pluginId),
+ "'" + pluginId + "' not found");
+ }
+
private static void setNewEnabled(@NotNull Collection<? extends IdeaPluginDescriptor> descriptors,
@NotNull Map<PluginId, PluginEnabledState> enabledMap,
@NotNull PluginEnableDisableAction action,