diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java index c98428fddc1b..a03cd3b99eac 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java @@ -39,23 +39,12 @@ import com.intellij.psi.PsiExpression; import com.intellij.util.net.NetUtils; import com.sun.jdi.Value; import org.jdom.Element; -import org.jetbrains.annotations.NotNull; import java.io.IOException; public class DebuggerUtilsImpl extends DebuggerUtilsEx{ private static final Logger LOG = Logger.getInstance("#com.intellij.debugger.impl.DebuggerUtilsImpl"); - @NotNull - public String getComponentName() { - return "DebuggerUtils"; - } - - public void initComponent() { } - - public void disposeComponent() { - } - public PsiExpression substituteThis(PsiExpression expressionWithThis, PsiExpression howToEvaluateThis, Value howToEvaluateThisValue, StackFrameContext context) throws EvaluateException { return DebuggerTreeNodeExpression.substituteThis(expressionWithThis, howToEvaluateThis, howToEvaluateThisValue); diff --git a/java/debugger/impl/src/com/intellij/debugger/settings/DebuggerSettings.java b/java/debugger/impl/src/com/intellij/debugger/settings/DebuggerSettings.java index ba7116d49288..996c87656825 100644 --- a/java/debugger/impl/src/com/intellij/debugger/settings/DebuggerSettings.java +++ b/java/debugger/impl/src/com/intellij/debugger/settings/DebuggerSettings.java @@ -16,8 +16,7 @@ package com.intellij.debugger.settings; import com.intellij.debugger.impl.DebuggerUtilsEx; -import com.intellij.execution.ui.layout.impl.RunnerLayoutSettings; -import com.intellij.openapi.components.ApplicationComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.DefaultJDOMExternalizer; @@ -34,21 +33,21 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -public class DebuggerSettings implements JDOMExternalizable, ApplicationComponent, Cloneable { +public class DebuggerSettings implements JDOMExternalizable, NamedComponent, Cloneable { private static final Logger LOG = Logger.getInstance("#com.intellij.debugger.settings.DebuggerSettings"); public static final int SOCKET_TRANSPORT = 0; public static final int SHMEM_TRANSPORT = 1; - public static final @NonNls String SUSPEND_ALL = "SuspendAll"; - public static final @NonNls String SUSPEND_THREAD = "SuspendThread"; - public static final @NonNls String SUSPEND_NONE = "SuspendNone"; + @NonNls public static final String SUSPEND_ALL = "SuspendAll"; + @NonNls public static final String SUSPEND_THREAD = "SuspendThread"; + @NonNls public static final String SUSPEND_NONE = "SuspendNone"; - public static final @NonNls String EVALUATE_FRAGMENT = "EvaluateFragment"; - public static final @NonNls String EVALUATE_EXPRESSION = "EvaluateExpression"; + @NonNls public static final String EVALUATE_FRAGMENT = "EvaluateFragment"; + @NonNls public static final String EVALUATE_EXPRESSION = "EvaluateExpression"; - public static final @NonNls String RUN_HOTSWAP_ALWAYS = "RunHotswapAlways"; - public static final @NonNls String RUN_HOTSWAP_NEVER = "RunHotswapNever"; - public static final @NonNls String RUN_HOTSWAP_ASK = "RunHotswapAsk"; + @NonNls public static final String RUN_HOTSWAP_ALWAYS = "RunHotswapAlways"; + @NonNls public static final String RUN_HOTSWAP_NEVER = "RunHotswapNever"; + @NonNls public static final String RUN_HOTSWAP_ASK = "RunHotswapAsk"; public boolean TRACING_FILTERS_ENABLED; public int VALUE_LOOKUP_DELAY; // ms @@ -75,11 +74,6 @@ public class DebuggerSettings implements JDOMExternalizable, ApplicationComponen private Map myContentStates = new HashMap(); - public void disposeComponent() { - } - - public void initComponent() {} - public ClassFilter[] getSteppingFilters() { final ClassFilter[] rv = new ClassFilter[mySteppingFilters.length]; for (int idx = 0; idx < rv.length; idx++) { @@ -89,7 +83,7 @@ public class DebuggerSettings implements JDOMExternalizable, ApplicationComponen } void setSteppingFilters(ClassFilter[] steppingFilters) { - mySteppingFilters = (steppingFilters != null)? steppingFilters : ClassFilter.EMPTY_ARRAY; + mySteppingFilters = steppingFilters != null ? steppingFilters : ClassFilter.EMPTY_ARRAY; } @SuppressWarnings({"HardCodedStringLiteral"}) @@ -116,9 +110,8 @@ public class DebuggerSettings implements JDOMExternalizable, ApplicationComponen @SuppressWarnings({"HardCodedStringLiteral"}) public void writeExternal(Element parentNode) throws WriteExternalException { DefaultJDOMExternalizer.writeExternal(this, parentNode); - Element element; for (ClassFilter mySteppingFilter : mySteppingFilters) { - element = new Element("filter"); + Element element = new Element("filter"); parentNode.addContent(element); mySteppingFilter.writeExternal(element); } @@ -180,17 +173,6 @@ public class DebuggerSettings implements JDOMExternalizable, ApplicationComponen return "DebuggerSettings"; } - public ContentState getContentState(String type) { - ContentState state = myContentStates.get(type); - if (state == null) { - state = new ContentState(type); - myContentStates.put(type, state); - } - - return state; - } - - public static class ContentState implements Cloneable { private final String myType; @@ -264,7 +246,7 @@ public class DebuggerSettings implements JDOMExternalizable, ApplicationComponen } public double getSplitProportion(double defaultValue) { - return (mySplitProportion <= 0 || mySplitProportion >= 1) ? defaultValue : mySplitProportion; + return mySplitProportion <= 0 || mySplitProportion >= 1 ? defaultValue : mySplitProportion; } public void setDetached(final boolean detached) { @@ -287,10 +269,4 @@ public class DebuggerSettings implements JDOMExternalizable, ApplicationComponen return (ContentState)super.clone(); } } - - public RunnerLayoutSettings getLayoutSettings() { - return RunnerLayoutSettings.getInstance(); - } - - } diff --git a/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java b/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java index 1122836821e2..86035d44db80 100644 --- a/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java +++ b/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java @@ -24,7 +24,6 @@ import com.intellij.debugger.engine.evaluation.TextWithImports; import com.intellij.execution.ExecutionException; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.Extensions; @@ -48,7 +47,7 @@ import org.jetbrains.annotations.Nullable; import java.util.*; -public abstract class DebuggerUtils implements ApplicationComponent { +public abstract class DebuggerUtils { private static final Logger LOG = Logger.getInstance("#com.intellij.debugger.engine.DebuggerUtils"); private static final Key TO_STRING_METHOD_KEY = new Key("CachedToStringMethod"); public static final Set ourPrimitiveTypeNames = new HashSet(Arrays.asList( diff --git a/platform/lang-api/src/com/intellij/lang/injection/InjectedLanguageManager.java b/platform/lang-api/src/com/intellij/lang/injection/InjectedLanguageManager.java index 9ba141ac9117..137a9e4d4d36 100644 --- a/platform/lang-api/src/com/intellij/lang/injection/InjectedLanguageManager.java +++ b/platform/lang-api/src/com/intellij/lang/injection/InjectedLanguageManager.java @@ -22,7 +22,6 @@ */ package com.intellij.lang.injection; -import com.intellij.openapi.components.ProjectComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; @@ -36,13 +35,13 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public abstract class InjectedLanguageManager implements ProjectComponent { +public abstract class InjectedLanguageManager { /** @see com.intellij.lang.injection.MultiHostInjector#MULTIHOST_INJECTOR_EP_NAME */ @Deprecated public static final ExtensionPointName MULTIHOST_INJECTOR_EP_NAME = MultiHostInjector.MULTIHOST_INJECTOR_EP_NAME; - private final static NotNullLazyKey INSTANCE_CACHE = ServiceManager.createLazyKey(InjectedLanguageManager.class); + private static final NotNullLazyKey INSTANCE_CACHE = ServiceManager.createLazyKey(InjectedLanguageManager.class); public static InjectedLanguageManager getInstance(Project project) { return INSTANCE_CACHE.getValue(project); diff --git a/platform/lang-api/src/com/intellij/usageView/UsageTreeColorsScheme.java b/platform/lang-api/src/com/intellij/usageView/UsageTreeColorsScheme.java index 019cd5352347..9e865ccd3083 100644 --- a/platform/lang-api/src/com/intellij/usageView/UsageTreeColorsScheme.java +++ b/platform/lang-api/src/com/intellij/usageView/UsageTreeColorsScheme.java @@ -15,7 +15,7 @@ */ package com.intellij.usageView; -import com.intellij.openapi.components.ApplicationComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.editor.colors.EditorColorsManager; import com.intellij.openapi.editor.colors.EditorColorsScheme; @@ -26,7 +26,7 @@ import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; -public class UsageTreeColorsScheme implements ApplicationComponent, JDOMExternalizable{ +public class UsageTreeColorsScheme implements NamedComponent, JDOMExternalizable{ private EditorColorsScheme myColorsScheme; private final EditorColorsManager myEditorColorsManager; @Deprecated @@ -49,12 +49,6 @@ public class UsageTreeColorsScheme implements ApplicationComponent, JDOMExternal return myColorsScheme; } - public void initComponent() { - } - - public void disposeComponent() { - } - public void readExternal(Element element) throws InvalidDataException { if (myColorsScheme == null){ myColorsScheme = (EditorColorsScheme) myEditorColorsManager.getScheme(EditorColorsManager.DEFAULT_SCHEME_NAME).clone(); diff --git a/platform/lang-impl/src/com/intellij/ide/todo/TodoConfiguration.java b/platform/lang-impl/src/com/intellij/ide/todo/TodoConfiguration.java index 3c0a2dedfa1e..a137a6f4aba6 100644 --- a/platform/lang-impl/src/com/intellij/ide/todo/TodoConfiguration.java +++ b/platform/lang-impl/src/com/intellij/ide/todo/TodoConfiguration.java @@ -17,7 +17,7 @@ package com.intellij.ide.todo; import com.intellij.openapi.Disposable; -import com.intellij.openapi.components.ApplicationComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.JDOMExternalizable; @@ -40,7 +40,7 @@ import java.util.Arrays; /** * @author Vladimir Kondratyev */ -public class TodoConfiguration implements ApplicationComponent, JDOMExternalizable { +public class TodoConfiguration implements NamedComponent, JDOMExternalizable { private TodoPattern[] myTodoPatterns; private TodoFilter[] myTodoFilters; private IndexPattern[] myIndexPatterns; @@ -85,11 +85,6 @@ public class TodoConfiguration implements ApplicationComponent, JDOMExternalizab return "TodoConfiguration"; } - public void initComponent() { } - - public void disposeComponent() { - } - @NotNull public TodoPattern[] getTodoPatterns() { return myTodoPatterns; diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/InspectionProfileManager.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/InspectionProfileManager.java index a6bc47a3318f..ed0a4afd67a2 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/InspectionProfileManager.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/InspectionProfileManager.java @@ -24,7 +24,8 @@ import com.intellij.codeInspection.ex.InspectionToolRegistrar; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PathManager; -import com.intellij.openapi.components.ExportableApplicationComponent; +import com.intellij.openapi.components.ExportableComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.RoamingType; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.diagnostic.Logger; @@ -58,7 +59,8 @@ import java.util.concurrent.atomic.AtomicBoolean; * User: anna * Date: 29-Nov-2005 */ -public class InspectionProfileManager extends ApplicationProfileManager implements SeverityProvider, ExportableApplicationComponent, JDOMExternalizable { +public class InspectionProfileManager extends ApplicationProfileManager implements SeverityProvider, ExportableComponent, JDOMExternalizable, + NamedComponent { @NonNls private static final String PROFILE_NAME_TAG = "profile_name"; private final InspectionToolRegistrar myRegistrar; @@ -122,12 +124,6 @@ public class InspectionProfileManager extends ApplicationProfileManager implemen return new InspectionProfileImpl("Default"); } - public void initComponent() { - } - - public void disposeComponent() { - } - @NotNull public File[] getExportFiles() { return new File[]{getProfileDirectory()}; @@ -228,7 +224,6 @@ public class InspectionProfileManager extends ApplicationProfileManager implemen return "InspectionProfileManager"; } - public void updateProfile(Profile profile) { mySchemesManager.addNewScheme(profile, true); updateProfileImpl(profile); @@ -362,8 +357,5 @@ public class InspectionProfileManager extends ApplicationProfileManager implemen InspectionProjectProfileManager.getInstance(project).updateStatusBar(); } - - - } } diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleSchemesImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleSchemesImpl.java index bb7836455e4d..57b5c6dede44 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleSchemesImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleSchemesImpl.java @@ -17,8 +17,8 @@ package com.intellij.psi.impl.source.codeStyle; import com.intellij.openapi.application.PathManager; -import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.components.ExportableComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.RoamingType; import com.intellij.openapi.options.BaseSchemeProcessor; import com.intellij.openapi.options.SchemeProcessor; @@ -46,7 +46,7 @@ import java.util.Collection; * @author MYakovlev * Date: Jul 16, 2002 */ -public class CodeStyleSchemesImpl extends CodeStyleSchemes implements ExportableComponent, JDOMExternalizable, ApplicationComponent { +public class CodeStyleSchemesImpl extends CodeStyleSchemes implements ExportableComponent, JDOMExternalizable, NamedComponent { @NonNls private static final String DEFAULT_SCHEME_NAME = "Default"; public String CURRENT_SCHEME_NAME = DEFAULT_SCHEME_NAME; @@ -200,14 +200,6 @@ public class CodeStyleSchemesImpl extends CodeStyleSchemes implements Exportable return "CodeStyleSchemes"; } - @Override - public void initComponent() { - } - - @Override - public void disposeComponent() { - } - public SchemesManager getSchemesManager() { return mySchemesManager; } diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java index 3841f99a50c3..69118d145a58 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java @@ -94,12 +94,6 @@ public class InjectedLanguageManagerImpl extends InjectedLanguageManager { }); } - public void projectOpened() { - } - - public void projectClosed() { - } - public void psiManagerInjectorsChanged() { PsiManagerEx psiManager = (PsiManagerEx)PsiManager.getInstance(myProject); List injectors = psiManager.getLanguageInjectors(); @@ -318,18 +312,6 @@ public class InjectedLanguageManagerImpl extends InjectedLanguageManager { } } - @NonNls - @NotNull - public String getComponentName() { - return "InjectedLanguageManager"; - } - - public void initComponent() { - } - - public void disposeComponent() { - } - private static class PsiManagerRegisteredInjectorsAdapter implements MultiHostInjector { private final PsiManagerEx myPsiManager; diff --git a/platform/platform-api/src/com/intellij/openapi/components/BaseComponent.java b/platform/platform-api/src/com/intellij/openapi/components/BaseComponent.java index 2a7ec85d14ce..bf0d10e1b237 100644 --- a/platform/platform-api/src/com/intellij/openapi/components/BaseComponent.java +++ b/platform/platform-api/src/com/intellij/openapi/components/BaseComponent.java @@ -15,25 +15,13 @@ */ package com.intellij.openapi.components; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.NotNull; - /** * The base interface class for all components. * * @see ApplicationComponent * @see ProjectComponent */ -public interface BaseComponent { - /** - * Unique name of this component. If there is another component with the same name or - * name is null internal assertion will occur. - * - * @return the name of this component - */ - @NonNls @NotNull - String getComponentName(); - +public interface BaseComponent extends NamedComponent { /** * Component should do initialization and communication with another components in this method. */ diff --git a/platform/platform-api/src/com/intellij/openapi/components/NamedComponent.java b/platform/platform-api/src/com/intellij/openapi/components/NamedComponent.java new file mode 100644 index 000000000000..81a5aa123929 --- /dev/null +++ b/platform/platform-api/src/com/intellij/openapi/components/NamedComponent.java @@ -0,0 +1,16 @@ +package com.intellij.openapi.components; + +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; + +public interface NamedComponent { + /** + * Unique name of this component. If there is another component with the same name or + * name is null internal assertion will occur. + * + * @return the name of this component + */ + @NonNls + @NotNull + String getComponentName(); +} diff --git a/platform/platform-impl/src/com/intellij/diagnostic/ErrorReportConfigurable.java b/platform/platform-impl/src/com/intellij/diagnostic/ErrorReportConfigurable.java index 0260b3e7cee4..7d5688c9d1d8 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/ErrorReportConfigurable.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/ErrorReportConfigurable.java @@ -15,7 +15,7 @@ */ package com.intellij.diagnostic; -import com.intellij.openapi.components.ApplicationComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.util.DefaultJDOMExternalizer; import com.intellij.openapi.util.InvalidDataException; @@ -23,6 +23,7 @@ import com.intellij.openapi.util.JDOMExternalizable; import com.intellij.openapi.util.WriteExternalException; import org.apache.commons.codec.binary.Base64; import org.jdom.Element; +import org.jetbrains.annotations.NotNull; /** * Created by IntelliJ IDEA. @@ -31,7 +32,7 @@ import org.jdom.Element; * Time: 8:59:04 PM * To change this template use Options | File Templates. */ -public class ErrorReportConfigurable implements JDOMExternalizable, ApplicationComponent { +public class ErrorReportConfigurable implements JDOMExternalizable, NamedComponent { public String ITN_LOGIN = ""; public String ITN_PASSWORD_CRYPT = ""; public boolean KEEP_ITN_PASSWORD = false; @@ -57,15 +58,11 @@ public class ErrorReportConfigurable implements JDOMExternalizable, ApplicationC ITN_PASSWORD_CRYPT = itnPassword; } + @NotNull public String getComponentName() { return "ErrorReportConfigurable"; } - public void initComponent() { } - - public void disposeComponent() { - } - public String getPlainItnPassword () { return new String(new Base64().decode(ErrorReportConfigurable.getInstance().ITN_PASSWORD_CRYPT.getBytes())); } diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java index a2d6e5abdbc4..49869d0fe894 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java @@ -20,10 +20,7 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ex.ApplicationManagerEx; import com.intellij.openapi.application.impl.ApplicationInfoImpl; -import com.intellij.openapi.components.BaseComponent; -import com.intellij.openapi.components.ComponentConfig; -import com.intellij.openapi.components.ComponentManager; -import com.intellij.openapi.components.StateStorage; +import com.intellij.openapi.components.*; import com.intellij.openapi.components.ex.ComponentManagerEx; import com.intellij.openapi.components.impl.stores.IComponentStore; import com.intellij.openapi.diagnostic.Logger; @@ -231,7 +228,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements final ProgressIndicator indicator = progressManager != null ? progressManager.getProgressIndicator() : null; if (indicator != null) { - String name = component instanceof BaseComponent ? ((BaseComponent)component).getComponentName() : component.getClass().getName(); + String name = getComponentName(component); indicator.checkCanceled(); indicator.setText2(name); indicator.setIndeterminate(false); @@ -442,6 +439,15 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements return myDisposedCondition; } + public static String getComponentName(@NotNull final Object component) { + if (component instanceof NamedComponent) { + return ((NamedComponent)component).getComponentName(); + } + else { + return component.getClass().getName(); + } + } + private class ComponentsRegistry { private final Map myInterfaceToLockMap = new HashMap(); private final Map myInterfaceToClassMap = new HashMap(); diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java index 656a7b4d4d1a..c97e1e01ae19 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java @@ -31,6 +31,9 @@ import org.jetbrains.annotations.NotNull; import org.picocontainer.*; import org.picocontainer.defaults.ConstructorInjectionComponentAdapter; +import java.util.Arrays; +import java.util.List; + public class ServiceManagerImpl implements BaseComponent { private static final ExtensionPointName APP_SERVICES = new ExtensionPointName("com.intellij.applicationService"); private static final ExtensionPointName PROJECT_SERVICES = new ExtensionPointName("com.intellij.projectService"); @@ -75,6 +78,11 @@ public class ServiceManagerImpl implements BaseComponent { extensionPoint.addExtensionPointListener(myExtensionPointListener); } + public List getAllDescriptors() { + ServiceDescriptor[] extensions = Extensions.getExtensions(myExtensionPointName); + return Arrays.asList(extensions); + } + @NonNls @NotNull public String getComponentName() { diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java index 341d3d3caf24..53f000696561 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java @@ -18,29 +18,24 @@ package com.intellij.openapi.components.impl.stores; import com.intellij.diagnostic.IdeErrorsDialog; import com.intellij.diagnostic.PluginException; import com.intellij.ide.plugins.PluginManager; -import com.intellij.notification.*; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ex.ApplicationEx; import com.intellij.openapi.application.ex.ApplicationManagerEx; import com.intellij.openapi.components.*; +import com.intellij.openapi.components.impl.ComponentManagerImpl; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.project.Project; -import com.intellij.openapi.project.ex.ProjectEx; import com.intellij.openapi.util.*; -import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; import com.intellij.util.ReflectionCache; import com.intellij.util.ReflectionUtil; -import com.intellij.util.containers.ContainerUtil; import com.intellij.util.io.fs.IFile; -import net.sf.cglib.core.CollectionUtils; import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import javax.swing.event.HyperlinkEvent; import java.io.IOException; import java.lang.reflect.Type; import java.util.*; @@ -95,12 +90,12 @@ abstract class ComponentStoreImpl implements IComponentStore { }; final ApplicationEx applicationEx = ApplicationManagerEx.getApplicationEx(); - if (applicationEx.isUnitTestMode()) { - r.run(); - } - else { + //if (applicationEx.isUnitTestMode()) { + // r.run(); + //} + //else { applicationEx.runReadAction(r); - } + //} return componentName[0]; } @@ -167,14 +162,14 @@ abstract class ComponentStoreImpl implements IComponentStore { private static void commitJdomExternalizable(@NotNull final JDOMExternalizable component, @NotNull StateStorageManager.ExternalizationSession session) { - final String componentName = getComponentName(component); + final String componentName = ComponentManagerImpl.getComponentName(component); session.setStateInOldStorage(component, componentName, component); } @Nullable - String initJdomExternalizable(@NotNull JDOMExternalizable component) { - final String componentName = getComponentName(component); + private String initJdomExternalizable(@NotNull JDOMExternalizable component) { + final String componentName = ComponentManagerImpl.getComponentName(component); myComponents.put(componentName, component); @@ -182,11 +177,10 @@ abstract class ComponentStoreImpl implements IComponentStore { loadJdomDefaults(component, componentName); - Element element = null; StateStorage stateStorage = getOldStorage(component, componentName, StateStorageOperation.READ); if (stateStorage == null) return null; - element = getJdomState(component, componentName, stateStorage); + Element element = getJdomState(component, componentName, stateStorage); if (element == null) return null; @@ -205,15 +199,6 @@ abstract class ComponentStoreImpl implements IComponentStore { return componentName; } - private static String getComponentName(@NotNull final JDOMExternalizable component) { - if ((component instanceof BaseComponent)) { - return ((BaseComponent)component).getComponentName(); - } - else { - return component.getClass().getName(); - } - } - private void loadJdomDefaults(@NotNull final Object component, final String componentName) { try { StateStorage defaultsStorage = getDefaultsStorage(); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/colors/ex/DefaultColorSchemesManager.java b/platform/platform-impl/src/com/intellij/openapi/editor/colors/ex/DefaultColorSchemesManager.java index 9d77475906a5..8a913312883b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/colors/ex/DefaultColorSchemesManager.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/colors/ex/DefaultColorSchemesManager.java @@ -15,7 +15,7 @@ */ package com.intellij.openapi.editor.colors.ex; -import com.intellij.openapi.components.ApplicationComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.editor.colors.impl.DefaultColorsScheme; @@ -24,19 +24,20 @@ import com.intellij.openapi.util.JDOMExternalizable; import com.intellij.openapi.util.WriteExternalException; import org.jdom.Element; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; /** * @author max */ -public class DefaultColorSchemesManager implements ApplicationComponent, JDOMExternalizable { - private final ArrayList mySchemes; +public class DefaultColorSchemesManager implements JDOMExternalizable, NamedComponent { + private final List mySchemes; @NonNls private static final String SCHEME_ELEMENT = "scheme"; + @NotNull public String getComponentName() { return "DefaultColorSchemesManager"; } @@ -49,15 +50,10 @@ public class DefaultColorSchemesManager implements ApplicationComponent, JDOMExt return ServiceManager.getService(DefaultColorSchemesManager.class); } - public void initComponent() { } - - public void disposeComponent() { - } - public void readExternal(Element element) throws InvalidDataException { List schemes = element.getChildren(SCHEME_ELEMENT); - for (Iterator iterator = schemes.iterator(); iterator.hasNext();) { - Element schemeElement = (Element) iterator.next(); + for (Object scheme : schemes) { + Element schemeElement = (Element)scheme; DefaultColorsScheme newScheme = new DefaultColorsScheme(this); newScheme.readExternal(schemeElement); mySchemes.add(newScheme); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java index 2eddfd19ec01..bea719755edb 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java @@ -23,8 +23,8 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.application.ex.DecodeDefaultsUtil; -import com.intellij.openapi.components.BaseComponent; import com.intellij.openapi.components.ExportableComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.RoamingType; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.colors.*; @@ -43,9 +43,12 @@ import java.awt.*; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Map; -public class EditorColorsManagerImpl extends EditorColorsManager implements NamedJDOMExternalizable, ExportableComponent, BaseComponent { +public class EditorColorsManagerImpl extends EditorColorsManager implements NamedJDOMExternalizable, ExportableComponent, NamedComponent { private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.editor.colors.impl.EditorColorsManagerImpl"); private final EventDispatcher myListeners = EventDispatcher.create(EditorColorsListener.class); @@ -67,12 +70,12 @@ public class EditorColorsManagerImpl extends EditorColorsManager implements Name FILE_SPEC, new BaseSchemeProcessor() { public EditorColorsSchemeImpl readScheme(final Document document) - throws InvalidDataException, IOException, JDOMException { + throws InvalidDataException { return loadSchemeFromDocument(document, true); } - public Document writeScheme(final EditorColorsSchemeImpl scheme) throws WriteExternalException { + public Document writeScheme(final EditorColorsSchemeImpl scheme) { Element root = new Element(SCHEME_NODE_NAME); try { scheme.writeExternal(root); @@ -189,8 +192,8 @@ public class EditorColorsManagerImpl extends EditorColorsManager implements Name } } - private EditorColorsSchemeImpl loadScheme(@NotNull final String schemePath, - final BundledColorSchemesProvider provider) + private static EditorColorsSchemeImpl loadScheme(@NotNull final String schemePath, + final BundledColorSchemesProvider provider) throws IOException, JDOMException, InvalidDataException { final InputStream inputStream = DecodeDefaultsUtil.getDefaultsInputStream(provider, schemePath); if (inputStream == null) { @@ -211,8 +214,8 @@ public class EditorColorsManagerImpl extends EditorColorsManager implements Name return loadSchemeFromDocument(document, false); } - private EditorColorsSchemeImpl loadSchemeFromDocument(final Document document, - final boolean isEditable) + private static EditorColorsSchemeImpl loadSchemeFromDocument(final Document document, + final boolean isEditable) throws InvalidDataException { final Element root = document.getRootElement(); @@ -390,10 +393,4 @@ public class EditorColorsManagerImpl extends EditorColorsManager implements Name public String getComponentName() { return "EditorColorsManagerImpl"; } - - public void initComponent() { - } - - public void disposeComponent() { - } } diff --git a/platform/platform-resources/src/META-INF/XmlPlugin.xml b/platform/platform-resources/src/META-INF/XmlPlugin.xml index d08536d5be82..ea943d271326 100644 --- a/platform/platform-resources/src/META-INF/XmlPlugin.xml +++ b/platform/platform-resources/src/META-INF/XmlPlugin.xml @@ -105,9 +105,6 @@ - - myCvsRootToPasswordMap = new HashMap(); private final Map myCvsRootToStoringPasswordMap = new HashMap(); @@ -60,11 +60,6 @@ public class SSHPasswordProviderImpl implements ApplicationComponent, JDOMExtern return "SSHPasswordProvider"; } - public void initComponent() { } - - public void disposeComponent() { - } - @Nullable public String getPasswordForCvsRoot(String cvsRoot) { synchronized (myLock) { diff --git a/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/impl/CvsServicesImpl.java b/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/impl/CvsServicesImpl.java index 3726ebab2523..4b5e7adaa1cd 100644 --- a/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/impl/CvsServicesImpl.java +++ b/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/impl/CvsServicesImpl.java @@ -31,7 +31,6 @@ import com.intellij.cvsSupport2.cvsoperations.dateOrRevision.RevisionOrDate; import com.intellij.cvsSupport2.cvsoperations.dateOrRevision.RevisionOrDateImpl; import com.intellij.cvsSupport2.cvsoperations.dateOrRevision.SimpleRevision; import com.intellij.cvsSupport2.history.ComparableVcsRevisionOnOperation; -import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.cvsIntegration.CvsModule; import com.intellij.openapi.cvsIntegration.CvsRepository; import com.intellij.openapi.cvsIntegration.CvsResult; @@ -43,7 +42,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.AbstractVcsHelper; import com.intellij.openapi.vcs.vfs.VcsFileSystem; import com.intellij.openapi.vcs.vfs.VcsVirtualFile; -import org.jetbrains.annotations.NotNull; import org.netbeans.lib.cvsclient.command.KeywordSubstitution; import java.io.File; @@ -53,7 +51,7 @@ import java.util.List; /** * author: lesya */ -public class CvsServicesImpl extends CvsServices implements ApplicationComponent { +public class CvsServicesImpl extends CvsServices { private static final Logger LOG = Logger.getInstance("#com.intellij.cvsSupport2.impl.CvsServicesImpl"); @@ -83,7 +81,7 @@ public class CvsServicesImpl extends CvsServices implements ApplicationComponent return result; } - private ComparableVcsRevisionOnOperation createCvsVersionOn(CvsModule module, Project project) { + private static ComparableVcsRevisionOnOperation createCvsVersionOn(CvsModule module, Project project) { final CvsRootConfiguration rootConfiguration = CvsApplicationLevelConfiguration.getInstance() .getConfigurationForCvsRoot(module.getRepository() .getStringRepresentation()); @@ -109,16 +107,6 @@ public class CvsServicesImpl extends CvsServices implements ApplicationComponent .getScrambledPasswordForCvsRoot(cvsRoot); } - @NotNull - public String getComponentName() { - return "CvsServices"; - } - - public void initComponent() { } - - public void disposeComponent() { - } - public boolean saveRepository(CvsRepository repository) { CvsApplicationLevelConfiguration configuration = CvsApplicationLevelConfiguration.getInstance(); CvsRootConfiguration config = CvsRootConfiguration.createOn(repository); diff --git a/plugins/git4idea/src/git4idea/rebase/GitRebaseEditorService.java b/plugins/git4idea/src/git4idea/rebase/GitRebaseEditorService.java index 0dad3bf1a0ad..984d0c165288 100644 --- a/plugins/git4idea/src/git4idea/rebase/GitRebaseEditorService.java +++ b/plugins/git4idea/src/git4idea/rebase/GitRebaseEditorService.java @@ -16,17 +16,16 @@ package git4idea.rebase; import com.intellij.ide.XmlRpcServer; -import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.components.ServiceManager; import git4idea.commands.GitCommand; import git4idea.commands.GitHandler; import git4idea.commands.GitLineHandler; -import org.jetbrains.git4idea.util.ScriptGenerator; import gnu.trove.THashMap; import org.apache.commons.codec.DecoderException; import org.apache.xmlrpc.XmlRpcClientLite; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; +import org.jetbrains.git4idea.util.ScriptGenerator; import java.util.Map; import java.util.Random; @@ -34,7 +33,7 @@ import java.util.Random; /** * The service that generates editor script for */ -public class GitRebaseEditorService implements ApplicationComponent { +public class GitRebaseEditorService { /** * The editor command that is set to env variable */ @@ -58,7 +57,7 @@ public class GitRebaseEditorService implements ApplicationComponent { /** * Random number generator */ - private final static Random oursRandom = new Random(); + private static final Random oursRandom = new Random(); /** * If true, the component has been initialized */ @@ -92,28 +91,13 @@ public class GitRebaseEditorService implements ApplicationComponent { /** * {@inheritDoc} */ - @NotNull - public String getComponentName() { - return getClass().getSimpleName(); - } - - /** - * {@inheritDoc} - */ - public void initComponent() { + private void initComponent() { if (!myInitialized) { myXmlRpcServer.addHandler(GitRebaseEditorMain.HANDLER_NAME, new InternalHandler()); myInitialized = true; } } - /** - * {@inheritDoc} - */ - public void disposeComponent() { - myXmlRpcServer.removeHandler(GitRebaseEditorMain.HANDLER_NAME); - } - /** * Get editor command * diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/Properties.java b/plugins/ui-designer/src/com/intellij/uiDesigner/Properties.java index 89c0136d1a7e..0c0c84dfd175 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/Properties.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/Properties.java @@ -15,7 +15,7 @@ */ package com.intellij.uiDesigner; -import com.intellij.openapi.components.BaseComponent; +import com.intellij.openapi.components.NamedComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.util.JDOMExternalizable; @@ -37,7 +37,7 @@ import java.util.*; * @author Anton Katilin * @author Vladimir Kondratyev */ -public final class Properties implements BaseComponent, JDOMExternalizable{ +public final class Properties implements NamedComponent, JDOMExternalizable{ private final HashMap myClass2InplaceProperty; private final HashMap> myClass2ExpertProperties; private final Map> myClass2EnumProperties; @@ -179,10 +179,4 @@ public final class Properties implements BaseComponent, JDOMExternalizable{ public String getComponentName() { return "gui-designer-properties"; } - - public void initComponent() { - } - - public void disposeComponent() { - } } diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index 063df1355216..c732c03a543d 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -348,8 +348,6 @@ -