inline PluginsFacade, as the thing it facades is in the same module

This commit is contained in:
Dmitry Jemerov
2011-10-21 13:50:38 +02:00
parent 48be696fb6
commit c386b8a64d
13 changed files with 18 additions and 89 deletions
@@ -21,11 +21,11 @@ import com.intellij.ide.fileTemplates.FileTemplate;
import com.intellij.ide.fileTemplates.FileTemplateManager;
import com.intellij.ide.fileTemplates.InternalTemplateBean;
import com.intellij.ide.plugins.IdeaPluginDescriptorImpl;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.ide.plugins.cl.PluginClassLoader;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ApplicationNamesInfo;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.components.ExportableComponent;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.diagnostic.Logger;
@@ -137,7 +137,7 @@ public class FileTemplateManagerImpl extends FileTemplateManager implements Expo
private void loadDefaultTemplates() {
final Set<URL> processedUrls = new HashSet<URL>();
for (PluginDescriptor plugin : PluginsFacade.INSTANCE.getPlugins()) {
for (PluginDescriptor plugin : PluginManager.getPlugins()) {
if (plugin instanceof IdeaPluginDescriptorImpl && ((IdeaPluginDescriptorImpl)plugin).isEnabled()) {
final ClassLoader loader = plugin.getPluginClassLoader();
if (loader instanceof PluginClassLoader && ((PluginClassLoader)loader).getUrls().isEmpty()) {
@@ -1,29 +0,0 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.openapi.application.impl;
import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.openapi.extensions.PluginId;
/**
* @author max
*/
public abstract class PluginsFacade {
public static PluginsFacade INSTANCE;
public abstract IdeaPluginDescriptor getPlugin(PluginId id);
public abstract IdeaPluginDescriptor[] getPlugins();
}
@@ -23,12 +23,12 @@ import com.intellij.errorreport.error.NoSuchEAPUserException;
import com.intellij.ide.BrowserUtil;
import com.intellij.ide.DataManager;
import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.idea.IdeaLogger;
import com.intellij.notification.*;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.diagnostic.ErrorReportSubmitter;
import com.intellij.openapi.diagnostic.IdeaLoggingEvent;
import com.intellij.openapi.diagnostic.SubmittedReportInfo;
@@ -216,7 +216,7 @@ public class ITNReporter extends ErrorReportSubmitter {
if (t != null) {
final PluginId pluginId = IdeErrorsDialog.findPluginId(t);
if (pluginId != null) {
final IdeaPluginDescriptor ideaPluginDescriptor = PluginsFacade.INSTANCE.getPlugin(pluginId);
final IdeaPluginDescriptor ideaPluginDescriptor = PluginManager.getPlugin(pluginId);
if (ideaPluginDescriptor != null && !ideaPluginDescriptor.isBundled()) {
descBuilder.append("Plugin ").append(ideaPluginDescriptor.getName()).append(" version: ").append(ideaPluginDescriptor.getVersion()).append("\n");
}
@@ -14,7 +14,6 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ApplicationNamesInfo;
import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.diagnostic.ErrorReportSubmitter;
import com.intellij.openapi.diagnostic.IdeaLoggingEvent;
import com.intellij.openapi.diagnostic.Logger;
@@ -309,7 +308,7 @@ public class IdeErrorsDialog extends DialogWrapper implements MessagePoolListene
return;
}
IdeaPluginDescriptor plugin = PluginsFacade.INSTANCE.getPlugin(pluginId);
IdeaPluginDescriptor plugin = PluginManager.getPlugin(pluginId);
final Ref<Boolean> hasDependants = new Ref<Boolean>(false);
PluginManager.checkDependants(plugin, new Function<PluginId, IdeaPluginDescriptor>() {
@Override
@@ -439,7 +438,7 @@ public class IdeErrorsDialog extends DialogWrapper implements MessagePoolListene
}
}
else {
text.append(DiagnosticBundle.message("error.list.message.blame.plugin", PluginsFacade.INSTANCE.getPlugin(pluginId).getName()));
text.append(DiagnosticBundle.message("error.list.message.blame.plugin", PluginManager.getPlugin(pluginId).getName()));
}
text.append(" ").append(DiagnosticBundle.message("error.list.message.info",
DateFormatUtil.formatPrettyDateTime(message.getDate()),
@@ -20,9 +20,9 @@ import com.intellij.ide.BrowserUtil;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.plugins.HelpSetPath;
import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.openapi.application.ApplicationInfo;
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.help.HelpManager;
import com.intellij.openapi.ui.Messages;
@@ -86,7 +86,7 @@ public class HelpManagerImpl extends HelpManager {
HelpSet helpSet = new HelpSet(null, new URL (urlToHelp));
// merge plugins help sets
IdeaPluginDescriptor[] pluginDescriptors = PluginsFacade.INSTANCE.getPlugins();
IdeaPluginDescriptor[] pluginDescriptors = PluginManager.getPlugins();
for (IdeaPluginDescriptor pluginDescriptor : pluginDescriptors) {
HelpSetPath[] sets = pluginDescriptor.getHelpSets();
for (HelpSetPath hsPath : sets) {
@@ -28,7 +28,6 @@ import com.intellij.notification.Notifications;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.extensions.LogProvider;
@@ -97,16 +96,6 @@ public class PluginManager {
public static long startupStart;
public static final float PLUGINS_PROGRESS_MAX_VALUE = 0.3f;
public static class Facade extends PluginsFacade {
public IdeaPluginDescriptor getPlugin(PluginId id) {
return PluginManager.getPlugin(id);
}
public IdeaPluginDescriptor[] getPlugins() {
return PluginManager.getPlugins();
}
}
private static IdeaPluginDescriptorImpl[] ourPlugins;
private static Map<String, PluginId> ourPluginClasses;
@@ -179,9 +168,6 @@ public class PluginManager {
try {
ClassloaderUtil.clearJarURLCache();
//noinspection AssignmentToStaticFieldFromInstanceMethod
PluginsFacade.INSTANCE = new Facade();
Class aClass = Class.forName(mainClass);
final Method method = aClass.getDeclaredMethod(methodName, ArrayUtil.EMPTY_STRING_ARRAY.getClass());
method.setAccessible(true);
@@ -27,7 +27,6 @@ import com.intellij.openapi.application.ex.ApplicationEx;
import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.ExtensionPoint;
import com.intellij.openapi.extensions.Extensions;
@@ -102,7 +101,7 @@ public class IdeaApplication {
protected ApplicationStarter getStarter() {
if (myArgs.length > 0) {
final Application app = ApplicationManager.getApplication();
PluginsFacade.INSTANCE.getPlugins(); //TODO[max] make it clearer plugins should initialize before querying for extpoints.
PluginManager.getPlugins();
ExtensionPoint<ApplicationStarter> point = Extensions.getRootArea().getExtensionPoint(ExtensionPoints.APPLICATION_STARTER);
final ApplicationStarter[] starters = point.getExtensions();
@@ -31,7 +31,6 @@ import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.PluginId;
@@ -198,7 +197,7 @@ public final class ActionManagerImpl extends ActionManagerEx implements Applicat
private void registerPluginActions() {
final IdeaPluginDescriptor[] plugins = PluginsFacade.INSTANCE.getPlugins();
final IdeaPluginDescriptor[] plugins = PluginManager.getPlugins();
for (IdeaPluginDescriptor plugin : plugins) {
if (PluginManager.shouldSkipPlugin(plugin)) continue;
final List<Element> elementList = plugin.getActionsDescriptionElements();
@@ -329,7 +328,7 @@ public final class ActionManagerImpl extends ActionManagerEx implements Applicat
*/
@Nullable
private AnAction processActionElement(Element element, final ClassLoader loader, PluginId pluginId) {
final IdeaPluginDescriptor plugin = PluginsFacade.INSTANCE.getPlugin(pluginId);
final IdeaPluginDescriptor plugin = PluginManager.getPlugin(pluginId);
ResourceBundle bundle = getActionsResourceBundle(loader, plugin);
if (!ACTION_ELEMENT_NAME.equals(element.getName())) {
@@ -471,7 +470,7 @@ public final class ActionManagerImpl extends ActionManagerEx implements Applicat
}
private AnAction processGroupElement(Element element, final ClassLoader loader, PluginId pluginId) {
final IdeaPluginDescriptor plugin = PluginsFacade.INSTANCE.getPlugin(pluginId);
final IdeaPluginDescriptor plugin = PluginManager.getPlugin(pluginId);
ResourceBundle bundle = getActionsResourceBundle(loader, plugin);
if (!GROUP_ELEMENT_NAME.equals(element.getName())) {
@@ -932,7 +931,7 @@ public final class ActionManagerImpl extends ActionManagerEx implements Applicat
@NonNls
private static String getPluginInfo(@Nullable PluginId id) {
if (id != null) {
final IdeaPluginDescriptor plugin = PluginsFacade.INSTANCE.getPlugin(id);
final IdeaPluginDescriptor plugin = PluginManager.getPlugin(id);
if (plugin != null) {
String name = plugin.getName();
if (name == null) {
@@ -207,16 +207,6 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application
mySplash = splash;
myName = appName;
PluginsFacade.INSTANCE = new PluginsFacade() {
public IdeaPluginDescriptor getPlugin(PluginId id) {
return PluginManager.getPlugin(id);
}
public IdeaPluginDescriptor[] getPlugins() {
return PluginManager.getPlugins();
}
};
myIsInternal = isInternal;
myTestModeFlag = isUnitTestMode;
myHeadlessMode = isHeadless;
@@ -17,11 +17,11 @@ package com.intellij.openapi.keymap.impl.ui;
import com.intellij.ide.actionMacro.ActionMacro;
import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.ide.ui.search.SearchUtil;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import com.intellij.openapi.actionSystem.ex.QuickList;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.extensions.PluginId;
@@ -73,7 +73,7 @@ public class ActionsTreeUtil {
final KeymapManagerEx keymapManager = KeymapManagerEx.getInstanceEx();
ActionManagerEx managerEx = ActionManagerEx.getInstanceEx();
final List<IdeaPluginDescriptor> plugins = new ArrayList<IdeaPluginDescriptor>();
Collections.addAll(plugins, PluginsFacade.INSTANCE.getPlugins());
Collections.addAll(plugins, PluginManager.getPlugins());
Collections.sort(plugins, new Comparator<IdeaPluginDescriptor>() {
public int compare(IdeaPluginDescriptor o1, IdeaPluginDescriptor o2) {
return o1.getName().compareTo(o2.getName());
@@ -26,7 +26,6 @@ import com.intellij.openapi.application.PathMacros;
import com.intellij.openapi.application.ex.ApplicationEx;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.components.StorageScheme;
import com.intellij.openapi.components.TrackingPathMacroSubstitutor;
@@ -206,7 +205,7 @@ public class ProjectImpl extends ComponentManagerImpl implements ProjectEx {
}
public void loadProjectComponents() {
final IdeaPluginDescriptor[] plugins = PluginsFacade.INSTANCE.getPlugins();
final IdeaPluginDescriptor[] plugins = PluginManager.getPlugins();
for (IdeaPluginDescriptor plugin : plugins) {
if (PluginManager.shouldSkipPlugin(plugin)) continue;
loadComponentsConfiguration(plugin.getProjectComponents(), plugin, isDefault());
@@ -25,7 +25,6 @@ import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.ActionButtonLook;
import com.intellij.openapi.actionSystem.impl.PresentationFactory;
import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.util.IconLoader;
import com.intellij.openapi.util.io.FileUtil;
@@ -352,7 +351,7 @@ public class WelcomeScreen implements Disposable {
private void createListOfPlugins(final JPanel installedPluginsPanel, final JPanel bundledPluginsPanel) {
//Create the list of installed plugins
List<IdeaPluginDescriptor> installedPlugins =
new ArrayList<IdeaPluginDescriptor>(Arrays.asList(PluginsFacade.INSTANCE.getPlugins()));
new ArrayList<IdeaPluginDescriptor>(Arrays.asList(PluginManager.getPlugins()));
if (installedPlugins.size() == 0) {
addListItemToPlugins(installedPluginsPanel,
@@ -15,7 +15,6 @@
*/
package com.intellij.idea;
import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.DataProvider;
@@ -23,8 +22,6 @@ import com.intellij.openapi.application.Result;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.application.ex.ApplicationEx;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.application.impl.PluginsFacade;
import com.intellij.openapi.extensions.PluginId;
import com.intellij.openapi.util.Disposer;
import org.jetbrains.annotations.Nullable;
@@ -33,16 +30,6 @@ public class IdeaTestApplication extends CommandLineApplication implements Dispo
private IdeaTestApplication() {
super(true, true, true);
PluginsFacade.INSTANCE = new PluginsFacade() {
public IdeaPluginDescriptor getPlugin(PluginId id) {
return PluginManager.getPlugin(id);
}
public IdeaPluginDescriptor[] getPlugins() {
return PluginManager.getPlugins();
}
};
}
public void setDataProvider(@Nullable DataProvider dataContext) {
@@ -57,7 +44,7 @@ public class IdeaTestApplication extends CommandLineApplication implements Dispo
public static synchronized IdeaTestApplication getInstance(@Nullable final String configPath) {
if (ourInstance == null) {
new IdeaTestApplication();
PluginsFacade.INSTANCE.getPlugins(); //initialization
PluginManager.getPlugins();
final ApplicationEx app = ApplicationManagerEx.getApplicationEx();
new WriteAction() {
protected void run(Result result) throws Throwable {