Bug 112856 - Bundles should be able to contribute extension point to other namespaces
diff --git a/bundles/org.eclipse.core.contenttype/src/org/eclipse/core/internal/content/ContentTypeBuilder.java b/bundles/org.eclipse.core.contenttype/src/org/eclipse/core/internal/content/ContentTypeBuilder.java
index f80f9e9..9c77ed1 100644
--- a/bundles/org.eclipse.core.contenttype/src/org/eclipse/core/internal/content/ContentTypeBuilder.java
+++ b/bundles/org.eclipse.core.contenttype/src/org/eclipse/core/internal/content/ContentTypeBuilder.java
@@ -121,7 +121,7 @@
* @throws CoreException if mandatory attributes are missing in the markup
*/
private ContentType createContentType(IConfigurationElement contentTypeCE) throws CoreException {
- String namespace = contentTypeCE.getNamespace();
+ String namespace = contentTypeCE.getContributor().getName();
String simpleId = contentTypeCE.getAttributeAsIs("id"); //$NON-NLS-1$
String name = contentTypeCE.getAttribute("name"); //$NON-NLS-1$
@@ -219,7 +219,7 @@
*/
private void registerFileAssociation(IConfigurationElement fileAssociationElement) {
//TODO: need to ensure the config. element is valid
- String contentTypeId = getUniqueId(fileAssociationElement.getNamespace(), fileAssociationElement.getAttribute("content-type")); //$NON-NLS-1$
+ String contentTypeId = getUniqueId(fileAssociationElement.getContributor().getName(), fileAssociationElement.getAttribute("content-type")); //$NON-NLS-1$
ContentType target = catalog.internalGetContentType(contentTypeId);
if (target == null)
return;
diff --git a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionHandle.java b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionHandle.java
index 0da14cb..2e3421f 100644
--- a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionHandle.java
+++ b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionHandle.java
@@ -21,12 +21,14 @@
*/
public class ExtensionHandle extends BaseExtensionHandle {
+ static final ExtensionHandle[] EMPTY_ARRAY = new ExtensionHandle[0];
+
public ExtensionHandle(IObjectManager objectManager, int id) {
super(objectManager, id);
}
public IPluginDescriptor getDeclaringPluginDescriptor() throws InvalidRegistryObjectException {
- String namespace = getNamespace();
+ String namespace = getContributor().getName();
IPluginDescriptor result = RegistryCompatibilityHelper.getPluginDescriptor(namespace);
if (result == null) {
Bundle underlyingBundle = BundleHelper.getDefault().getBundle(namespace);
diff --git a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionPointHandle.java b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionPointHandle.java
index b44ef45..2487cd2 100644
--- a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionPointHandle.java
+++ b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/internal/registry/ExtensionPointHandle.java
@@ -19,11 +19,13 @@
*/
public class ExtensionPointHandle extends BaseExtensionPointHandle {
+ static final ExtensionPointHandle[] EMPTY_ARRAY = new ExtensionPointHandle[0];
+
public ExtensionPointHandle(IObjectManager objectManager, int id) {
super(objectManager, id);
}
public IPluginDescriptor getDeclaringPluginDescriptor() {
- return RegistryCompatibilityHelper.getPluginDescriptor(getNamespace());
+ return RegistryCompatibilityHelper.getPluginDescriptor(getContributor().getName());
}
}
diff --git a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtension.java b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtension.java
index e8d77d3..4f66c75 100644
--- a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtension.java
+++ b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtension.java
@@ -61,10 +61,30 @@
* @throws InvalidRegistryObjectException if this extension is no longer valid
* @see IExtensionRegistry
* @since 3.0
+ *
+ * @deprecated As namespace is no longer restricted to the contributor name,
+ * use {@link #getNamespaceIdentifier()} to obtain namespace name or {@link #getContributor()}
+ * to get the name of the contributor of this registry element
*/
public String getNamespace() throws InvalidRegistryObjectException;
/**
+ * Returns the namespace name for this extension.
+ * @return the namespace name for this extension
+ * @throws InvalidRegistryObjectException if this extension is no longer valid
+ * @since org.eclipse.equinox.registry 3.2
+ */
+ public String getNamespaceIdentifier() throws InvalidRegistryObjectException;
+
+ /**
+ * Returns the contributor of the extension.
+ * @return the contributor for this extension
+ * @throws InvalidRegistryObjectException if this extension is no longer valid
+ * @since org.eclipse.equinox.registry 3.2
+ */
+ public IContributor getContributor() throws InvalidRegistryObjectException;
+
+ /**
* Returns the unique identifier of the extension point
* to which this extension should be contributed.
*
@@ -126,7 +146,7 @@
* @since 3.1
*/
public boolean isValid();
-
+
/**
* Returns the descriptor of the plug-in that declares this extension.
*
diff --git a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtensionPoint.java b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtensionPoint.java
index bc7286d..e773ec0 100644
--- a/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtensionPoint.java
+++ b/bundles/org.eclipse.core.runtime.compatibility.registry/src/org/eclipse/core/runtime/IExtensionPoint.java
@@ -62,10 +62,30 @@
* @throws InvalidRegistryObjectException if this extension point is no longer valid
* @see IExtensionRegistry
* @since 3.0
+ *
+ * @deprecated As namespace is no longer restricted to the contributor name,
+ * use {@link #getNamespaceIdentifier()} to obtain namespace name or {@link #getContributor()}
+ * to get the name of the contributor of this registry element
*/
public String getNamespace() throws InvalidRegistryObjectException;
/**
+ * Returns the namespace name for this extension point.
+ * @return the namespace name for this extension point
+ * @throws InvalidRegistryObjectException if this extension point is no longer valid
+ * @since org.eclipse.equinox.registry 3.2
+ */
+ public String getNamespaceIdentifier() throws InvalidRegistryObjectException;
+
+ /**
+ * Returns the contributor of the extension point.
+ * @return the contributor for this extension point
+ * @throws InvalidRegistryObjectException if this extension point is no longer valid
+ * @since org.eclipse.equinox.registry 3.2
+ */
+ public IContributor getContributor() throws InvalidRegistryObjectException;
+
+ /**
* Returns the extension with the given unique identifier configured into
* this extension point, or <code>null</code> if there is no such extension.
* Since an extension might not have an identifier, some extensions
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterFactoryProxy.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterFactoryProxy.java
index 342d7e8..e506d1b 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterFactoryProxy.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterFactoryProxy.java
@@ -104,7 +104,7 @@
synchronized (this) {
if (factory != null || factoryLoaded)
return factory;
- String bundleId = element.getNamespace();
+ String bundleId = element.getContributor().getName();
if (!force && Platform.getBundle(bundleId).getState() != Bundle.ACTIVE)
return null;
//set to true to prevent repeated attempts to load a broken factory
@@ -122,7 +122,7 @@
* The factory extension was malformed. Log an appropriate exception
*/
private void logError() {
- String msg = NLS.bind(Messages.adapters_badAdapterFactory, element.getNamespace());
+ String msg = NLS.bind(Messages.adapters_badAdapterFactory, element.getContributor().getName());
InternalPlatform.getDefault().log(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, null));
}
}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Product.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Product.java
index 58d5575..bd7eaec 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Product.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Product.java
@@ -47,7 +47,7 @@
if (key != null && value != null)
properties.put(key, value);
}
- definingBundle = Platform.getBundle(element.getNamespace());
+ definingBundle = Platform.getBundle(element.getContributor().getName());
}
public Bundle getDefiningBundle() {
diff --git a/tests/org.eclipse.core.tests.runtime/All Runtime Tests.launch b/tests/org.eclipse.core.tests.runtime/All Runtime Tests.launch
index f1893c7..46badd8 100644
--- a/tests/org.eclipse.core.tests.runtime/All Runtime Tests.launch
+++ b/tests/org.eclipse.core.tests.runtime/All Runtime Tests.launch
@@ -3,30 +3,33 @@
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<stringAttribute key="bootstrap" value=""/>
<booleanAttribute key="useProduct" value="false"/>
+<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.core.resources,org.eclipse.osgi.services,org.eclipse.core.filesystem,org.eclipse.core.tools.resources,org.eclipse.equinox.http,org.eclipse.osgi.tests,org.eclipse.update.scheduler,org.eclipse.core.tools,org.eclipse.equinox.metatype,org.eclipse.pde.build,org.eclipse.equinox.log,org.eclipse.equinox.device,org.eclipse.core.tests.resources,org.eclipse.test,org.eclipse.platform,org.eclipse.core.boot,org.eclipse.update.ui,org.eclipse.osgi.util,org.eclipse.equinox.useradmin,org.eclipse.equinox.supplement,org.eclipse.equinox.wireadmin,org.eclipse.equinox.event,org.eclipse.update.core,org.eclipse.core.resources.compatibility,org.eclipse.update.core.win32,org.eclipse.core.resources.spysupport,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.resources.win32"/>
<booleanAttribute key="tracing" value="false"/>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.core.commands,org.eclipse.core.expressions,org.eclipse.help,org.eclipse.jdt.junit.runtime,org.eclipse.jface,org.eclipse.pde.junit.runtime,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.ui,org.eclipse.ui.workbench,org.junit"/>
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="automaticValidate" value="false"/>
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
<booleanAttribute key="automaticAdd" value="true"/>
<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="includeFragments" value="false"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<stringAttribute key="location" value="c:\temp\runtime-test-workspace"/>
<stringAttribute key="configLocation" value=""/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
<booleanAttribute key="clearws" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.core.tests.runtime.AutomatedTests"/>
-<stringAttribute key="templateConfig" value=""/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="vmargs" value=""/>
+<stringAttribute key="pde.version" value="3.2a"/>
+<stringAttribute key="templateConfig" value="${workspace_loc:Configuration/config.ini}"/>
+<booleanAttribute key="default" value="false"/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="progargs" value=""/>
<booleanAttribute key="useDefaultConfig" value="true"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.core.tests.runtime"/>
<booleanAttribute key="askclear" value="false"/>
-<stringAttribute key="location0" value="c:\temp\runtime-test-workspace"/>
+<booleanAttribute key="includeOptional" value="true"/>
</launchConfiguration>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/registry/testNamespace/1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/registry/testNamespace/1/plugin.xml
new file mode 100644
index 0000000..a5bd665
--- /dev/null
+++ b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/registry/testNamespace/1/plugin.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin id="testNamespace1" name="TestNamespace Plug-in1" version="1.0.0" provider-name="">
+
+ <extension-point id="org.abc.xptNS1" name="Label xptNS1" schema="schema/xptNS1.exsd"/>
+
+ <extension point="org.abc.xptNS1" id="org.abc.extNS1">
+ </extension>
+
+</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/registry/testNamespace/2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/registry/testNamespace/2/plugin.xml
new file mode 100644
index 0000000..146c2f3
--- /dev/null
+++ b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/registry/testNamespace/2/plugin.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin id="testNamespace2" name="TestNamespace Plug-in2" version="1.0.0" provider-name="">
+
+ <extension-point id="org.abc.xptNS2" name="Label xptNS2" schema="schema/xptNS2.exsd"/>
+
+ <extension point="org.abc.xptNS2" id="org.abc.extNS2">
+ </extension>
+
+</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/AllTests.java
index 3015f59..242cd6f 100644
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/AllTests.java
+++ b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/AllTests.java
@@ -25,6 +25,7 @@
TestSuite suite = new TestSuite(AllTests.class.getName());
// suite.addTest(ExtensionRegistryDynamicTest.suite());
suite.addTest(ExtensionRegistryStaticTest.suite());
+ suite.addTest(NamespaceTest.suite());
suite.addTestSuite(StaleObjects.class);
return suite;
}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/ExtensionRegistryStaticTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/ExtensionRegistryStaticTest.java
index 6fc893d..1ef6977 100644
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/ExtensionRegistryStaticTest.java
+++ b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/ExtensionRegistryStaticTest.java
@@ -43,6 +43,8 @@
assertNotNull(Platform.getExtensionRegistry().getExtensionPoint("test" + name + ".xpt" + name));
assertEquals(Platform.getExtensionRegistry().getExtensionPoint("test" + name + ".xpt" + name).getLabel(), "Label xpt" + name);
assertEquals(Platform.getExtensionRegistry().getExtensionPoint("test" + name + ".xpt" + name).getNamespace(), "test" + name);
+ assertEquals(Platform.getExtensionRegistry().getExtensionPoint("test" + name + ".xpt" + name).getNamespaceIdentifier(), "test" + name);
+ assertEquals(Platform.getExtensionRegistry().getExtensionPoint("test" + name + ".xpt" + name).getContributor().getName(), "test" + name);
assertEquals(Platform.getExtensionRegistry().getExtensionPoint("test" + name + ".xpt" + name).getSchemaReference(), "schema/xpt" + name + ".exsd");
}
@@ -203,6 +205,8 @@
assertNotNull(Platform.getExtensionRegistry().getExtensionPoint("testG1.xptG2"));
assertEquals(Platform.getExtensionRegistry().getExtensionPoint("testG1.xptG2").getLabel(), "Label xptG2");
assertEquals(Platform.getExtensionRegistry().getExtensionPoint("testG1.xptG2").getNamespace(), "testG1");
+ assertEquals(Platform.getExtensionRegistry().getExtensionPoint("testG1.xptG2").getNamespaceIdentifier(), "testG1");
+ assertEquals(Platform.getExtensionRegistry().getExtensionPoint("testG1.xptG2").getContributor().getName(), "testG1");
assertEquals(Platform.getExtensionRegistry().getExtensionPoint("testG1.xptG2").getSchemaReference(), "schema/xptG2.exsd");
//Test the namespace
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/NamespaceTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/NamespaceTest.java
new file mode 100644
index 0000000..c19486f
--- /dev/null
+++ b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registry/NamespaceTest.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.core.tests.internal.registry;
+
+import java.io.IOException;
+import junit.framework.*;
+import org.eclipse.core.runtime.*;
+import org.eclipse.core.tests.harness.BundleTestingHelper;
+import org.eclipse.core.tests.runtime.RuntimeTestsPlugin;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+
+public class NamespaceTest extends TestCase {
+
+ public NamespaceTest(String name) {
+ super(name);
+ }
+
+ public void testNamespaceBasic() throws IOException, BundleException {
+ //test the addition of an extension point
+ Bundle bundle01 = BundleTestingHelper.installBundle("Plugin", RuntimeTestsPlugin.getContext(), RuntimeTestsPlugin.TEST_FILES_ROOT + "registry/testNamespace/1");
+ BundleTestingHelper.refreshPackages(RuntimeTestsPlugin.getContext(), new Bundle[] {bundle01});
+
+ // Extension point and extension should be present
+ IExtensionPoint extpt = Platform.getExtensionRegistry().getExtensionPoint("org.abc.xptNS1");
+ assertNotNull(extpt);
+ assertTrue(extpt.getNamespaceIdentifier().equals("org.abc"));
+ assertTrue(extpt.getContributor().getName().equals("testNamespace1"));
+ assertTrue(extpt.getSimpleIdentifier().equals("xptNS1"));
+ assertTrue(extpt.getUniqueIdentifier().equals("org.abc.xptNS1"));
+
+ IExtension ext = Platform.getExtensionRegistry().getExtension("org.abc.extNS1");
+ assertNotNull(ext);
+ assertTrue(ext.getNamespaceIdentifier().equals("org.abc"));
+ assertTrue(ext.getContributor().getName().equals("testNamespace1"));
+ assertTrue(ext.getSimpleIdentifier().equals("extNS1"));
+ assertTrue(ext.getUniqueIdentifier().equals("org.abc.extNS1"));
+
+ // Check linkage extension <-> extension point
+ assertTrue(ext.getExtensionPointUniqueIdentifier().equals(extpt.getUniqueIdentifier()));
+ IExtension[] extensions = extpt.getExtensions();
+ assertTrue(extensions.length == 1);
+ assertTrue(extensions[0].equals(ext));
+
+ // Exactly one extension and one extension point in the "org.abc" namespace
+ IExtensionPoint[] namespaceExtensionPoints = Platform.getExtensionRegistry().getExtensionPoints("org.abc");
+ assertTrue(namespaceExtensionPoints.length == 1);
+ assertTrue(namespaceExtensionPoints[0].equals(extpt));
+ IExtension[] namespaceExtensions = Platform.getExtensionRegistry().getExtensions("org.abc");
+ assertTrue(namespaceExtensions.length == 1);
+ assertTrue(namespaceExtensions[0].equals(ext));
+
+ // There should not be extension points or extensions in the default namespace
+ IExtensionPoint[] defaultExtensionPoints = Platform.getExtensionRegistry().getExtensionPoints("testNamespace1");
+ assertTrue(defaultExtensionPoints.length == 0);
+ IExtension[] defaultExtensions = Platform.getExtensionRegistry().getExtensions("testNamespace1");
+ assertTrue(defaultExtensions.length == 0);
+
+ // add another bundle
+ BundleTestingHelper.installBundle("Plugin", RuntimeTestsPlugin.getContext(), RuntimeTestsPlugin.TEST_FILES_ROOT + "registry/testNamespace/2");
+ BundleTestingHelper.refreshPackages(RuntimeTestsPlugin.getContext(), new Bundle[] {bundle01});
+
+ // remove the first bundle
+ bundle01.uninstall();
+ BundleTestingHelper.refreshPackages(RuntimeTestsPlugin.getContext(), new Bundle[] {bundle01});
+ }
+
+ public void testNamespaceDynamic() {
+
+ // all elements from the first bundle should be gone
+ IExtensionPoint extpt_removed = Platform.getExtensionRegistry().getExtensionPoint("org.abc.xptNS1");
+ assertNull(extpt_removed);
+ IExtension ext_removed = Platform.getExtensionRegistry().getExtension("org.abc.extNS1");
+ assertNull(ext_removed);
+
+ // all elements from the second bundle should still be present
+ IExtensionPoint extpt2 = Platform.getExtensionRegistry().getExtensionPoint("org.abc.xptNS2");
+ assertNotNull(extpt2);
+ IExtension ext2 = Platform.getExtensionRegistry().getExtension("org.abc.extNS2");
+ assertNotNull(ext2);
+
+ // Exactly one extension and one extension point in the "org.abc" namespace
+ IExtensionPoint[] namespaceExtensionPoints2 = Platform.getExtensionRegistry().getExtensionPoints("org.abc");
+ assertTrue(namespaceExtensionPoints2.length == 1);
+ assertTrue(namespaceExtensionPoints2[0].equals(extpt2));
+ IExtension[] namespaceExtensions2 = Platform.getExtensionRegistry().getExtensions("org.abc");
+ assertTrue(namespaceExtensions2.length == 1);
+ assertTrue(namespaceExtensions2[0].equals(ext2));
+ }
+
+ public static Test suite() {
+ //Order is important
+ TestSuite sameSession = new TestSuite(NamespaceTest.class.getName());
+ sameSession.addTest(new NamespaceTest("testNamespaceBasic"));
+ sameSession.addTest(new NamespaceTest("testNamespaceDynamic"));
+ return sameSession;
+ }
+}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
index d242616..e437238 100644
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
+++ b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
@@ -31,13 +31,20 @@
*/
public static Test suite() {
TestSuite suite = new TestSuite(AutomatedTests.class.getName());
+
+ // Moved to the top: bug 124867
+ suite.addTest(org.eclipse.core.tests.internal.runtime.AllTests.suite());
+
suite.addTest(org.eclipse.core.tests.runtime.AllTests.suite());
suite.addTest(org.eclipse.core.tests.runtime.compatibility.AllTests.suite());
suite.addTest(org.eclipse.core.tests.runtime.content.AllTests.suite());
suite.addTest(org.eclipse.core.tests.runtime.jobs.AllTests.suite());
suite.addTest(org.eclipse.core.tests.runtime.model.AllTests.suite());
suite.addTest(org.eclipse.core.tests.internal.preferences.AllTests.suite());
- suite.addTest(org.eclipse.core.tests.internal.runtime.AllTests.suite());
+
+ // Moved to the top: bug 124867
+ //suite.addTest(org.eclipse.core.tests.internal.runtime.AllTests.suite());
+
suite.addTest(org.eclipse.core.tests.internal.registry.AllTests.suite());
suite.addTest(org.eclipse.core.tests.runtime.session.AllTests.suite());
return suite;