diff options
| author | Alex Blewitt | 2020-06-05 16:38:16 +0000 |
|---|---|---|
| committer | Lars Vogel | 2020-06-07 14:52:27 +0000 |
| commit | 4a073b0b4bb233e84bac8d06f598dcf7c203f890 (patch) | |
| tree | ea940d08a29740bb15f13dfab878fae19d338eba | |
| parent | 45715cd7e52bdbee3a9e1e0c9521dc187d880a98 (diff) | |
| download | eclipse.platform.runtime-4a073b0b4bb233e84bac8d06f598dcf7c203f890.tar.gz eclipse.platform.runtime-4a073b0b4bb233e84bac8d06f598dcf7c203f890.tar.xz eclipse.platform.runtime-4a073b0b4bb233e84bac8d06f598dcf7c203f890.zip | |
Bug 563537 - Remove unnecessary activator in o.e.c.expressions
The activator in the expressions bundle is purely there for historic
reasons and can be removed safely with a few minor changes. This allows
other bundles that depend on the o.e.c.expressions bundle to start
faster.
Change-Id: Ia83b25a4b4c3c7498c4009c3972fbc299292f00f
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
11 files changed, 20 insertions, 78 deletions
diff --git a/bundles/org.eclipse.core.expressions/META-INF/MANIFEST.MF b/bundles/org.eclipse.core.expressions/META-INF/MANIFEST.MF index 3f2e5b70b..f2484a604 100644 --- a/bundles/org.eclipse.core.expressions/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.core.expressions/META-INF/MANIFEST.MF @@ -4,7 +4,6 @@ Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.core.expressions; singleton:=true Bundle-Version: 3.6.900.qualifier Bundle-ClassPath: . -Bundle-Activator: org.eclipse.core.internal.expressions.ExpressionPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: org.eclipse.core.expressions, diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ElementHandler.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ElementHandler.java index 5975bda05..b0332494f 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ElementHandler.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ElementHandler.java @@ -17,7 +17,6 @@ import org.w3c.dom.Element; import org.eclipse.core.internal.expressions.CompositeExpression; import org.eclipse.core.internal.expressions.ExpressionMessages; -import org.eclipse.core.internal.expressions.ExpressionPlugin; import org.eclipse.core.internal.expressions.StandardElementHandler; import org.eclipse.core.runtime.CoreException; @@ -80,7 +79,7 @@ public abstract class ElementHandler { * @since 3.3 */ public Expression create(ExpressionConverter converter, Element element) throws CoreException { - throw new CoreException(new Status(IStatus.ERROR, ExpressionPlugin.getPluginId(), + throw new CoreException(new Status(IStatus.ERROR, ElementHandler.class, IStatus.ERROR, ExpressionMessages.ElementHandler_unsupported_element, null)); diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ExpressionConverter.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ExpressionConverter.java index 7b8cfc5a0..9d299aa9d 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ExpressionConverter.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/ExpressionConverter.java @@ -18,7 +18,6 @@ import org.w3c.dom.Node; import org.eclipse.core.internal.expressions.CompositeExpression; import org.eclipse.core.internal.expressions.ExpressionMessages; -import org.eclipse.core.internal.expressions.ExpressionPlugin; import org.eclipse.core.internal.expressions.Messages; import org.eclipse.core.runtime.Assert; @@ -126,7 +125,7 @@ public final class ExpressionConverter { for (IConfigurationElement configElement : children) { Expression child= perform(configElement); if (child == null) - throw new CoreException(new Status(IStatus.ERROR, ExpressionPlugin.getPluginId(), + throw new CoreException(new Status(IStatus.ERROR, ExpressionConverter.class, IStatus.ERROR, Messages.format( ExpressionMessages.Expression_unknown_element, @@ -170,7 +169,7 @@ public final class ExpressionConverter { if (child.getNodeType() == Node.ELEMENT_NODE) { Expression exp= perform((Element)child); if (exp == null) - throw new CoreException(new Status(IStatus.ERROR, ExpressionPlugin.getPluginId(), + throw new CoreException(new Status(IStatus.ERROR, ExpressionConverter.class, IStatus.ERROR, Messages.format( ExpressionMessages.Expression_unknown_element, diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/AdaptExpression.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/AdaptExpression.java index b0cd0a8a8..56e1b3d92 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/AdaptExpression.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/AdaptExpression.java @@ -32,6 +32,8 @@ import org.eclipse.core.runtime.Platform; public class AdaptExpression extends CompositeExpression { + private static final String PREFERENCE_NAMESPACE = "org.eclipse.core.expressions"; //$NON-NLS-1$ + private static final String ATT_TYPE= "type"; //$NON-NLS-1$ /** @@ -119,7 +121,7 @@ public class AdaptExpression extends CompositeExpression { } private boolean forceLoadEnabled() { - return Platform.getPreferencesService().getBoolean(ExpressionPlugin.getPluginId(), "forceLoadAdapters", true, //$NON-NLS-1$ + return Platform.getPreferencesService().getBoolean(PREFERENCE_NAMESPACE, "forceLoadAdapters", true, //$NON-NLS-1$ null); } diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/ExpressionPlugin.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/ExpressionPlugin.java deleted file mode 100644 index 0966e586e..000000000 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/ExpressionPlugin.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.expressions; - -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleListener; - -import org.eclipse.core.runtime.Plugin; - -public class ExpressionPlugin extends Plugin { - - private static ExpressionPlugin fgDefault; - - static BundleListener fgBundleListener; - - private BundleContext fBundleContext; - - public ExpressionPlugin() { - fgDefault = this; - } - - public static ExpressionPlugin getDefault() { - return fgDefault; - } - - public static String getPluginId() { - return "org.eclipse.core.expressions"; //$NON-NLS-1$ - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - fBundleContext= context; - } - - @Override - public void stop(BundleContext context) throws Exception { - if (fgBundleListener != null) - context.removeBundleListener(fgBundleListener); - fgBundleListener= null; - super.stop(context); - } - - public BundleContext getBundleContext() { - return fBundleContext; - } -} diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/ExpressionStatus.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/ExpressionStatus.java index 35b87ab49..a3e6a3a7b 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/ExpressionStatus.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/ExpressionStatus.java @@ -93,6 +93,6 @@ public class ExpressionStatus extends Status { * @param exception a low-level exception, or <code>null</code> if not applicable */ public ExpressionStatus(int errorCode, String message, Throwable exception) { - super(IStatus.ERROR, ExpressionPlugin.getPluginId(), errorCode, message, exception); + super(IStatus.ERROR, ExpressionStatus.class, errorCode, message, exception); } } diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Expressions.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Expressions.java index 3ba6ab542..83e0d5a36 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Expressions.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Expressions.java @@ -26,6 +26,7 @@ import java.util.WeakHashMap; import org.osgi.framework.BundleContext; import org.osgi.framework.BundleEvent; import org.osgi.framework.BundleListener; +import org.osgi.framework.FrameworkUtil; import org.w3c.dom.Element; @@ -137,7 +138,7 @@ public class Expressions { if (fgKnownClasses == null) { fgKnownClasses= new WeakHashMap<>(); fgNotFoundClasses = new WeakHashMap<>(); - BundleContext bundleContext= ExpressionPlugin.getDefault().getBundleContext(); + BundleContext bundleContext = FrameworkUtil.getBundle(Expressions.class).getBundleContext(); BundleListener listener= (BundleEvent event) -> { // Invalidate the caches if any of the bundles is stopped if (event.getType() == BundleEvent.STOPPED) { @@ -147,7 +148,6 @@ public class Expressions { } } }; - ExpressionPlugin.fgBundleListener = listener; bundleContext.addBundleListener(listener); } } diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Property.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Property.java index ec8d40c67..d14b44756 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Property.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/Property.java @@ -65,7 +65,7 @@ public class Property { return fTester.test(receiver, fName, args, expectedValue); } catch (Exception e) { String message = "Error evaluating " + this; //$NON-NLS-1$ - throw new CoreException(new Status(IStatus.ERROR, ExpressionPlugin.getPluginId(), message, e)); + throw new CoreException(new Status(IStatus.ERROR, Property.class, message, e)); } } diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/PropertyTesterDescriptor.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/PropertyTesterDescriptor.java index 8be417719..f4888aef3 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/PropertyTesterDescriptor.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/PropertyTesterDescriptor.java @@ -38,7 +38,7 @@ public class PropertyTesterDescriptor implements IPropertyTester { fConfigElement= element; fNamespace= fConfigElement.getAttribute(NAMESPACE); if (fNamespace == null) { - throw new CoreException(new Status(IStatus.ERROR, ExpressionPlugin.getPluginId(), + throw new CoreException(new Status(IStatus.ERROR, PropertyTesterDescriptor.class, IStatus.ERROR, ExpressionMessages.PropertyTesterDescriptor_no_namespace, null)); @@ -46,7 +46,7 @@ public class PropertyTesterDescriptor implements IPropertyTester { StringBuilder buffer= new StringBuilder(","); //$NON-NLS-1$ String properties= element.getAttribute(PROPERTIES); if (properties == null) { - throw new CoreException(new Status(IStatus.ERROR, ExpressionPlugin.getPluginId(), + throw new CoreException(new Status(IStatus.ERROR, PropertyTesterDescriptor.class, IStatus.ERROR, ExpressionMessages.PropertyTesterDescritpri_no_properties, null)); diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/TypeExtensionManager.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/TypeExtensionManager.java index f5bfa6bd9..51ba182d7 100644 --- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/TypeExtensionManager.java +++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/internal/expressions/TypeExtensionManager.java @@ -31,6 +31,7 @@ import org.eclipse.core.runtime.Platform; public class TypeExtensionManager implements IRegistryChangeListener { + private static final String EXTENSION_NAMESPACE = "org.eclipse.core.expressions"; //$NON-NLS-1$ private String fExtensionPoint; /** @@ -167,8 +168,7 @@ public class TypeExtensionManager implements IRegistryChangeListener { fConfigurationElementMap= new HashMap<>(); IExtensionRegistry registry= Platform.getExtensionRegistry(); IConfigurationElement[] ces= registry.getConfigurationElementsFor( - ExpressionPlugin.getPluginId(), - fExtensionPoint); + EXTENSION_NAMESPACE, fExtensionPoint); for (IConfigurationElement config : ces) { String typeAttr= config.getAttribute(TYPE); List<IConfigurationElement> typeConfigs= fConfigurationElementMap.get(typeAttr); @@ -190,7 +190,7 @@ public class TypeExtensionManager implements IRegistryChangeListener { try { result[i]= new PropertyTesterDescriptor(config); } catch (CoreException e) { - ExpressionPlugin.getDefault().getLog().log(e.getStatus()); + Platform.getLog(TypeExtensionManager.class).log(e.getStatus()); result[i]= NULL_PROPERTY_TESTER; } } @@ -201,7 +201,7 @@ public class TypeExtensionManager implements IRegistryChangeListener { @Override public void registryChanged(IRegistryChangeEvent event) { - IExtensionDelta[] deltas= event.getExtensionDeltas(ExpressionPlugin.getPluginId(), fExtensionPoint); + IExtensionDelta[] deltas = event.getExtensionDeltas(EXTENSION_NAMESPACE, fExtensionPoint); if (deltas.length > 0) { initializeCaches(); } diff --git a/tests/org.eclipse.core.expressions.tests/src/org/eclipse/core/internal/expressions/tests/ExpressionTestsPluginUnloading.java b/tests/org.eclipse.core.expressions.tests/src/org/eclipse/core/internal/expressions/tests/ExpressionTestsPluginUnloading.java index 124413276..054fe982f 100644 --- a/tests/org.eclipse.core.expressions.tests/src/org/eclipse/core/internal/expressions/tests/ExpressionTestsPluginUnloading.java +++ b/tests/org.eclipse.core.expressions.tests/src/org/eclipse/core/internal/expressions/tests/ExpressionTestsPluginUnloading.java @@ -26,8 +26,8 @@ import org.junit.rules.TestName; import org.junit.runners.MethodSorters; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; -import org.eclipse.core.internal.expressions.ExpressionPlugin; import org.eclipse.core.internal.expressions.Expressions; @@ -47,7 +47,8 @@ public class ExpressionTestsPluginUnloading { public void test01PluginStopping() throws Exception { Bundle bundle= getBundle("com.ibm.icu"); - assertEquals(Bundle.STARTING, bundle.getState()); + int state = bundle.getState(); + assertTrue(state == Bundle.STARTING || state == Bundle.ACTIVE); doTestInstanceofICUDecimalFormat(bundle); assertEquals(Bundle.ACTIVE, bundle.getState()); @@ -103,7 +104,7 @@ public class ExpressionTestsPluginUnloading { } private static Bundle getBundle(String bundleName) { - BundleContext bundleContext= ExpressionPlugin.getDefault().getBundleContext(); + BundleContext bundleContext = FrameworkUtil.getBundle(ExpressionTestsPluginUnloading.class).getBundleContext(); Bundle[] bundles= bundleContext.getBundles(); for (Bundle bundle : bundles) { if (bundleName.equals(bundle.getSymbolicName())) { |
