private void loadApplicationComponents() { final IdeaPluginDescriptor[] plugins = PluginManager.getPlugins(); for (IdeaPluginDescriptor plugin : plugins) { if (PluginManager.shouldSkipPlugin(plugin)) continue; loadComponentsConfiguration(plugin.getAppComponents(), plugin, false); } }
public InstalledPluginsTableModel() { super.columns = new ColumnInfo[] {new EnabledPluginInfo(), new MyPluginManagerColumnInfo()}; view = new ArrayList<IdeaPluginDescriptor>(Arrays.asList(PluginManager.getPlugins())); view.addAll(myInstalled); reset(view); ApplicationInfoEx applicationInfo = ApplicationInfoEx.getInstanceEx(); for (Iterator<IdeaPluginDescriptor> iterator = view.iterator(); iterator.hasNext(); ) { @NonNls final String s = iterator.next().getPluginId().getIdString(); if ("com.intellij".equals(s) || applicationInfo.isEssentialPlugin(s)) iterator.remove(); } setSortKey(new RowSorter.SortKey(getNameColumn(), SortOrder.ASCENDING)); }
private void mergeWithDefaultConfiguration() { final ArrayList<Configuration> cfgList = new ArrayList<Configuration>(); for (LanguageInjectionSupport support : InjectorUtils.getActiveInjectionSupports()) { final String config = support.getDefaultConfigUrl(); final URL url = config == null ? null : support.getClass().getResource(config); if (url != null) { try { cfgList.add(load(url.openStream())); } catch (Exception e) { LOG.warn(e); } } } final THashSet<Object> visited = new THashSet<Object>(); for (IdeaPluginDescriptor pluginDescriptor : PluginManager.getPlugins()) { if (pluginDescriptor instanceof IdeaPluginDescriptorImpl && !((IdeaPluginDescriptorImpl) pluginDescriptor).isEnabled()) continue; final ClassLoader loader = pluginDescriptor.getPluginClassLoader(); if (!visited.add(loader)) continue; if (loader instanceof PluginClassLoader && ((PluginClassLoader) loader).getUrls().isEmpty()) continue; try { final Enumeration<URL> enumeration = loader.getResources("META-INF/languageInjections.xml"); if (enumeration == null) continue; while (enumeration.hasMoreElements()) { URL url = enumeration.nextElement(); if (!visited.add(url.getFile())) continue; // for DEBUG mode try { cfgList.add(load(url.openStream())); } catch (Exception e) { LOG.warn(e); } } } catch (Exception e) { LOG.warn(e); } } final ArrayList<BaseInjection> originalInjections = new ArrayList<BaseInjection>(); final ArrayList<BaseInjection> newInjections = new ArrayList<BaseInjection>(); myDefaultInjections = new ArrayList<BaseInjection>(); for (String supportId : InjectorUtils.getActiveInjectionSupportIds()) { for (Configuration cfg : cfgList) { final List<BaseInjection> imported = cfg.getInjections(supportId); myDefaultInjections.addAll(imported); importInjections(getInjections(supportId), imported, originalInjections, newInjections); } } replaceInjections(newInjections, originalInjections); }